Defaults.Exposed › 設置 › CAA
如何在 AWS Route 53 上設定 CAA 記錄
在 AWS Route 53 中新增 CAA 記錄,控制哪些憑證頒發機構可以為你的網域簽發 SSL 憑證。
這對你的業務意味著什麼
CAA(Certification Authority Authorization,憑證頒發機構授權)記錄指定了哪些憑證頒發機構(即簽發瀏覽器網址列掛鎖背後 SSL/TLS 憑證的公司)可以為你的網域簽發憑證。任何守規矩的機構都必須先檢查這條記錄,如果自己不在名單上,就必須拒絕簽發請求。
說得直白一點:沒有 CAA 記錄,全球數百家憑證頒發機構中的任何一家都可能被騙或因失誤而向他人簽發一張針對你網域的有效憑證——攻擊者可以藉此惟妙惟肖地假冒你的網站。CAA 記錄把這扇門關上,等於宣布:只有這幾家機構,其他一概不行。 它免費,幾分鐘就能搞定。
先確認 Route 53 在為你解析 DNS
這只有在 Route 53 負責回應你網域的 DNS 時才有效。在 Route 53 中,你的記錄存放在該網域的**託管區域(hosted zone)裡,而該區域只有在你網域的網域名稱伺服器(nameservers)**指向區域中列出的四個 Route 53 網域名稱伺服器時才會生效。打開託管區域,查看它的 NS 記錄,確認這些網域名稱伺服器已在你的註冊商處設定好。如果你的網域名稱伺服器指向別處,請到真正負責你 DNS 的服務商那裡新增 CAA 記錄。
先弄清楚你的憑證頒發機構
動手新增之前,先弄清楚是哪家機構在簽發你的憑證,否則你可能會把自己的服務商也擋在門外。常見取值:
amazon.com— Amazon(AWS Certificate Manager,ACM)letsencrypt.org— Let’s Encrypt(大多數免費及自動化憑證使用)digicert.com— DigiCertsectigo.com— Sectigoglobalsign.com— GlobalSignpki.goog— Google Trust Services
如果你使用 AWS Certificate Manager 來設定憑證,就必須允許 amazon.com,否則 ACM 將無法簽發。如果不確定,可以問搭建你主機環境的人,或在瀏覽器裡查看憑證(點擊掛鎖,再查看憑證的頒發者)。
Route 53 上的操作步驟
- 登入 AWS 管理主控台,打開 Route 53。
- 在左側選單中選擇 Hosted zones,再選擇你的網域。
- 點擊 Create record。
- 將 Record name 欄位留空,使記錄應用於網域的根(即頂點 apex)。不要在這裡填寫你的網域。
- 將 Record type 設為 CAA。
- 在 Value 框中,按 Route 53 的三段式格式在一行內輸入:
0 issue "letsencrypt.org"即旗標值(0)、標籤(issue),再加上用雙引號括起來的憑證頒發機構。 - TTL 保持預設(300 秒即可)。
- 如有提示選擇 Simple routing,然後點擊 Create records。
允許多家憑證頒發機構
大多數網域隨著時間會用到不止一家機構——比如一項服務用 AWS Certificate Manager、另一項用 Let’s Encrypt。在 Route 53 中,你把額外的機構作為同一條 CAA 記錄 Value 框裡的更多行新增,每行一條:
0 issue "amazon.com"
0 issue "letsencrypt.org"
這兩行合起來表示:這兩家機構都允許,其他都不行。 每一行都是一條獨立的 issue 條目;你不要把兩家機構放在同一行。
Route 53 上人們常踩的坑
- 最大的錯誤就是把自己的機構擋在門外。 如果你新增的 CAA 記錄只列了
digicert.com,而你的憑證其實是透過 Let’s Encrypt 或 ACM 續期的,那麼下一次續期就會悄無聲息地失敗,幾週後你的掛鎖可能突然失效。儲存前務必把你真正使用的每一家機構都列進去。 - 為 ACM 允許
amazon.com。 如果你的憑證來自 AWS Certificate Manager,而你的 CAA 記錄沒有包含amazon.com,那麼 ACM 的驗證和續期都會失敗。這是 Route 53 特有的最常見絆腳石。 - CA 周圍的引號是必需的。 Route 53 要求格式為
0 issue "letsencrypt.org",機構要用雙引號括起來。漏掉引號會使記錄無效。 - 根記錄把記錄名稱留空。 名稱為空時記錄應用於頂點;在那裡填寫網域會把記錄建到錯誤的位置。
- 旗標值普通記錄用
0。 另一個值128是嚴格模式——只在你有意為之時才用。 - 填裸網域,請勿填入網址。 值是
letsencrypt.org,絕不是https://letsencrypt.org,也不要帶www.。 - 給它一點時間。 DNS 變更生效需要幾分鐘到幾個小時不等。已有憑證照常工作;CAA 只在簽發或續期新憑證時才會被檢查。
驗證是否生效
儲存並傳播完成後,運行本站的免費檢測。它會用通俗的語言告訴你 CAA 記錄是否已就位、你允許了哪些機構。
完成了? 免費檢查您的網域 以確認設置已生效——並查看您在全部 34 項檢查中的完整評級。