Liberty의 SSL 기본값

Liberty의 기본 SSL 인증서, 키 저장소, 구성을 지정합니다.

기본 인증서 및 키 저장소

개발자가 구동 및 실행하는 데 도움이 되는 편리한 도구로서, 사용자는 securityUtility 명령에서 createSSLCertificate 매개변수를 사용하여 자체 서명된 인증서를 작성할 수 있습니다. 사용자는 명령행에서 직접 도구를 호출할 수 있습니다. 또는 서버가 이를 호출하여 서버 시작 시에 기본 인증서와 키 저장소를 작성하도록 할 수도 있습니다.

사용자가 server.xml 파일에 defaultKeyStore라고 하는 키 저장소 요소를 보유하는 경우, 서버는 기본 키 저장소와 인증서를 작성합니다. 예를 들어 다음과 같습니다.
<keyStore id="defaultKeyStore" password="yourPassword" />

defaultKeyStore의 키 저장소 구성이 제 위치에 있고 서버를 시작할 때 키 저장소가 존재하지 않는 경우 서버가 createSSLCertificate 매개변수를 호출합니다. 이 매개변수는 구성에 지정된 비밀번호로 키 저장소를 작성합니다.

기본 키 저장소 세부사항:
  • 위치: 키 저장소 파일은 key.jks라고 불리며, 서버 또는 클라이언트 resources/security 디렉토리에 있습니다.
  • 키 저장소 유형: 키 저장소 유형은 JKS입니다.
  • 비밀번호: 구성에서 제공되는 비밀번호입니다.
Liberty에서 작성한 기본 인증서 세부사항:
  • 유형: 인증서는 자체 서명 인증서입니다.
  • 크기: 기본 인증서 크기는 2048입니다.
  • 서명 알고리즘: 인증서의 서명 알고리즘은 SHA256WITHRSA입니다.
  • 유효성: 인증서는 365일 동안 유효합니다.
  • SubjectDN: 인증서는 CN=<hostname>,OU=<client or server name>,O=ibm,C=US as the SubjectDN으로 작성됩니다.

사용자가 인증서를 사용자 정의하고자 하는 경우, createSSLCertificate 매개변수가 명령행에서 호출될 수 있습니다.

참고: 독립형 Liberty 서버가 작성하는 자체 서명된 인증서는 프로덕션 사용 목적이 아닙니다. 이들은 개발자의 편의를 위해 작성됩니다. 이들은 신뢰할 수 있는 인증 기관에서 발행한 인증서만큼 안전합니다. 그러나 프로덕션에서 사용되는 인증서는 신뢰할 수 있는 인증 기관이 발행하거나 서명한 적절하게 체인화된 인증서여야 합니다. 멤버에 대해 집합체 제어기가 발행한 체인화된 인증서는 서명된 인증서입니다.

기본 SSL 구성

SSL에 필요한 최소 구성은 defaultKeyStore라고 하는 단일 키 저장소 요소입니다. defaultKeyStore가 구성에 존재하는 경우 런타임은 주변에 defaultSSLConfig라고 하는 SSL 구성을 빌드합니다.

defaultSSLConfig 세부사항:

  • 프로토콜: IBM® JRE가 사용되는 경우, 프로토콜은 기본적으로 SSL_TLSv2로 설정됩니다. Oracle JRE가 사용되는 경우 SSL이 프로토콜로 사용됩니다.
  • 암호: 암호 목록은 기본 JRE에서 지원되는 암호의 목록을 가져옴으로써 빌드됩니다. 기본적으로 목록은 128비트 이상 또는 3DES인 모든 암호로 축소됩니다. RC4는 사용으로 설정하면 안전하지 않은 것으로 간주되므로 삭제됩니다. 지원하지 않는 서버로 이동하는 경우 오류가 발생할 수 있으므로 ECDHE 암호가 제거됩니다. 이를 포함하도록 암호 목록을 사용자 정의할 수 있습니다.
  • 클라이언트 인증: 기본적으로, clientAuthenticationclientAuthenticationSupported는 사용되지 않습니다.
  • 키 저장소: 기본 구성에서 defaultKeyStore는 키 및 신뢰 저장소 모두로 사용됩니다.

SSL 구성 특성의 사용자 정의를 위해 defaultSSLConfig라고 하는 SSL 요소를 server.xml 파일에 입력할 수 있습니다. defaultSSLConfig라고 하는 사용자 정의된 ssl 요소는 다른 SSL 구성이 기본값으로 식별되지 않으면 계속해서 기본 SSL 구성처럼 처리됩니다. 자세한 정보는 SSL 구성 속성을 참조하십시오.

기본 SSL 구성으로서 구성의 다른 ssl 요소를 지정하기 위해, 사용자는 이를 sslDefault 요소로 식별할 수 있습니다.
<sslDefault sslRef="customSSLConfiguration" />

Liberty 기본 SSL 구성의 속성은 SSLContext를 작성하는 데 사용됩니다. 이 SSLContext는 Java™ API SSLContext.setDefault()를 사용하여 기본 SSLContext로서 프로세스에서 설정됩니다. 애플리케이션이 https URL과 함께 httpURLConnection()과 같은 API를 호출하고 SSL 정보를 제공하지 않는 경우, 애플리케이션은 프로세스의 기본 SSLContext를 선택합니다. 이 경우에는 Liberty 기본 SSL 구성으로 작성되는 SSLContext입니다.

기본 SSL 구성이 Liberty에서 설정되지 않으면 Liberty는 JSSE의 기본 SSLContext를 사용합니다. JSSE의 기본 SSLContext는 키 저장소 및 신뢰 저장소에 대해 cacerts 파일을 사용합니다. SSL 기능이 정의되지 않았거나 존재하는 SSL 구성이 기본적으로 식별되지 않는 경우 Liberty에 기본 SSL 구성이 없습니다. 기본 구성이 호출된 defaultSSLConfig(defaultKeyStore가 정의된 경우 이는 내재적일 수 있음)이거나 sslDefault 요소를 사용하여 대체 SSL 구성을 지정할 수도 있습니다.

javax 시스템 특성(javax.net.ssl.keystore)은 기본 SSL 컨텍스트에 대한 키 저장소 및 신뢰 저장소 정보를 설정하는 데 사용되며 사용되지 않아야 합니다. 특성이 프로세스에서 설정된 경우에는 SSLContext.setDefault()에 대한 호출이 이를 제거합니다.


주제의 유형을 표시하는 아이콘 참조 주제



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