先找出憑證實際由誰管理

瀏覽器目前顯示安全連線,只能證明此刻有憑證正在對外提供,不能證明下一張憑證會成功簽發、安裝及載入。先列出顧客實際使用的所有公開主機名稱,包括主網域、www、預約子網域、付款後返回頁,以及應用程式使用的 API。逐個記錄 TLS 在哪裏終止:託管平台、內容傳遞網絡、負載平衡器、反向代理,還是應用伺服器。負責該終止點的服務或人員,通常亦負責安裝新憑證;域名註冊商未必參與。不能單憑 DNS 供應商名稱推斷續期負責人。

若由託管商處理,應問清楚公開入口實際提供哪張憑證、由誰提出續期,以及失敗時如何通知。若自行管理,記錄 ACME 用戶端、排程工作、驗證方式、設定檔位置,以及新檔案寫入後如何重新載入服務。這些是操作資料,並非分享密鑰的理由;帳戶金鑰及 DNS API 權杖不應放進共用清單。如果不同主機名稱或地區由不同入口提供憑證,便要逐一檢查顧客可能連到的路徑。內部檔案顯示較遠的到期日,並不能證明每個公開入口已使用該檔案。

核對續期所依賴的驗證方式

使用 Let’s Encrypt 的 HTTP-01 驗證時,其伺服器必須能經該主機名稱的 80 埠取得驗證回應。官方容許在指定限制內跟隨重新導向,但封鎖 80 埠、代理規則改變,或伺服器群組其中一部未提供驗證回應,都可能令續期失敗。HTTP-01 亦不能用來簽發萬用字元憑證。網站架構或防火牆變更時,應因此核對路由,而非全面關掉 HTTPS 重新導向。要測試用戶端實際使用的驗證路徑,按照其支援的設定操作,不能只憑首頁可開啟就推斷驗證成功。

DNS-01 則透過驗證名稱下的 TXT 紀錄證明網域控制權,亦可支援萬用字元憑證。它另有依賴:自動化工具要能修改正確的 DNS 區域,而且憑證機構查詢時必須看到新紀錄。Let’s Encrypt 指出,若把權限過大的 DNS API 憑證放在網站伺服器,伺服器被入侵時的影響會增加。可行時採用供應商支援的較窄權限,或在獨立主機完成驗證;DNS 變更後亦要核對傳播及委派。一次手動新增 TXT 紀錄成功簽發,不等於數月後無人值守的續期能運作。

分開測試簽發、部署與公開服務

一次有用的演練應包含三項觀察。第一,受支援的用戶端或平台回報:依照目前路由及憑證權限,續期程序能完成。第二,新憑證送達正確服務,而服務確實載入。第三,從外部連接每個公開主機名稱,核對名稱涵蓋範圍、憑證鏈及到期日。只看第一項,會漏掉把檔案複製到錯誤目錄的部署指令;只看第二項,會漏掉仍在對外提供舊憑證的負載平衡器。如供應商有安全的試運行或測試環境,應使用其支援方式並了解限制:模擬結果或測試憑證,不等於顧客看到的正式憑證。

例如商店主網站由託管平台管理,但 bookings.example.com 指向另一家預約服務。主網站的續期電郵,除非同一供應商亦管理預約主機,否則不能代表預約主機安全。負責人列出兩個 TLS 終止點、分別取得續期聯絡方法,並從辦公室以外測試兩者。如果預約流程還載入另一個 API 主機,也要納入清單。這張簡單地圖可避免以某一頁面的綠色安全標誌代表整段顧客旅程,夜間發現問題時亦較快找到正確支援人員。

令續期失敗可見而且可處理

應監測公開入口實際提供的憑證,提早發出足夠時間讓團隊診斷的警報,並指定能採取行動的接收人。重要主機名稱要逐個監測,不能只看一個儀表板方格。警報應列出主機名稱、觀察到的到期時間、檢查時間及檢查位置。通知要送往持續有人管理的團隊地址或值班渠道;只寄給已離職員工便形成弱點。另外亦要定期檢查續期工作的失敗訊息。訊息可在到期前揭示驗證問題;外部監測則能發現已成功簽發、卻未部署到公開入口的情況。

處理流程應先找出受影響主機及供應商,而非反覆按「續期」。檢查問題是驗證失敗、新憑證已簽發但未部署,還是某個入口保留舊設定。確認替代憑證成功前,保留原有可用配置;切勿把私密金鑰貼進工單或聊天。若續期失敗,按照供應商支援的修復程序處理,再從外部重測。記錄失敗位置、作過的變更及核對過的公開路徑,日後才能分辨一次性故障與重複出現的排程或責任分工問題。

甚麼才算可以交接

當每個主機名稱都有具名負責人、已查明的驗證及部署路徑、近期按受支援方式完成的演練證據、公開憑證的外部檢查結果,以及能送達處理人員的失敗警報,負責人才有根據接受續期安排。這比複製內部畫面的憑證到期日更可靠,亦不應說續期必然成功:供應商 API、DNS 路由與憑證條款都會變。網站搬遷、更換 DNS、調整代理或交接負責人後,要重做檢查,因為過往成功的測試可能已不再適用。

如果公司採購託管網站服務,應要求供應商示範上述結果,而非硬性指定某條 ACME 指令。若自行營運伺服器,就要為操作人員提供簡短變更紀錄及明確升級聯絡人。商業決定是由內部人員持續負責,還是在服務協議中清楚列明相關檢查;無論哪一種,都要從公開網站取得證據。只有替代憑證在舊憑證到期前到達顧客,而異常可被發現及修復,續期機制才真正有用。

讓交接資料跟得上變更

小企業應確保續期紀錄讓替代人員也能使用。當中列明主機名稱清單、供應商支援渠道、監測通知接收人、憑證安裝負責人,以及上次從外部成功核對的時間與結果。另要記下誰可更改 DNS、誰可更改對外入口,因為兩者可能由不同供應商管理。外判人員離職時,應按供應商正式的存取權管理程序交接,不應傳送舊登入資料。可做一次桌面演練:請另一位同事找出出問題的主機、說出下一項診斷行動,以及找到有權改動的人。若單憑紀錄做不到,整個程序便依賴個人記憶。每次基建變更後及按約定週期都要覆核,免得被遺忘的子網域脫離主網站的保養流程。

檢查警報時,要分清憑證到期與其他 HTTPS 故障。主機名稱不符、憑證鏈欠缺中繼憑證、某個入口未更新,或 DNS 變更,都可能在憑證檔案尚有很多有效日數時影響訪客。回應內容應指出實際觀察到的症狀,不應教員工把所有瀏覽器警告都當作續期失敗。截圖或連線結果要附上日期、主機及測試位置,但不能聲稱單一測試涵蓋所有網絡。公司換網域或增設活動頁時,專案交接必須把新主機同時加進續期責任地圖及外部檢查。這樣憑證管理才會成為可重複的小型控制,而不是顧客投訴後才啟動的緊急任務。

交付前核對

  • 每個面向顧客的主機名稱是否都有負責人及公開憑證檢查?
  • 目前的驗證及部署路徑能否按受支援方式完成演練?
  • 失敗警報能否送到可以修復受影響主機的人員?

資料來源及延伸閱讀