SSL 구성
SSL(Secure Sockets Layer) 구성은 클라이언트와 서버 SSL 엔드포인트 모두의 동작을 제어하도록 하는 속성을 포함합니다. 특정 관리 범위를 포함하도록 SSL 구성을 지정할 수 있습니다. SSL 구성이 상속하는 범위는 구성 토폴로지에서 셀, 노드, 서버 또는 엔드포인트 링크를 사용하여 작성하는지에 따라 다릅니다.
SSL 구성을 작성하는 경우 다음 SSL 연결 속성을 설정할 수 있습니다.
- 키 저장소
- 아웃바운드 연결을 위한 기본 클라이언트 인증서
- 인바운드 연결을 위한 기본 서버 인증서
- 신뢰 저장소
- 인증서를 선택하는 키 관리자
- 핸드쉐이크 중에 신뢰를 설정하는 하나 이상의 신뢰 관리자
- 핸드쉐이크 프로토콜
- 핸드쉐이크 협상 암호
- 클라이언트 인증 지원 및 요구사항
- 중앙집중식 관리 선택
- 직접 참조 선택
- 동적 아웃바운드 연결 선택
- 프로그래밍 방식 선택
. 작성된 레벨 및 토폴로지에서 해당 위치 아래의 상속된 범위에서 SSL 구성을 볼 수 있습니다. 전체 셀이 SSL 구성을 보도록 하려면 토폴로지의 셀 레벨에서 구성을 작성해야 합니다.
security.xml 파일의 SSL 구성
<repertoire xmi:id="SSLConfig_1" alias="NodeDefaultSSLSettings"
managementScope="ManagementScope_1" type="JSSE">
<setting xmi:id="SecureSocketLayer_1" clientAuthentication="false"
clientAuthenticationSupported="false" securityLevel="HIGH" enabledCiphers=""
jsseProvider="IBMJSSE2" sslProtocol="SSL_TLSv2" keyStore="KeyStore_1"
trustStore="KeyStore_2" trustManager="TrustManager_1" keyManager="KeyManager_1"
clientKeyAlias="default" serverKeyAlias="default"/>
</repertoire>
이전 코드 샘플의 SSL 구성은 테이블 1에서 설명됩니다. security.xml 속성 | 설명 | Default | 관련된 SSL 특성 |
---|---|---|---|
xmi:id | xml:id 속성은 이 XML 항목에 대한 고유 ID를 나타내며 SSL 구성이 다른 XML 오브젝트(예: SSLConfigGroup)에 링크되는 방법을 판별합니다. 이 시스템 정의 값은 고유해야 합니다. | 관리 구성 서비스는 기본값을 정의합니다. | 없음. 이 값은 XML 연관에만 사용됩니다. |
별명 | alias 속성은 SSL 구성 이름을 정의합니다. 직접 선택은 alias 속성을 사용하고 노드는 별명이 접두부로 사용되지 않습니다. 그 대신 관리 범위가 이름이 범위 내에서 고유하도록 합니다. | 기본값은 CellDefaultSSLSettings입니다. |
com.ibm.ssl.alias |
managementScope | managementScope 속성은 SSL 구성에 대한 관리 범위를 정의하고 런타임에서 SSL 구성의 가시성을 판별합니다. | 기본 범위는 셀입니다. |
managementScope 속성은 SSL 특성에 맵핑되지 않습니다. 그렇지만 SSL 구성이 프로세스와 연관되는지를 확인합니다. |
유형 | type 속성은 JSSE(Java™ Secure Socket Extension) 또는 SSSL(System
Secure Sockets Layer) 구성 옵션을 정의합니다. JSSE는
WebSphere Application Server 내에서 가장 안전한 통신에 대한
SSL 구성 유형입니다.
|
기본값은 JSSE입니다. | com.ibm.ssl.sslType |
clientAuthentication | clientAuthentication 속성은 SSL 클라이언트 인증이 필수인지를 판별합니다. | 기본값은 false입니다. | com.ibm.ssl.clientAuthentication |
clientAuthenticationSupported | clientAuthenticationSupported 속성은 SSL 클라이언트 인증이 지원되는지를
판별합니다. 클라이언트는 클라이언트 인증서가 없는 경우 이를 제공할 필요가
없습니다. 주의:
clientAuthentication 속성을 true로
설정하는 경우 clientAuthenticationSupported 속성에 설정된 값을 대체합니다. |
기본값은 false입니다. | com.ibm.ssl.client.AuthenticationSupported |
securityLevel | securityLevel 속성은 암호 스위트 그룹을 판별합니다. 유효한 값에는 STRONG(128비트 암호), MEDIUM(40비트 암호), WEAK(암호화가 사용되지 않는 모든 암호), CUSTOM(암호 스위트 그룹이 사용자 정의되는 경우)이 포함됩니다. enabledCiphers 속성을 특정 암호 목록으로 설정하는 경우 시스템은 이 속성을 무시합니다. | 기본값은 STRONG입니다. | com.ibm.ssl.securityLevel |
enabledCiphers | enabledCiphers 속성을 설정하여 암호 스위트의 고유 목록을 지정할 수 있습니다. 목록에서 각 암호 스위트를 공백으로 구분하십시오. | 암호 스위트 선택사항에 대한 기본값은 securityLevel 속성입니다. | com.ibm.ssl.enabledCipherSuites |
jsseProvider | jsseProvider 속성은 특정 JSSE 제공자를 지정합니다. | 기본값은 IBMJSSE2입니다. | com.ibm.ssl.contextProvider |
sslProtocol | sslProtocol 속성은 SSL 핸드쉐이크 프로토콜을 정의합니다. 유효한 옵션은 다음과 같습니다.
listSSLProtocols 명령은 특정 구성(예: FIPS 140-2 또는 SP800-131)에서 유효한 프로토콜에 대한 자세한 정보를 제공합니다. |
기본값은 SSL_TLSv2입니다. | com.ibm.ssl.protocol |
keyStore | keyStore 속성은 키 저장소와 SSL 구성이 키 선택에 사용되는 keyStore 인스턴스의 속성을 정의합니다. | 기본값은 CellDefaultKeyStore입니다. |
자세한 정보는 키 저장소 구성을 참조하십시오. |
trustStore | trustStore 속성은 SSL 구성이 인증서 서명 검증에 사용하는 키 저장소를 정의합니다. | 기본값은 CellDefaultTrustStore입니다. |
신뢰 저장소는 논리 JSSE 용어입니다. 이는 서명자 인증서가 포함된 키 저장소를 나타냅니다. 서명자 인증서는 SSL 핸드쉐이크 중에 WebSphere Application Server에 전송된 인증서의 유효성을 검증합니다. |
keyManager | keyManager 속성은 WebSphere Application Server가 키 저장소에서 키를 선택하기 위해 사용하는 키 관리자를 정의합니다. JSSE 키 관리자는 javax.net.ssl.X509KeyManager 인터페이스를 제어합니다. 사용자 정의 키 관리자는 javax.net.ssl.X509KeyManager 및 com.ibm.wsspi.ssl.KeyManagerExtendedInfo 인터페이스를 제어합니다. com.ibm.wsspi.ssl.KeyManagerExtendedInfo 인터페이스는 WebSphere Application Server의 자세한 정보를 제공합니다. | 기본값은 IbmX509입니다. | com.ibm.ssl.keyManager는 잘 알려진 키 관리자를 정의하고 알고리즘 및 알고리즘 제공자 형식을 승인합니다(예: IbmX509 및 IbmX509|IBMJSSE2). com.ibm.ssl.customKeyManager는 사용자 정의 키 관리자를 정의하고 다른 keyManager 특성보다 우선적으로 사용됩니다. 이 클래스는 javax.net.ssl.X509KeyManager를 구현해야 하며 com.ibm.wsspi.ssl.KeyManagerExtendedInfo를 구현할 수 있습니다. 자세한 정보는 csec_sslx509certIDkeyman.html의 내용을 참조하십시오. |
trustManager | trustManager는 연결의 피어 측 신뢰 여부를 판별할 때 사용되는 신뢰 관리자의 목록 또는 신뢰 관리자를 판별합니다. JSSE 신뢰 관리자는 javax.net.ssl.X509TrustManager 인터페이스를 구현합니다. 사용자 정의 신뢰 관리자도 com.ibm.wsspi.ssl.TrustManagerExtendedInfo 인터페이스를 구현하여 WebSphere Application Server 환경에서 자세한 정보를 가져올 수 있습니다. | 기본값은 IbmPKIX이며 인증서에 CRL 분산 위치가 포함된 경우 이는 인증서 폐기 목록(CRL) 검증에 대해 구성 가능합니다. 다른 옵션은 Ibmx509입니다. | com.ibm.ssl.trustManager는 잘 알려진 신뢰 관리자를 정의하며 이는 대부분의 핸드쉐이크 상황에서 필요합니다. com.ibm.ssl.trustManager는 인증서 만기 검사 및 서명 유효성 검증을 수행합니다. SSL 핸드쉐이크 중에 호출되는 추가 사용자 정의 신뢰 관리자로 com.ibm.ssl.customTrustManagers를 정의할 수 있습니다. 세로 막대(|) 문자가 포함된 별도의 추가 신뢰 관리자. 자세한 정보는 csec_sslx509certtrustdecisions.html의 내용을 참조하십시오. |
클라이언트 SSL 구성은 ssl.client.props properties 파일을 사용하여 관리합니다. ssl.client.props 파일은 각 프로파일에 대한 ${USER_INSTALL_ROOT}/properties 디렉토리에 있습니다. 이 파일 구성에 대한 자세한 정보는 ssl.client.props 클라이언트 구성 파일의 내용을 참조하십시오. 모든 javax.net.ssl 시스템 특성 지정은 ssl.client.props 파일의 해당 특성을 대체합니다.