SSL의 클라이언트 서명자 검색을 위한 보안 설치

WebSphere® Application Server 환경의 각 프로파일은 프로파일이 작성될 때 작성된 고유의 수명이 긴 루트 인증으로 서명된 고유의 체인된 인증을 포함합니다. 이 인증은 버전 6.1 이전의 릴리스에서 제공하는 기본 더미 인증과 WebSphere Application Server 버전 6.1과 함께 제공되는 기본 자체 서명된 인증을 바꿉니다. 프로파일이 배치 관리자에 연합되면, 루트 서명 인증에 대한 서명자는 해당 루트 인증으로 서명된 모든 인증에 대한 신뢰를 설정하는 셀에 대한 공통 신뢰 저장소에 추가됩니다.

우수 사례 우수 사례: 프로덕션 환경에서는 이 주제에서 참조하는 더미 키 저장소 및 신뢰 저장소 파일을 사용하지 마십시오. 이러한 파일에는 동일한 인증서가 있되며 보안이 없는 어느 곳에서나 사용됩니다. 또한 WebAS 기본 비밀번호를 사용하지 않도록 키 저장소 및 신뢰 저장소의 비밀번호를 변경하십시오. bprac

기본적으로, WebSphere Application Server 환경에서 클라이언트는 다른 프로파일의 서버를 신뢰하지 않습니다. 즉, 이러한 서버에 대한 루트 서명자를 포함하지 않습니다. 이 신뢰 확립을 지원하기 위해 수행할 수 있는 몇 가지 사항이 있습니다.

  1. 연결 시도 중 서명자를 승인한 서명자 교환 프롬프트를 사용 가능하게 하십시오.
  2. 연결하기 전에 retrieveSigners 유틸리티를 실행하여 이 시스템에서 서명자를 다운로드하십시오.
  3. trust.p12 파일을 서버 프로파일의 /config/cells/<cell_name>/nodes/<node_name> 디렉토리에서 클라이언트의 /etc 디렉토리로 복사하십시오. 새 파일 이름 및 비밀번호를 반영하도록(이름과 비밀번호가 다른 경우) SSL 구성을 업데이트하십시오. 파일을 복사하면 해당 셀의 서버에서 모든 서명자를 포함하는 trust.p12가 클라이언트에 제공됩니다. 여전히 DummyClientTrustFile.jks 파일을 사용 중인 백레벨 클라이언트에 대해 이 단계를 수행해야 할 수도 있습니다. 이 경우 새 신뢰 저장소, 신뢰 저장소 비밀번호 및 신뢰 저장소 유형(PKCS12)을 반영하도록 sas.client.props 또는 soap.client.props 파일을 변경할 필요가 있습니다.
클라이언트가 대역 내 서명자 교환을 수행하려면 ssl.client.props 파일을 SSL 구성의 com.ibm.SSL.ConfigURL 특성으로 지정해야 합니다. 관리 클라이언트의 경우에는 자동으로 지정됩니다. 서명자는 연결 중 대역 내로 또는 런타임 중 대역 외로 지정됩니다. 또한 com.ibm.ssl.enableSignerExchangePrompt 속성을 true로 설정해야 합니다.
팁: 특정 인증 모니터를 구성하여 곧 만기될 서버 인증을 바꿀 수 있습니다. 클라이언트가 구성에서 새 서명자를 검색할 수 있는 방법에 대한 자세한 정보는 SSL에서 인증서 만기 모니터링을 참조하십시오.

서명자 교환 프롬프트를 사용하여 클라이언트에서 서명자 검색

클라이언트가 프로세스에 연결할 서명자를 아직 가지고 있지 않을 때에는 서명자 교환 프롬프트를 사용할 수 있습니다. 서명자 교환 프롬프트는 각각의 고유 인증 및 노드에 대해 한 번 표시됩니다. 노드에 대한 서명자가 추가된 후 서명자는 클라이언트 신뢰 저장소에 남습니다. 다음 샘플 코드는 클라이언트에서 서명자를 검색하는 서명자 교환 프롬프트를 표시합니다. [AIX Solaris HP-UX Linux Windows][z/OS]
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\serverStatus -all ADMU0116I: Tool information is being logged in file
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\logs\serverStatus.log ADMU0128I: Starting tool with the 
AppSrv01 profile ADMU0503I:
Retrieving server status for all servers ADMU0505I: Servers found in configuration: 
ADMU0506I: Server name: dmgr
*** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5 is not found in truststore
C:\WebSphere\AppServer\profiles\AppSrv01\etc\trust.p12.

