Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

전송 계층 보안 소개

이 블로그에서는 TLS(전송 계층 보안)를 소개하고 SSL(보안 소켓 계층)과 어떻게 다른지 설명합니다. 또한 Oracle® E-Business Suite®(EBS) R12에서 TLS를 활성화하기 위한 필수 단계별 지침이 포함되어 있습니다.

TLS란 무엇입니까?

TLS는 SSL의 업그레이드된 버전이며 클라이언트와 서버 간의 보안 통신을 제공합니다. TLS는 대칭 암호화 알고리즘을 사용하여 데이터를 암호화하므로 SSL을 사용하는 전송보다 데이터 전송이 더 안전하고 안정적입니다.

EBS에서 TLS를 사용해야 하는 이유

아시다시피 EBS는 인바운드, 아웃바운드 및 루프백 연결을 사용하고 비즈니스 크리티컬 정보를 EBS 사용자와 공유합니다. 따라서 데이터 도난, 데이터 변조 및 메시지 위조의 가능성이 더 높아집니다. 그러나 EBS에서 TLS를 활성화하면 이러한 모든 문제를 피할 수 있습니다.

다음 이미지는 EBS의 연결 흐름을 보여줍니다.

전송 계층 보안 소개

이미지 출처:Oracle E-Business Suite 릴리스 12.1에서 TLS 활성화(문서 ID 376700.1)

EBS로 TLS 구현

EBS에서 TLS를 활성화하려면 다음 작업을 수행하십시오.

  • 자바 개발 키트(JDK®) 및 웹 홈을 업그레이드합니다.
  • 필수 패치를 적용합니다.
  • OpenSSL®을 구성합니다.
  • .csr 생성 파일.
  • 인증 기관(CA)에서 인증된 .csr 파일을 가져옵니다.
  • 인증서를 다운로드하여 EBS로 가져옵니다.
  • 구성을 변경합니다.
  • 자동 구성을 실행합니다.
  • URL을 확인합니다.

1. JDK 및 웹 홈 업그레이드

JDK 7 이상으로 업그레이드하고 Web Home을 버전 10.1.3.5로 업그레이드하십시오.

2. 필수 패치 적용

다음 패치(또는 가장 최근에 릴리스된 패치)를 설치하십시오.

  • 오라클 오패치(6880880)
  • Oracle 중요 패치 업데이트(CPU)
  • 오라클 HTTP 서버(OHS)(27078378)
  • 오라클 프로세스 관리자 및 알림 서버(OPMN)(27208670)
  • EBS(22724663, 22922530, 22974534)

3. OpenSSL 구성

다음 명령을 실행하여 OpenSSL 구성 파일을 만듭니다.

cd $INST_TOP/certs/Apache
mkdir WildcardCert
cd $INST_TOP/certs/Apache/WildcardCert

다음 new.cnf를 만듭니다. OpenSSL에 대한 응답 파일로 사용할 파일:

cat new.cnf
[req]
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = ext
[dn]
CN = *. corp.aspentech.com
O = Aspen Technology Inc
OU = IT
L = Bedford
ST = Masachett
C = US
[ext]
subjectAltName = DNS:*. corp.aspentech.com

4. .csr 파일 생성

.csr을 생성하려면 다음 단계를 따르세요. 파일:

  1. 다음 명령을 실행하여 .csr 파일을 생성합니다.

     $ openssl req -newkey rsa:2048 -nodes -keyout server.key -sha256 -out new.csr -config new.cnf
      Generating a 2048 bit RSA private key
      ......................................+++
      ........................................................................................+++
      writing new private key to 'server.key'
    
  2. .csr 확인 https://www.sslshopper.com/csr-decoder.html에서

  3. 정보가 정확하면 .csr을 전송합니다. CA에.

5. CA에서 인증서 받기

CA는 서버 인증서와 인증서 체인 파일을 보내야 합니다.

6. 인증서 파일 다운로드 및 가져오기

CA에서 서버 인증서 및 인증서 체인 파일을 받은 후 다음 단계를 수행하십시오.

파일 다운로드

