SSL 中的憑證有效期限監視
SSL Certificates 對伺服器而言很重要,可維護傳遞至其他伺服器或從其他伺服器傳遞之資料的安全。 使用 SSL 憑證之後,將負責讓它們保持最新。 憑證有效期限監視器管理作業是排定的作業,它會在安全配置中的所有金鑰儲存庫之間循環,並報告任何已過期的憑證、落在有效期限臨界值內的憑證,以及落在預先通知期間內的憑證。
- 配置憑證監視器
- 您可以選取 ,在管理主控台上配置憑證監視器配置設定。 在 管理憑證有效期限 畫面上,您可以執行下列功能。
- 在 啟用檢查 勾選框上啟用或停用憑證監視器檢查。 依預設會啟用憑證監視器檢查。
- 在標示為 到期取代臨界值的方框中設定到期臨界值。 到期取代臨界值是憑證到期之前可以取代憑證的天數,預設值為 60 天。
- 在標示為 憑證預先通知臨界值的方框中設定預先通知臨界值。 憑證預先通知臨界值是到期臨界值之前的天數,憑證監視器會報告憑證可以開始被取代的日期。
- 如果選取 自動取代到期自簽憑證及鏈結憑證 方框,請將到期臨界值中的過期憑證或憑證取代為新憑證。 依預設會選取此方框。 如果未選取此選項,則憑證有效期限監視器只會報告憑證已過期或在有效期限臨界值內,且不會取代憑證。
- 選取 取代後刪除到期憑證及簽章者 方框,以在取代憑證之後予以刪除。 依預設會選取此方框。
- 您可以在 有效期限檢查 欄位中設定執行憑證有效期限監視器的排程。 依預設,監視器會設為每四週在星期日的 9:30 PM 執行一次。
- 如何接收憑證監視器報告可以在 到期檢查通知 欄位中設定。 依預設,報告會寫入「系統輸出」日誌。
下列 security.xml 配置物件會指定監視作業的啟動時間,判定憑證有效期限臨界值,並指出您是否在電子郵件中使用「簡易郵件傳送通訊協定 (SMTP)」或在訊息日誌中收到通知。 預先通知日誌設定在自訂內容中。<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 小時制,小時及分鐘屬性會決定在指定日期啟動到期監視器的時間。
notification 物件的下列範例程式碼顯示通知配置,這會在到期監視器執行之後通知您。<>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。 若要使用 Scripting 來指定多個電子郵件位址,您必須在項目之間新增垂直線 (
|) 字元。 當您指定 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.憑證有效期限監視器會在區段中報告憑證的相關資訊。 預先通知區段、過期憑證區段、已取代的憑證區段,以及無法取代的憑證區段。 報告中的憑證是由個人憑證或簽章者憑證、其別名,以及憑證所在的金鑰儲存庫來識別。
預先通知區段會列出預先通知臨界值中的所有憑證。 如果憑證有效期限監視器在該日期或之後執行,則它會作為警告期間,告知使用者將取代憑證的日期。 該區段也會提供警告,說明使用者可能需要關注即將進行的憑證更換的原因。 如果在預先通知期間沒有憑證,則它不是報告的一部分。 例如,*** 憑證在憑證有效期限臨界值的 90 天內 (可在 90 天內更換) ***; CWPKI0714I: 憑證有效期限監視器最近已執行,並探索到關聯訊息中列出的憑證將在未來 90 天內取代。 這項取代是以所配置的原則為基礎 以在到期之前 60 天自動取代到期的自簽憑證。 這項通知是要讓您知道,在自動更換憑證期間,可能有問題發生。 CWPKI0715I: 在某些情況下,自動取代憑證可能會導致在未受管理節點上運作的 Web 伺服器外掛程式中斷。 在這種情況下,外掛程式將無法透過 HTTP 來聯絡應用程式伺服器 因為它會將簽章者用於已由自動取代處理程序取代的憑證。 為了防止可能嚴重中斷的情況,您應該在排定的取代日期之前採取行動,並取代即將到期的憑證,並更新外掛程式 kdb 來使用新的簽章者。 CWPKI0719I: "testKeyStore ((cell):myHostNode01Cell:(node):myHostNode01)" 金鑰儲存庫中的 testcert1 個人憑證將在 2015 年 5 月 10 日到期,並可能在 2015 年 3 月 11 日臨界值日期之後取代。
過期憑證區段會在到期臨界值中識別過期憑證。 如果憑證在到期臨界值中,則會指出憑證何時到期。 例如,*** 已過期或已屆到期臨界值的憑證 ***; CWPKI0642I: KeyStore "NodeDefaultTrustStore ((cell):myHostNode01Cell:(node):myHostNode01)" 中的簽章者憑證別名 "oldcert" 將在 2015 年 2 月 19 日到期。 CWPKI0680I: KeyStore "testKeyStore ((cell):myHostNode01Cell:(node):myHostNode01)" 中的個人憑證別名 "selfcert" 已於 2014 年 11 月 9 日到期。 CWPKI0643I: KeyStore "testKeyStore ((cell):myHostNode01Cell:(node):myHostNode01)" 中的個人憑證別名 "testcert" 將於 2015 年 2 月 19 日到期。
取代的憑證區段會列出所有已取代的憑證。 可以取代使用伺服器主要金鑰儲存庫中主要憑證所簽署的自簽個人憑證及鏈結式個人憑證。 簽章者憑證可以取代為從已取代的個人憑證中擷取的簽章者。*** 已過期或超過到期臨界值,且已更換的憑證 ***; CWPKI0645I: KeyStore "testKeyStore ((cell):myHostNode01Cell:(node):myHostNode01)" 中的個人憑證別名 "selfcert" 已取代。 CWPKI0644I: KeyStore "NodeDefaultTrustStore ((cell):myHostNode01Cell:(node):myHostNode01)" 中的簽章者憑證別名 "selfcert" 已被取代。 CWPKI0645I: KeyStore "testKeyStore ((cell):myHostNode01Cell:(node):myHostNode01)" 中的個人憑證別名 "testcert" 已被取代。
無法取代的憑證區段會列出已過期或在無法取代的到期臨界值中的所有憑證。 如果個人憑證位於唯讀金鑰儲存庫中,或憑證監視器沒有建立新金鑰儲存庫所需的資訊,則不會取代個人憑證。 如果憑證是由不在伺服器主要金鑰儲存庫中的憑證所簽署,則無法取代它; 它可能是 CA 憑證。 如果簽章者憑證來自配置中的個人憑證不存在,則無法取代簽章者憑證。 例如,*** 憑證已過期或超出伺服器無法取代的到期臨界值 ***; CWPKI0642I: KeyStore "NodeDefaultTrustStore ((cell):myHostNode01Cell:(node):myHostNode01)" 中的簽章者憑證別名 "oldcert" 將在 2015 年 2 月 19 日到期。
- 清除已刪除的金鑰儲存庫檔
到期監視器會清除已刪除的憑證金鑰儲存庫檔。 已刪除的金鑰儲存庫檔 NodeDefaultDeletedStore會放置已從其他金鑰儲存庫中刪除的憑證副本,以防使用者需要還原它。 需要不時地清除檔案,以便在憑證監視器執行時清除已刪除的金鑰儲存庫檔。 由於 PKCS12 金鑰儲存庫的本質,金鑰儲存庫中必須至少有一個項目。 對於從已刪除的金鑰儲存庫檔中刪除的憑證,沒有任何報告。
附註: 當啟用下列配置選項時,當到期監視器取代憑證時,執行時期可能會受到動態影響。附註: 只有在啟用「廣域安全」時,下列配置選項才會生效。。 在配置設定中,勾選 發生 SSL 配置變更時動態更新執行時期的勾選框。
啟用時,任何被取代的憑證都會導致用戶端 SSL 執行時期立即使用新憑證,進而清除 SSL 及金鑰儲存庫快取,並導致部分使用 SSLServerSocket (分散式及管理 SOAP 上的 RMI/IIOP) 的埠重新啟動。 重新啟動埠會岔斷現有連線。 在埠重新啟動完成之後,可以重新連接這些連線。 使用通道架構 ( z/OS上的 HTTP、BUS、RMI/IIOP) 的端點不會影響現有連線,但仍使用新連線的新憑證。
當停用動態變更內容時,在新憑證生效之前,管理者需要在每一個節點都有同步化配置之後,回收整個 Cell 中的所有程序。