Here is the signer information (verify the digest value matches what is  displayed at the server):
Subject DN:    CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN:     CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, 
O=IBM, C=US
Serial number: 2510775664686266 Expires:       Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest:  2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN:  CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Add signer to the truststore now? (y/n) y A retry of the request may need to occur. ADMU0508I:
The Deployment Manager "dmgr" is STARTED
[IBM i]
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin/serverStatus -all ADMU0116I:
Tool information is being logged in file
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/logs/serverStatus.log ADMU0128I:
Starting tool with the dmgr profile ADMU0503I:
Retrieving server status for all servers ADMU0505I: Servers found in configuration: 
ADMU0506I: Server name:
dmgr  *** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5 is 
not found in truststore
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12.
Here is the signer information (verify the digest value matches what is  displayed at the server):
Subject DN:    CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN:     CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01, 
O=IBM, C=US
Serial number: 2510775664686266 Expires:       Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest:  2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest:    04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D 

Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN:  CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3

MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Add signer to the truststore now? (y/n) y A retry of the request may need to occur. ADMU0508I:
The Deployment Manager "dmgr" is STARTED
[IBM i]
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/bin/serverStatus -all ADMU0116I:
Tool information is being logged in file
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/logs/serverStatus.log ADMU0128I:
Starting tool with the default profile ADMU0503I: Retrieving server status for all servers 
ADMU0505I: Servers found in
configuration: ADMU0506I: Server name: server1
*** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5 
is not found in truststore
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/etc/trust.p12.  
Here is the signer information
(verify the digest value matches what is  displayed at the server):
Subject DN:    CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, 
O=IBM, C=US Issuer DN:
CN=myhost.austin.ibm.com, O=IBM, C=US
Serial number: 2510775664686266 Expires:       Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest:  2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN:  CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D

Add signer to the truststore now? (y/n) y A retry of the request may need to occur.
ADMU0508I: The Application Manager "server1" is STARTED
이 프로세스를 자동화하려면 retrieveSigners 명령을 사용하십시오.

서명자를 허용하기 위해 프롬프트가 발생하면 소켓 제한시간이 발생하고 연결이 끊어질 수 있습니다. 이러한 이유로 프롬프트에 답변한 후 A retry of the request may need to occur. 메시지가 표시됩니다. 이 메시지는 사용자에게 요청을 다시 제출하도록 알립니다. 이 문제점은 자주 발생하면 안되며 일부 프로토콜의 경우 다른 것에 비해 보다 일반적일 수 있습니다.

프롬프트 응답을 기다리는 동안 소켓의 제한시간이 초과될 경우 요청 재시도가 발생해야 할 수 있습니다. 재시도해야 하는 경우, 서명자가 이미 신뢰 저장소에 추가되었음을 나타내는 (y)가 입력되면 프롬프트가 다시 표시되지 않습니다.

서버가 전송하는 인증의 서명자인 표시된 SHA-1 요약을 확인하십시오. 서버의 인증을 보는 경우 동일한 SHA-1 요약이 표시되는지 확인하십시오.

프롬프트를 표시하지 않으려면 retrieveSigners 유틸리티를 사용하여 특정 셀에 대한 모든 서명자를 검색해서 프롬프트를 사용 불가능하게 할 수 있습니다. 이 클라이언트 스크립트로 공통 신뢰 저장소를 참조해서 원격 키 저장소로부터 로컬 키 저장소로 서명자를 다운로드 또는 업로드할 수 있습니다. 자세한 정보는 SSL의 체인 형식으로 연결된 기본 인증서 구성을 참조하십시오.

retrieveSigners 유틸리티를 사용하여 클라이언트에 대한 서명자 다운로드

retrieveSigners 유틸리티를 사용하여 지정된 클라이언트 키 저장소에 대한 원격 키 저장소에서 모든 서명자를 검색할 수 있습니다.

참조할 일반 원격 키 저장소는 CellDefaultTrustStore입니다.

