SSL에서 인증서 만기 모니터링
SSL 인증서는 다른 서버와 데이터를 전달할 때 데이터 보안을 유지하기 위해 서버에 중요합니다. SSL 인증서를 사용하면 이를 최신으로 유지해야 합니다. 인증서 만기 모니터 관리 태스크는 보안 구성의 모든 키 저장소를 통해 순환하는 스케줄된 태스크이며 만기되는 모든 인증서, 만기 임계값에 도달하는 인증서 및 사전 알림 기간 내에 도달하는 인증서를 보고합니다.
- 인증서 모니터 구성
- 인증서 모니터 구성 설정은 관리 콘솔에서 인증서 만기 관리 패널에서
다음 기능을 수행할 수 있습니다.
- 검사 사용 선택란에서 인증서 모니터 검사를 사용하거나 사용하지 않도록 설정합니다. 인증서 모니터 검사는 기본적으로 사용됩니다.
- 만기 대체 임계값 레이블의 상자에서 만기 임계값을 설정하십시오. 만기 대체 임계값은 인증서가 대체 가능하고 기본값이 60일인 인증서 만기 전의 기간(일)입니다.
- 인증서 사전 알림 임계값 레이블의 상자에서 사전 알림 임계값을 설정하십시오. 인증서 사전 알림 임계값은 인증서 모니터가 인증서의 대체를 시작할 수 있는 날짜를 보고하는 만기 임계값 전의 기간(일)입니다.
- 만기된 인증서를 대체하거나 만기 자체 서명 및 체인된 인증서 자동 대체 상자가 선택된 경우 만기 임계값의 인증서를 새 인증서로 대체하십시오. 이 상자는 기본적으로 선택됩니다. 이 옵션을 선택하지 않으면 인증서 만기 모니터가 인증서가 만기되었거나 만기 임계값 이내임을 보고만 하고 인증서를 대체하지는 않습니다.
- 대체 후에 만기 인증서 및 서명자 삭제 상자를 선택하여 대체한 후에 인증서를 삭제하십시오. 이 상자는 기본적으로 선택됩니다.
- 인증서 만기 모니터가 실행되는 스케줄은 만기 검사 필드에서 설정할 수 있습니다. 기본적으로 모니터는 4주마다 일요일 오후 9:30에 실행되도록 설정됩니다.
- 인증서 모니터 보고서를 수신하는 방법은 만기 검사 알림 필드에서 설정할 수 있습니다. 기본값으로 보고서는 SystemOut.log에 기록됩니다.
다음 security.xml 구성 오브젝트는 모니터 태스크 시작 시기를 지정하고 인증서 만기 임계값을 판별하며 SMTP(Simple Mail Transfer Protocol) 또는 메시지 로그를 사용하여 이메일로 알림을 수신하는지를 표시합니다. 사전 알림 로그는 사용자 정의 특성에 설정됩니다.<wsCertificateExpirationMonitor xmi:id="WSCertificateExpirationMonitor_1" name="Certificate Expiration Monitor" daysBeforeNotification="30" isEnabled="true" autoReplace="true" deleteOld="true" wsNotification="WSNotification_1" wsSchedule="WSSchedule_2" nextStartDate="1134358204849"/>
사전 알림 기간은 security.xml 파일에서 사용자 정의 특성으로 설정됩니다.<properties xmi:id="Property_1422758742456" name="com.ibm.ws.security.expirationMonitorNotificationPeriod" value="90"/>
다음 샘플 스케줄 오브젝트는 인증서 모니터의 각 실행 사이의 기간(일)으로 빈도 속성을 표시합니다.<wsSchedules xmi:id="WSSchedule_2" name="ExpirationMonitorSchedule" frequency="30" dayOfWeek="1" hour="21" minute="30"/>
dayOfWeek 속성은 지정한 요일에서 실행되도록 스케줄을 조정하며 이는 빈도가 30 또는 31일로 설정되는지에 상관없이 항상 동일한 요일입니다. 24시간 클럭을 기준으로 시 및 분 속성은 만기 모니터가 지정한 일에 시작되는 시기를 판별합니다.
알림 오브젝트의 다음 샘플 코드는 만기 모니터 실행 후에 알려주는 알림 구성을 보여줍니다.<>wsNotifications xmi:id="WSNotification_1" name="MessageLog" logToSystemOut="true" emailList=""/
만기 모니터 알림의 경우, 알림에 대해 메시지 로그, SMTP 서버를 사용하는 이메일 또는 둘 다의 방법 중에서 선택할 수 있습니다. 이메일 옵션을 구성하는 경우, user@domain@smtpserver 형식을 사용하십시오. SMTP 서버를 지정하지 않으면 WebSphere® Application Server는 기본값으로 동일한 도메인을 이메일 주소로 사용합니다. 예를 들어, joeuser@ibm.com을 구성하면 WebSphere Application Server는 smtp-server.ibm.com 호출을 시도합니다. 스크립팅을 사용하여 다중 이메일 주소를 지정하려면 항목 사이에 파이프(|) 문자를 추가해야 합니다. logToSystemOut 속성을 지정할 때 만기 모니터 결과는 환경에 대한 메시지 로그로 전송되며 이는 일반적으로 SystemOut.log 파일입니다.
를 설정하여 구성할 수 있습니다.
- 다음 기능은 인증서 만기 모니터를 사용하여 수행할 수 있습니다.
- NodeDefaultDeletedStore 또는 DmgrDefaultDeletedStore를 선택 취소하십시오. 이 연산은 인증서 삭제를 보고하지 않고 자동으로 수행됩니다.
- 루트 키 저장소 DmgrDefaultRootStore 또는 NodeDefaultRootStore를 선택하고 DmgrRSATokenRootStore 또는 NodeRSATokenRootStore를 선택하십시오. 임의의 루트 인증서가 만기, 임계값 기간 내 또는 사전 알림 기간 내에 들어오면 인증서가 보고서에 기록됩니다.
- 만료되었거나 임계값 기간에 속하는 루트 인증서는 원본의 작성에 사용되는 동일한 정보를 사용하여 다시 작성됩니다. 원래 루트 인증서의 모든 서명자 인증서는 새 루트 인증서의 서명자로 대체됩니다.
- 루트 인증서가 대체되면 모든 키 저장소가 원래 루트 인증서로 서명된 체인된 인증서가 있는지 확인하기 위해 모든 키 저장소가 검사됩니다. 있는 경우, 체인된 인증서는 갱신됩니다(새 루트 인증서로 다시 작성). 원래 인증서의 모든 서명자 인증서는 다시 작성된 인증서의 서명자로 대체됩니다.
- 모든 루트 키 저장소가 처리된 후 나머지 키 저장소에서는 만기된 인증서, 만기 임계값 내의 인증서 또는 사전 알림 기간 내의 인증서를 검사합니다. 이 카테고리 중 하나에 속하는 인증서는 보고서에 기록됩니다.
- 만기된 인증서 또는 만기 임계값 기간 내의 인증서가 있고 이 인증서가 WebSphere로 작성되는 자체 서명 인증서 또는 체인된 인증서인 경우, 대체됩니다. 체인된 인증서 루트가 루트 키 저장소에 없는 경우, 기본 루트 인증서로 다시 작성됩니다. 원래 인증서의 모든 서명자 인증서는 새 인증서의 서명자로 대체됩니다.
- 구성 설정에 따라 보고서가 생성된 후 리턴, 로그 파일로 기록 또는 메일링됩니다.
- 대체된 인증서 유형
만기 모니터는 DmgrDefaultRootStore 또는 NodeDefaultRootStore의 루트 인증서로 서명된 자체 서명 인증서 및 체인된 개인 인증서를 대체합니다. 자체 서명 인증서는 원래 자체 서명 인증서 작성에 사용된 모든 정보를 사용하여 갱신됩니다. 체인된 인증서는 원래 인증서 서명에 사용된 동일한 루트 인증서를 사용하여 갱신됩니다. 인증 기관(CA)에서 작성된 인증서는 인증서 모니터로 대체할 수 없으며 관리자가 대체해야 합니다.
서명자 인증서는 개인 인증서의 공개 파트입니다. 따라서, 자체적으로 작성되지 않으며 개인 인증서에서 추출됩니다. 인증서 모니터가 개인 인증서를 대체하는 경우, 이는 모든 키 저장소를 검사하여 만료된 개인 인증서에서 추출된 서명자 인증서가 있는지 확인한 후에 이를 새로 작성된 개인 인증서에서 추출된 서명자 인증서로 대체합니다. 서명자 인증서가 인증서 파일에서 키 저장소에 추가되었거나 포트 옵션에서 검색하여 추가된 경우, 대체될 수 있습니다. 만기되거나 만기 임계값 내에 있는 경우, 서명자 인증서가 대체되지 않음이 사용자에게 통지됩니다. 삭제한 후 유효한 인증서로 인증서를 대체하십시오.
- 인증서 만기 보고서
인증서 만기 모니터가 실행되면 수행된 내용을 보고하는 보고서가 생성됩니다. 이 보고서는 기본적으로 SystemOut.log에 기록됩니다. 사용자는 이메일로 보고서를 전송하는 인증서 모니터 보고서가 사용되도록 구성할 수 있습니다. wsadmin AdminTask startCertificateExpMonitor에서 인증서 만기 모니터를 실행하는 경우, 보고서는 사용자에게 리턴되고 인증서 만기 알림 설정이 보고서를 전송하도록 요청되는 위치입니다.
인증서 모니터가 실행되며 출력으로 보고할 만료된 인증서가 없는 경우, 이는 인증서가 검사되었으며 만기 문제가 발견되지 않았음을 표시하는 정보 메시지를 리턴합니다. 예를 들어, 다음과 같습니다.**** Subject: Expiration Monitor ****; Hostname: myHost Profile UUID:AppSrv01-BASE-8da8e11e-70c6-451f-862b-8a08e408110b Process type: UnManagedProcess Checking for expired certificate and certificates in the 60 days threshold period. CWPKI0735I: All certificates were searched and no expiration issues were found.
인증서 만기 모니터는 섹션의 인증서 정보를 보고합니다. 사전 알림 섹션, 만기된 인증서 섹션, 대체된 인증서 섹션, 대체할 수 없는 인증서 섹션. 보고서의 인증서는 개인 인증서 또는 서명자 인증서, 해당 별명, 인증서가 있는 키 저장소별로 식별됩니다.
사전 알림 섹션에는 사전 알림 임계값 내의 모든 인증서가 나열됩니다. 이는 인증서 만기 모니터가 인증서 대체 날짜에 실행 또는 그 이후에 실행되는 경우 이 날짜를 사용자에게 알려주는 경고 기간으로 사용됩니다. 섹션은 도래하는 인증서 대체에 대해 주의해야 하는지에 대한 경고를 제공할 수도 있습니다. 사전 알림 기간 내의 인증서가 없는 경우에는 보고서의 파트가 아닙니다. 예를 들어, 다음과 같습니다.*** CERTIFICATES WITHIN THE 90 DAYS OF THE CERTIFICATE EXPIRATION THRESHOLD (MAY BE REPLACED WITHIN 90 DAYS) ***; CWPKI0714I: 인증서 만기 모니터가 최근에 실행되어 연관된 메시지에 나열되는 인증서가 다음 90일 내에 대체될 것임을 발견했습니다. 이 대체는 구성된 정책을 기반으로 만기 60일 이전에 자동으로 만기 자체 서명 인증서를 대체합니다. 이 알림은 인증서가 자동으로 대체되는 경우에 문제가 발생할 수 있음을 알려줍니다. CWPKI0715I: 자동으로 인증서를 대체하면 웹 서버 플러그인 운영이 미관리 대상 노드에서 중단되는 경우도 있습니다. 이런 경우, 플러그인은 자동 대체 프로세스로 대체된 인증서의 서명자를 사용하기 때문에 HTTPS를 통해 애플리케이션 서버에 접속할 수 없습니다. 스케줄된 대체 날짜 이전에 조치가 필요한 심각한 중단을 방지하기 위해 만기 인증서를 대체하고 새 서명자를 사용하도록 플러그인 kdb를 업데이트하십시오. CWPKI0719I: "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 testcert1 개인 인증서는 2015년 5월 10일에 만기될 예정이며 2015년 3월 11일 임계값 날짜에 대체될 수 있습니다.
만기된 인증서 섹션은 만기된 인증서 또는 만기 임계값 내의 인증서를 식별합니다. 인증서가 만기 임계값에 있는 경우, 인증서가 만기되는 날짜를 알려줍니다. 예를 들어, 다음과 같습니다.*** CERTIFICATES THAT ARE EXIPIRED OR IN THE EXPIRATION THRESHOLD ***; CWPKI0642I: "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 서명자 인증서 별명이 2015년 2월 19일에 만기됩니다. CWPKI0680I: "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 개인 인증서 별명 "selfcert"가 2014년 11월 9일에 만기됩니다. CWPKI0643I: "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 개인 인증서 별명 "testcert"가 2015년 2월 19일에 만기됩니다.
대체된 인증서 섹션은 대체된 모든 인증서를 나열합니다. 서버의 루트 키 저장소의 루트 인증서로 서명된 서명 개인 인증서 및 체인된 개인 인증서는 대체 가능합니다. 서명자 인증서는 대체된 개인 인증서에서 추출된 서명자로 대체할 수 있습니다.*** CERTIFICATES THAT ARE EXPIRED OR BEYOND THE EXPIRATION THRESHOLD AND HAVE BEEN REPLACED ***; CWPKI0645I: "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 개인 인증서 별명 "selfcert"가 대체되었습니다. CWPKI0644I: "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 개인 인증서 별명 "selfcert"가 대체되었습니다. CWPKI0645I: "testKeyStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 개인 인증서 별명 "testcert"가 대체되었습니다.
대체될 수 없는 인증서 섹션은 만기되었거나 대체할 수 없는 만기 임계값 내의 모든 인증서를 나열합니다. 개인 인증서는 읽기 전용 키 저장소에 있거나 인증서 모니터가 새 인증서 작성에 필요한 정보를 가지고 있지 않은 경우에 대체되지 않습니다. 인증서가 서버의 루트 키 저장소에 없는 인증서로 서명된 경우 이는 대체될 수 없으며, 이는 CA 인증서일 가능성이 높습니다. 해당 출처인 개인 인증서가 구성에 존재하지 않으면 서명자 인증서를 대체할 수 없습니다. 예를 들어, 다음과 같습니다.*** CERTIFICATES THAT ARE EXPIRED OR BEYOND THE EXPIRATION THRESHOLD THAT CANNOTBE REPLACED BY THE SERVER ***; CWPKI0642I: "NodeDefaultTrustStore((cell):myHostNode01Cell:(node):myHostNode01)" 키 저장소의 서명자 인증서 별명이 2015년 2월 19일에 만기됩니다.
- 삭제된 키 저장소 파일 정리
만기 모니터는 삭제된 인증서 키 저장소 파일을 정리합니다. 삭제된 키 저장소 파일 NodeDefaultDeletedStore는 다른 키 저장소에서 삭제된 인증서 사본이 사용자가 이를 복원해야 하는 경우 추가되는 위치입니다. 파일은 인증서 모니터가 실행될 때 삭제된 키 저장소 파일이 정리되도록 자주 정리해야 합니다. PKCS12 키 저장소의 특성으로 인해 최소한 하나의 항목이 키 저장소에 있어야 합니다. 삭제된 키 저장소 파일에서 삭제되는 인증서에 대한 보고는 없습니다.
참고: 다음 구성 옵션이 사용되면 런타임이 동적으로 만기 모니터가 인증서를 대체하는 시기에 영향을 줄 수 있습니다.SSL 구성 변경 발생 시 런타임 자동 업데이트 선택란을 선택하십시오.
. 구성 설정에서사용되는 경우 대체되는 모든 인증서로 인해 클라이언트 SSL 런타임이 새 인증서를 즉시 사용하고 결국 SSL 및 키 저장소 캐시를 비우고 SSLServerSockets(분산 및 관리 SOAP의 RMI/IIOP)를 사용하는 일부 포트가 다시 시작됩니다. 포트를 다시 시작하면 기존 연결은 끊어집니다. 이 연결은 포트 다시 시작이 완료된 후에 다시 연결할 수 있습니다. 채널 프레임워크(HTTP, BUS, RMI/IIOP on z/OS)를 사용하는 엔드포인트는 기존 연결에서 영향을 받지 않고 분리되지만 새 연결에 대해 새 인증서를 사용합니다.
동적 변경 특성이 사용되지 않는 경우 및 새 인증서가 적용되기 전에 관리자는 각 노드가 동기화된 구성을 갖기 전에 전체 셀에서 모든 프로세스를 재활용해야 합니다.