아카이브 파일을 데스크탑에 다운로드하고 아카이브를 새 폴더에 압축을 풀고 지갑을 만듭니다. 다음 이미지와 같이 두 개의 파일이 표시되어야 합니다.

전송 계층 보안 소개

a2e로 시작하는 파일 기본 파일이며 gd로 시작하는 파일입니다. 중간 파일입니다.

기본 파일을 열고 루트를 저장합니다. (또는 기본) 인증서를 .crt 파일. 마찬가지로 중간 파일을 열고 .crt로도 저장합니다. 파일. 모든 파일을 서버에 업로드합니다.

아파치 디렉토리 생성

다음 명령을 실행하여 Apache® 디렉터리를 생성합니다. Apache 디렉토리가 이미 존재하는 경우 이전 Apache 디렉토리를 먼저 백업하십시오.

cd $INST_TOP/certs/
mkdir Apache
지갑 디렉토리 생성

다음 명령을 실행하여 애플리케이션 노드에 빈 지갑 디렉토리를 생성하십시오:

orapki wallet create -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -pwd WalletPasswd123 -auto_login

위의 명령은 ewallet.p12를 생성합니다. 및 cwallet.sso 지갑 폴더 내의 파일(/u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache ).

인증서 복사

다음 명령을 실행하여 루트, 서버, 중간 순서로 인증서를 가져옵니다.

orapki wallet add -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -trusted_cert -cert  "/home/appti1/ITK1054693/root.crt" -pwd WalletPasswd123

orapki wallet add -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -trusted_cert -cert  "/home/appti1/ITK1054693/server.crt" -pwd WalletPasswd123

orapki wallet add -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -trusted_cert -cert  "/home/appti1/ITK1054693/intermediate.crt " -pwd WalletPasswd123
b64InternetCertificate.txt 생성

ca.crt의 콘텐츠를 추가하려면 다음 단계를 수행하십시오. b64InternetCertificate.txt로 :

  1. 버전 10.1.2 ORACLE_HOME/sysman/config/으로 이동합니다. .

  2. 다음 명령을 실행하십시오.

     Cat root.crt >> b64InternetCertificate.txt
    
OPMN에 지갑 복사

지갑을 OPMN에 복사하려면 다음 단계를 수행하십시오.

  1. $INST_TOP/certs/opmn으로 이동 디렉토리.
  2. BAK라는 새 디렉토리 만들기 .
  3. ewallet.p12 이동 및 cwallet.sso $INST_TOP/certs/Apache에서 구워 .
  4. ewallet.p12 복사 및 cwallet.sso BAK에서 $INST_TOP/certs/opmn으로 .

결과는 다음 예와 유사해야 합니다.

[appti1@nchlatiebsa01 opmn]$ pwd
/u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/opmn
[appti1@nchlatiebsa01 opmn]$ ls -ltr
drwxrwxr-x 2 appti1 appti1 4096 Nov 17 05:34 BAK
-rw------- 1 appti1 appti1 3993 Nov 20 00:05 cwallet.sso
-rw------- 1 appti1 appti1 3965 Nov 20 00:05 ewallet.p12
[appti1@nchlatiebsa01 opmn]$
cacerts 파일 업데이트

JDK cacerts를 업데이트하려면 다음 단계를 수행하십시오. 파일:

  1. $OA_JRE_TOP/lib/security로 이동합니다. .

  2. 기존 cacerts 백업 파일.

  3. root.crt 복사 및 server.crt 이 디렉토리로 이동하고 다음 명령을 실행하여 cacerts 쓰기 권한이 있습니다:

    $ chmod u+w cacerts
    
  4. 다음 명령을 실행하여 Apache ca.crt를 추가합니다. 및 server.crt cacerts에 :

    $ keytool -import -alias ApacheRootCA -file root.crt -trustcacerts -v -keystore cacerts
    $ keytool -import -alias ApacheServer -file server.crt -trustcacerts -v -keystore cacerts
    
  5. 메시지가 표시되면 키 저장소 암호를 입력합니다. 기본 비밀번호는 changeit입니다. .

매개변수 업데이트