신뢰 저장소는 클라이언트가 프로세스에 연결할 수 있도록 하는 서명자를 포함합니다. retrieveSigners 유틸리티는 대상 프로세스의 범위 내에서 대상 구성의 키 저장소를 가리키고 서명자(인증 항목만)를 ssl.client.props 파일의 클라이언트 키 저장소로 다운로드할 수 있습니다.
다음 샘플 코드는 배치 관리자 환경의 retrieveSigners 유틸리티를 보여줍니다. [AIX Solaris HP-UX Linux Windows][z/OS]
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\retrieveSigners.bat CellDefaultTrustStore 
ClientDefaultTrustStore -autoAcceptBootstrapSigner  CWPKI0308I: Adding signer alias 
"CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following SHA
digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA  CWPKI0308I: 
Adding signer alias "default" to
local keystore "ClientDefaultTrustStore" with the following SHA digest:
40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:92:9E:37:8D:51:A5:47
[IBM i]
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin retrieveSigners CellDefaultTrustStore
ClientDefaultTrustStore -autoAcceptBootstrapSigner  CWPKI0308I: Adding signer alias "CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following
SHA digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA  CWPKI0308I: Adding signer alias 
"default" to local keystore
"ClientDefaultTrustStore" with the following SHA digest: 40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:
92:9E:37:8D:51:A5:47
WebSphere Application Server가 관리 연결을 위한 서명자를 자동으로 검색 및 승인하도록 하려면 –autoAcceptBootstrapSigner 옵션을 사용하십시오. SHA-1 요약은 서명자가 추가되는 동안 인쇄되므로 조작이 완료된 후에 요약을 확인할 수 있습니다.

이전 릴리스에서 클라이언트 및 서버에 대한 서명자 얻기

참고: 버전 7.0 이전 릴리스에서 클라이언트가 현재 릴리스에 연결하는 경우, 성공적인 핸드쉐이크를 위해 클라이언트가 서명자를 얻어야 합니다. WebSphere Application Server의 이전 릴리스를 사용하는 클라이언트는 현재 릴리스에서만큼 쉽게 서명자를 얻을 수 없습니다. 배치 관리자 공통 신뢰 저장소를 백레벨 클라이언트 또는 서버에 복사한 다음 이 신뢰 저장소를 직접 참조하도록 SSL 구성을 재구성할 수 있습니다. PKCS12 유형의 공통 신뢰 저장소는 구성 저장소의 /config/cells/<cell_name>/nodes/<node_name> 디렉토리에 있으며 기본 비밀번호는 WebAS입니다.

단일 trust.p12 키 저장소 파일에서 셀에 대한 모든 서명자를 수집하려면 다음 단계를 완료하십시오.

  1. 서버의 trust.p12 키 저장소 파일을 복사하고 클라이언트에 복제하십시오. 클라이언트는 이전 릴리스의 SSL 특성을 지정하는 sas.client.propssoap.client.props 파일에서 직접 파일을 참조합니다.
  2. 복사된 키 저장소와 연관된 기본 셀 이름과 일치하도록 클라이언트측 키 저장소 비밀번호를 변경하십시오.
  3. trust.p12 파일의 기본 키 저장소 유형을 클라이언트 구성의 PKCS12로 변경하십시오.

다음 두 가지 코드 샘플은 변경사항을 수행하기 전후의 보기를 보여줍니다.

이전 릴리스에 대한 sas.client.props의 기본 SSL 구성[AIX Solaris HP-UX Linux Windows][z/OS]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:///  C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=
file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks
com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKS
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/
dmgr/etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/
AppServer/V85/ND/profiles/dmgr/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\
= com.ibm.ssl.trustStoreType=JKS
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/
etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/AppServer/
V85/Base/profiles/default/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKS
클라이언트의 /etc 디렉토리에서 공통 신뢰 저장소 파일에 필요한 SSL 구성 변경사항[AIX Solaris HP-UX Linux Windows][z/OS]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
[IBM i]
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/profiles/default/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12
팁: /bin 디렉토리에 있는 PropsFilePasswordEncoder 스크립트를 실행하여 비밀번호를 인코드할 수 있습니다.

soap.client.props 파일에서 이러한 변경사항을 수행하고 DummyClientKeyFile.jks 파일 대신 key.p12 파일을 지정할 수도 있습니다. 그러나 기본 key.p12 파일의 값에 일치하도록 keyStorePassword 및 keyStoreType 값도 변경해야 합니다.

버전 7.0 이전의 WebSphere Application Server 릴리스에서 서버의 SSL 구성을 편집하여 공통 신뢰 저장소를 바꿔야 합니다. 서버가 사용하는 trust.p12 파일도 이전 릴리스 레벨에서 서버 간 연결을 위한 기본 더미 인증 서명자를 포함해야 합니다. DummyServerKeyFile.jks 파일에서 기본 인증을 수동으로 추출한 다음 구성을 추가한 trust.p12 파일로 인증을 가져와야 할 수 있습니다.


주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_sslsecinstallclientsignret
파일 이름:csec_sslsecinstallclientsignret.html