學校的網頁伺服器採用 HTTPS 模式時,均使用 Let's Encyrpt 認證服務。大多數的伺服器都依 Let's Encrypt 官網的說明,使用 Certbot 用戶端自動於過期前更新。
今天遇到 6/16 到期的 radius.tsh.tp.edu.tw 出現久違的 https 警告,發現該主機的 Certbot 並沒有自動更新。查詢相關資料後,用 sudo certbot renew 手動指令更新,出現下列的錯誤:
發現是 DNS CAA 錯誤問題。
目前全球簽發 SSL/TLS 憑證的機構已超過百個要避免這些機構在某些情況下錯誤簽發憑證 (WoSign曾發生過)就需要在簽發憑證前做一些檢查動作在 RFC 6844 中定義了 DNS CAA Record透過 DNS 的 CAA 紀錄,申明網域授權哪些機構可以簽發該網域的憑證如果沒有設定 CAA 紀錄,則代表任何機構都可以簽發該網域的憑證2013年1月 CA可以決定是否檢查該記錄,非強制性2017年3月 CA/Browser 論壇決議 2017年9月起強制所有憑證發行機構在簽發憑證前必須檢查 DNS CAA 紀錄如果是代管 DNS,則現行多數的DNS代管單位都可以直接設定 CAA 紀錄若無法新增 CAA 紀錄,只能聯繫代管服務商要求提供協助設定如果是自行管理DNS,則需要在自己的 DNS Server 上自行設定
解決方式只要用 SSLMate 提供的 CAA Record Helper 來協助產生紀錄,再輸入 BIND9 設定檔中即可。
留言
張貼留言