XML 파일에서 TLS 관련 매개변수를 다음과 같이 변경합니다.

전송 계층 보안 소개

종단 간 TLS를 사용하는 경우 다음과 같이 변경합니다.

전송 계층 보안 소개

7. 구성 변경

파일을 다음과 같이 변경합니다.

(사용자 지정 폴더에 파일이 없으면 사용자 지정 폴더를 만들고 파일을 복사합니다.)

FND_TOP의 경우>/admin/template/custom/opmn_xml_1013.tmp:

템플릿에서 다음 줄을 교체하십시오.

  <ssl enabled="true" wallet-file="%s_web_ssl_directory%/opmn"/>

다음 교체 라인 포함:

 <ssl enabled="true" openssl-certfile="%s_web_ssl_directory%/Apache/opmn.crt" openssl-keyfile="%s_web_ssl_directory%/Apache/server.key" openssl-password="dummy" openssl-lib="%s_weboh_oh%/lib" ssl-versions="TLSv1.0,TLSv1.1,TLSv1.2" ssl-ciphers="AES128-SHA,AES256-SHA"/>
FND_TOP의 경우>/admin/template/custom/httpd_conf_1013.tmp:

다음 섹션을 수정하십시오.

<IfDefine SSL>
   LoadModule ossl_module libexec/mod_ossl.so
</IfDefine>

다음으로:

 <IfDefine SSL>
    #LoadModule ossl_module libexec/mod_ossl.so
    LoadModule ssl_module libexec/mod_ssl.so
 </IfDefine>
FND_TOP의 경우>/admin/template/custom/ssl_conf_1013.tmp:

템플릿에서 다음 줄을 주석 처리:

#SSLWallet file:%s_web_ssl_directory%/Apache

템플릿에 다음 줄을 추가합니다.

SSLCertificateFile %s_web_ssl_directory%/Apache/server.crt
SSLCertificateKeyFile %s_web_ssl_directory%/Apache/server.key
SSLCertificateChainFile %s_web_ssl_directory%/Apache/intermediate.crt

다음 줄을 교체하십시오.

SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM

다음 교체 라인 포함:

SSLCipherSuite HIGH:MEDIUM:!aNULL:!RC4:!3DES:!SEED:!IDEA:!CAMELLIA:+HIGH:+MEDIUM

다음 줄을 교체하십시오.

SSLProtocol    -all +TLSv1 +SSLv3

다음 교체 라인 포함:

SSLProtocol all -SSLv2 -SSLv3
다음 파일의 경우:
  • /admin/template/custom/oc4j_properties_1013.tmp
  • /admin/template/custom/oafm_oc4j_properties_1013.tmp
  • /admin/template/custom/forms_oc4j_properties_1013.tmp

/admin/template에서 원본 파일을 복사합니다. /admin/template/custom으로 , 사용자 정의 디렉토리 또는 사용자 정의 템플릿 파일이 이미 존재하지 않는 경우

다음 행을 추가하여 이러한 사용자 정의 파일을 업데이트하십시오.

 https.protocols=TLSv1,TLSv1.1,TLSv1.2

8. 자동 구성 실행

adautocfg.sh 실행 애플리케이션 계층 $ADMIN_SCRIPTS_HOME 디렉토리.

9. 최종 확인 수행

다음 예와 같은 URL을 확인합니다.

SQL> select home_url from icx_parameters;
HOME_URL
--------------------------------------------------------------------------------
https://ebstest1.corp.aspentech.com:4443/OA_HTML/AppsLogin

결론

EBS를 사용하고 중요한 데이터를 전송할 계획이라면 서버와 클라이언트 간에 인터넷 기반 통신이 발생하는 안전한 방법을 제공하기 위해 EBS와 TLS를 활성화해야 합니다. 이것은 통신 중에 누구도 데이터를 변조하거나 해킹하지 못하도록 합니다.

피드백 탭을 사용하여 의견을 남기거나 질문하십시오.

데이터베이스 서비스에 대해 자세히 알아보십시오.

우리는 Oracle 제품의 전문가이므로 Rackspace를 통해 Oracle 투자를 극대화할 수 있습니다.