이 게시물은 Oracle® WebLogic® Server 12c(12.1.2)에서 SSL을 구성하는 방법을 설명합니다.
개요
데이터와 정보의 보안은 오늘날의 세계에서 가장 중요한 관심사입니다. 다양한 응용 프로그램에서 네트워크를 통한 보안 통신을 위해 SSL(Secure Socket Layer) 프로토콜을 사용합니다. 실제로 가장 널리 사용되는 네트워크 통신 프로토콜 중 하나입니다.
SSL을 사용하도록 구성된 WebLogic Server는 신원 인증을 모두 제공합니다. 및전송 중 데이터 암호화 두 응용 프로그램 간의 연결을 위해. 따라서 SSL을 통해 서로 상호 작용하는 두 응용 프로그램은 다음과 같은 보안 연결 이점을 얻습니다.
- 개별 SSL 인증서를 사용하여 서로의 신원을 확인합니다.
- 두 응용 프로그램 간에 암호화된(전송 중) 데이터를 교환합니다.
SSL 연결 요청 및 응답 메커니즘은 인증에 관한 추가 데이터 및 정보 처리의 계산 오버헤드를 추가하고 복잡한 암호 알고리즘 처리가 필요합니다. 따라서 대부분의 사람들은 일반적으로 개발 모드에서 실행되는 Weblogic 서버 인스턴스에서 이를 사용하지 않습니다. 매우 안전한 네트워크 인프라 내에서. 그러나 SSL 구성은 프로덕션 모드에서 실행되는 Weblogic 서버 인스턴스에 매우 바람직합니다. .
구성 데모
이 게시물은 MYPROD_AdminServer에 사전 설치된 Weblogic 서버에서 SSL을 구성하는 단계를 다룹니다. 및 관리되는 서버 MYPROD_DOMAIN의 인스턴스 도메인노드 관리자.
이렇게 하려면 새로 서명된 인증서를 저장할 새 ID 키 저장소와 새 신뢰할 수 있는 키 저장소를 만듭니다. 따라서 WebLogic 관리자, 모든 관리 대상 서버 인스턴스 및 NodeManager는 사용자 지정 키 저장소를 기반으로 하는 SSL 프로토콜을 사용하여 통신합니다.
다음 단계를 사용하여 기존 WebLogic 서버 인스턴스에서 SSL을 구성하십시오.
1단계:ID 키 저장소 생성
다음 단계를 수행하여 ID 키 저장소 MYPRODIdentity.jks를 만듭니다. , myprodserver.mydomain.local 서버:
(a) WebLogic 애플리케이션 소유자 사용자로 WebLogic Server Linux® 서버 셸에 로그인합니다(예:Oracle
) 다음 코드를 실행하여 새 폴더
[oracle@myprodserver]$ mkdir -p /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores
(b) MYPROD_DOMAIN
설정 환경을 만들고 새 키 저장소를 만듭니다.
[oracle@myprodserver]$ cd /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/bin
[oracle@myprodserver]$ . ./setDomainEnv.sh
[oracle@myprodserver]$ cd keystores
[oracle@myprodserver]$ keytool -genkeypair -alias mywlsprodcert -keyalg RSA -keysize 1024 -dname "CN=*.mydomain.local,OU=<Organization>,O=<Company>,L=<City>,S=<State>,C=<US>" -keystore MYPRODIdentity.jks
Enter keystore password: <Type a new keyStorePass>
Re-enter new password: <Re-type the keyStorePass>
Enter key password for <mywlsprodcert> (RETURN if same as keystore password): <ENTER>
2단계:새 CSR 생성
MYPRODIdentity.jks를 사용하여 새 인증서 서명 요청(CSR)을 생성하려면 다음 단계를 수행하십시오. :
(a) keytool
을 사용하려면 다음 코드를 실행하십시오. CSR 생성 유틸리티:
[oracle@myprodserver]$ keytool -certreq -v -alias prodcert -file MYWLSPRODCert.csr -keystore MYPRODIdentity.jks
Enter keystore password: <KeyStorePass>
Certification request stored in file <MYWLSPRODCert.csr>
(b) 새로 생성된 인증서 서명 요청(CSR)을 인증 기관CA에 제출합니다. CSR에 서명한 후 CA는 디지털 인증서와 개인 키를 제공합니다.
참고 :이 데모에서는 WebLogic Demo CA(CertGenCA.der)를 사용하여 인증서에 서명합니다. 이 데모 자체 서명 기능은 WebLogic Server에서 사용할 수 있습니다. 프로덕션 환경에서는 조직에서 지정한 신뢰할 수 있는 CA에서 서명한 서버 인증서를 받아야 합니다.
3단계:CSR 자체 서명
WebLogic 데모 CA(CertGenCA.der)를 사용하여 CSR을 자체 서명하고 새로 생성된 ID 키 저장소로 가져오려면 다음 단계를 수행하십시오.
(a) 다음 코드를 실행하여 인증서를 자체 서명합니다.
[oracle@myprodserver]$ java utils.CertGen -keyfile MYPRODCertPrivateKey -keyfilepass password -certfile mywlsprodcert -cn "*.my.local"
Generating a certificate with wildcard *.domain.local and key strength 1024
/u01/Middlewaree/wlserver_12.1/server/lib/CertGenCA.der file and key from /u01/Middlewaree/wlserver_12.1/server/lib/CertGenCAKey.der file
[oracle@myprodserver]$
(b) 새로 만든 서버 인증서와 개인 키를 이전에 만든 키 저장소로 가져옵니다.
[oracle@myprodserver]$ java utils.ImportPrivateKey -keystore MYPRODIdentity.jks -keyfile MYPRODCertPrivateKey.pem -keyfilepass <password> -certfile MYPRODCert.pem -storepass <keyStorePass> -alias mywlsprodcert
4단계:키 저장소 생성
다음 단계를 수행하여 myprodserver.mydomain.local에 사용자 지정 신뢰 키 저장소를 만듭니다. 기계:
(a) MYPRODTrust.jks 생성 Standard Java Trust에서 사본을 만들어 키 저장소:
[oracle@myprodserver]$ cp /u01/java/jre/lib/security/cacerts
/u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores/MYPRODTrust.jks
(b) 기본 cacerts 변경 비밀번호. 기본값은 changeit
입니다. . 원하는 새 비밀번호로 업데이트:
[oracle@myprodserver]$ keytool -storepasswd -keystore MYPRODTrust.jks
Enter keystore password: <defaultKeyStorePass>
New keystore password: <NewKeyStorePass>
Re-enter new keystore password: <Re-type NewKeyStorePass>
(c) 새로 생성된 자체 서명 인증서를 최근 생성된 신뢰 키 저장소로 가져옵니다.
[oracle@myprodserver]$ keytool -import -v -trustcacerts -alias rootCA -file /u01/Middleware/wlserver_12.1/server/lib/CertGenCA.der -keystore MYPRODTrust.jks
5단계:도메인의 다른 모든 서버에 SSL 인증서 복사
특정 서버 이름 대신 와일드카드에 SSL 인증서를 기반으로 했기 때문에 MYPROD_DOMAIN의 모든 서버는 동일한 인증서를 사용할 수 있습니다.
따라서 이전에 생성한 키 저장소 디렉토리 /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores를 복사합니다. , MYPROD_DOMAIN에서 공유하는 모든 WebLogic Server에 필요한 인증서가 포함되어 있습니다. .
6단계:WebLogic 노드 관리자 구성
새로 생성된 SSL 인증서를 사용하도록 WebLogic Node Manager를 구성하려면 다음 단계를 수행하십시오.
(a) $WL_HOME/common/nodemanager/nodemanager.properties에서 다음 변수를 업데이트합니다. 파일:
KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=/u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores/MYPRODIdentity.jks
CustomIdentityKeyStorePassPhrase=<NewKeyStorePass>
CustomIdentityAlias=mywlsprodcert
CustomIdentityPrivateKeyPassPhrase=<PrivateKeyPassword>
(b) 노드 관리자를 종료하고 시작합니다.
7단계:WebLogic 관리 서버 구성
다음 단계를 수행하여 WebLogic Admin Server가 SSL 연결에 대한 새 사용자 정의 키 저장소 및 인증서를 사용하도록 구성하십시오.
(a) WebLogic 관리자 자격 증명을 사용하여 WebLogic Server 콘솔에 로그인합니다.
(b) 홈에서 페이지, 도메인 구성 –> 환경 아래 , 서버를 클릭합니다. , 다음 스크린샷과 같이:
(c) 서버 요약 페이지에서 AdminServer(관리자)를 클릭합니다. :
(d) 왼쪽 상단에서 변경 센터 –> 변경 사항 및 다시 시작 보기 , 잠금 및 수정을 클릭합니다. 키 저장소 규칙 설정을 업데이트합니다.
(e) AdminServer 설정에서 구성 아래 , 키 저장소를 클릭합니다. 탭을 누른 다음 변경을 클릭합니다. , 다음 이미지와 같이 SSL 연결을 위해 새로 생성된 사용자 지정 키 저장소를 사용하도록 WebLogic 관리 서버 규칙을 변경합니다.
(f) 사용자 지정 ID 및 사용자 지정 신뢰를 선택하여 키 저장소 규칙 업데이트 키 저장소에서 드롭다운 목록을 만들고 업데이트를 저장합니다.
(g) ./keystores/MYPRODIdentity.jks 업데이트 맞춤 ID 키 저장소에서 텍스트 상자.키스토어 비밀번호 업데이트 저장합니다.
(h) ./keystores/MYPRODTrust.jks 업데이트 맞춤 신뢰 키 저장소에서 텍스트 상자. 업데이트 keyStore 비밀번호 신뢰 저장합니다.
(i) 구성에서 SSL 탭을 엽니다. 상위 탭 및 다음 매개변수 업데이트:
(i) 비공개 키 별칭 업데이트 mywlsprodcert에 대한 매개변수 값 .(ii) 개인 키 암호 업데이트 개인 키 암호로.(iii) 고급 아래에서 메뉴에서 호스트 이름 확인 업데이트 값을 맞춤 호스트 이름 확인 도구로 다음 이미지와 같이 드롭다운 목록에서:
(iv) 맞춤 호스트 이름 검증 도구 업데이트 weblogic.security.utils.SSLWLSWildcardHostnameVerifier 값 .모든 서버(CN=*.mydomain.local)에 대해 단일 와일드카드 인증서를 사용하기 때문에 필수입니다. ).(v) 이 업데이트를 저장합니다.
(j) 구성 –> 일반으로 이동합니다. 탭을 클릭하고 SSL 수신 포트 활성화됨을 활성화합니다. 다음 이미지와 같이 확인란을 선택하여 옵션:
(k) WebLogic 관리 서버의 기본 SSL 포트는 7002
입니다. , 하지만 다른 포트에서도 SSL 서비스를 구성할 수 있습니다. 기본값 7002을 사용해야 합니다. 데모용이므로 SSL 수신 포트를 업데이트하세요. 7002로 다음 이미지와 같이 업데이트를 저장합니다.
8단계:WebLogic 관리 서버 구성
모든 WebLogic 관리 서버가 SSL 연결에 대한 새 사용자 지정 키 저장소 및 인증서를 사용하도록 구성하려면 7a - 7k 단계를 반복합니다. . WebLogic 관리 서버마다 다른 SSLport 값을 사용해야 합니다. 예를 들어 ManagedServer01: SSL port - 9001
을 사용합니다. ,ManagedServer02: SSL port - 9002
, ManagedServer03: SSL port - 9003
등이 있습니다.
9단계:구성 파일에 업데이트 적용
릴리스 구성을 클릭합니다. 왼쪽 상단 메뉴에서 WebLogic 구성 파일에 대한 모든 업데이트를 적용합니다.
10단계:WebLogic 다시 시작
Node Manager와 함께 WebLogic 관리자 및 모든 관리 대상 서버를 다시 시작합니다.
결론
이 게시물은 SSL 보안 프로토콜을 사용하여 웹사이트가 민감한 정보를 암호화된 형식으로 안전하게 전달할 수 있도록 WebLogic 서버를 구성하는 단계를 제공합니다. SSL 인증서와 RSA Data Security의 암호화 메커니즘을 사용하여 사용자는 안전한 방식으로 데이터와 정보를 교환하고 처리할 수 있습니다.
이 문서를 사용하여 관리 서버와 관리 서버 모두에서 SSL을 활성화했기 때문에 데이터와 WebLogic 서버 모두 사이버 공격 및 데이터 유출로부터 안전합니다.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 영업 채팅을 클릭할 수도 있습니다. 지금 채팅하고 대화를 시작하세요.