Defaults.Exposed

Defaults.Exposed修復 › CAA 記錄

如何修復 CAA 記錄

CAA 記錄是你網域設定裡的一條簡短指令,指定哪些憑證公司被允許為你的網站簽發那張小鎖安全憑證。開啟它之後,再沒有別的公司能悄悄以你的名義建立一張有效憑證。

對您業務的關鍵影響: 沒有 CAA 記錄,全球數百家憑證公司裡幾乎任何一家都能為你的網域簽發一張真實、被完全信任的小鎖憑證——讓騙子能立起一個外觀完美、看上去完全安全的你網站克隆版,去收割你客戶的登入資訊和卡號,而螢幕上沒有任何東西會警示他們。

這會讓您付出什麼代價

為什麼它重要。 眼下大門是敞開的:地球上任何憑證公司都能為一個聲稱是你的網站背書,無論你是否與它打過交道。一條 CAA 記錄鎖上那扇門,只讓你選定的提供商能簽發憑證——它是對抗有人在網路上冒充你這家企業最簡單、最便宜的防禦。

一句話說清 CAA 記錄

每個安全網站都有一張憑證——就是瀏覽器裡小鎖背後、以及你地址前面那個 https 所代表的東西。這些憑證由叫憑證授權機構(CA)的專業機構發放:諸如 Let’s Encrypt、DigiCert、Sectigo、Google Trust Services 這些名字。當你的瀏覽器看到一張有效憑證時,它會顯示小鎖,並告訴你的客戶這個連線真實且安全。

下面這一點,大多數業主從沒被告知過:預設情況下,全球數百家這樣的憑證授權機構,每一家都被允許為你的網域簽發憑證——無論你是否聽說過它們。一條 CAA 記錄(憑證授權機構授權,Certification Authority Authorization)是你加進網域 DNS 設定裡的一行說明,大意是只有這些提供商被允許為我簽發憑證。按行業規則,每一家正規的憑證授權機構在簽發前都必須查驗那行說明——若它不在你的名單上,就必須拒絕。

這就是一扇任何人都能走進來的沒上鎖的前門,和一扇只有你選定的人持有鑰匙的門之間的區別。而加上它不花一分錢。

這會讓你付出什麼代價

CAA 記錄所封堵的風險,是足以亂真的冒充。當騙子能為你網站的一份副本拿到一張真實憑證時,通常的警示信號就消失了——沒有破損的小鎖,沒有不安全的橫幅,沒有憑證錯誤。一切看上去都對,而這正是它危險的原因。

這些都不需要對你伺服器發動高深的攻擊。它們利用的是這樣一個事實:沒有 CAA 記錄,更廣泛的憑證系統在替你做事時實在太輕信了。

它實際上是什麼,以及良好的狀態長什麼樣

CAA 記錄存在於你網域的 DNS 裡——就是把你網域指向網站和信箱的那套設定。每條記錄有三部分:一個標誌位、一個標籤和一個。要緊的標籤有:

**良好的狀態長什麼樣:**至少存在一條 issue(或 issuewild)記錄,指定了你實際使用的提供商,並且萬用字元要麼被限制給某個指定提供商、要麼被封禁。這就是本檢查衡量的標準——它跨多個獨立的解析器查詢你網域的 CAA 記錄,當發現一條真實的 issueissuewild 策略到位時通過。一個完全沒有 CAA 記錄的網域,被當作它本來的樣子:一扇敞開的門。

這會影響我的評分嗎?會。缺失的 CAA 記錄是一個計分項,標為中等嚴重級——它是一個真實的漏洞,而不只是錦上添花,因為它留著一條真實的冒充通道。加上這條記錄就堵住漏洞、清除該發現項。

如何修復(免費,約 5 分鐘)

**把這一節交給管理你網域或網站的人——修復是免費的。**它是一個小的 DNS 改動,不是重建。只有當你之後想讓我們持續盯著這條記錄是否在位時,我們才收費;加上它不花一分錢。

**第一步——弄清你實際使用的是哪家憑證授權機構。**這是唯一值得做對的一步,因為列錯提供商會擋住你下一次續期。常見情形:

如果不確定,在瀏覽器裡查看你當前的憑證(點小鎖 → 憑證詳情 → 頒發者)就能看到是誰簽發的。

**第二步——登入你的 DNS 提供商。**這是你網域記錄所在的地方——通常是你的註冊商、你的 Web 主機,或 Cloudflare。找到 DNS 記錄區域,選擇添加一條類型為 CAA 的新記錄(有些介面把它標為類型 257)。

**第三步——為你使用的每個提供商添加一條 issue 記錄。**以 Let’s Encrypt 為例:

example.com.   CAA   0 issue "letsencrypt.org"

每個正當的提供商加一行 issue。大多數 DNS 儀表板會給你分開的輸入框來填標誌位(0)、標籤(issue)和值(CA 的網域),這樣你就不必手敲整行。

**第四步——管控萬用字元憑證。**如果你用萬用字元,就乾脆封禁它們,免得有人悄悄弄到一張:

example.com.   CAA   0 issuewild ";"

如果你確實用萬用字元,就改為指定提供商:0 issuewild "letsencrypt.org"

**第五步——(推薦)添加一個通知地址。**這樣每當一家 CA 拒絕一次嘗試時你都會被告知——這是有人嘗試過的早期預警:

example.com.   CAA   0 iodef "mailto:[email protected]"

**第六步——儲存並驗證。**執行 dig CAA example.com(或用任意線上 DNS 查詢工具),確認你的記錄出現。改動在網際網路上鋪開可能要幾分鐘到幾小時不等。你現有的憑證和所有續期全程照常工作——CAA 只管的簽發。

平台速記:Cloudflare 上,DNS → Records → Add record → 類型 CAA。在 Google Workspace 上,你在註冊商處管理 DNS(如果用了 Cloud DNS 則在那裡)——在那裡添加帶 pki.goog 的 CAA 記錄。在 Microsoft 365 上,CAA 不在 M365 管理中心設定;在你網域 DNS 所託管的地方添加它,並列上你的託管憑證 CA(通常是 DigiCert)。在常見主機(GoDaddy、Namecheap 等)上,它就在你 A 記錄和 MX 記錄所在的同一個 DNS 面板裡。

常見錯誤

技術層(把這一段交給你的 IT 人員)

CAA 定義於 RFC 8659,並在 CA/Browser Forum 基線要求下強制執行——每家公開受信的 CA 都必須在簽發時查驗 CAA。記錄形如 <flags> <tag> <value>,標籤有 issueissuewildiodef。滿足本檢查的是一條非空的 issueissuewild 策略;僅有 iodef 不行(它是上報,不是授權)。

頂點處一個穩妥的基線:

example.com.   CAA   0 issue "letsencrypt.org"
example.com.   CAA   0 issuewild ";"
example.com.   CAA   0 iodef "mailto:[email protected]"

給實施者的說明:

在您的託管服務商上完成設置

熱門服務商的分步指引:

常見問題

我不懂技術——我自己能處理嗎?

你不需要懂其中細節,但修復是在你網域的 DNS 設定裡做一個小改動,所以最好交給管理你網站或網域的人。把下面的如何修復一節發給他們——這是一個五分鐘、零成本的改動。只有當你之後想讓我們持續盯著這條記錄是否一直在位時,我們才收費;修復本身永遠免費。

加上這個會弄壞我的網站或我的憑證嗎?

不會——只要你列出了你實際使用的憑證提供商,一切都照舊運作。CAA 記錄不觸碰也不替換你現有的憑證;它只管誰被允許建立新憑證。唯一會惹麻煩的情況,是把你真實的提供商漏在名單之外,那可能擋住你下一次自動續期——下面的步驟正是為避免這一點而寫。

既然如今憑證都是自動簽發的,為什麼我還需要這個?

自動憑證很好也很方便——問題在於該系統預設對所有人開放,包括冒充你的人。CAA 記錄只是指明誰被允許,把一扇敞開的門變成一扇上著你自己鎖的門。它與自動簽發協同工作,而非對立。

這會影響我的 Google 排名或我在本報告裡的評分嗎?

它會影響你在這裡的安全評分——缺失的 CAA 記錄是一個計分項,標為中等嚴重級的漏洞,因為它留著一條真實的冒充通道。它不是 Google 的直接排名因素,但它所防範的冒充和網路釣魚,恰恰是那種確實會損害信任與流量的事件。無論如何,它都是一個又快又免費的收益。

issue 和 issuewild 有什麼區別?

issue 記錄管的是你網域及其子網域的普通憑證。issuewild 記錄管的是萬用字元憑證——一張同時涵蓋所有可能子網域的憑證(如 *.example.com)。萬用字元更強大,因而落入壞人之手時也更危險,所以好的做法是單獨管控它們:如果你不用萬用字元,就乾脆全部封禁。

我們用 Cloudflare / Google Workspace / Microsoft 365——這些是不是已經涵蓋了?

並非自動涵蓋。這些平台替你管理憑證,但除非你已顯式添加了 CAA 記錄,你的網域仍在向全世界宣告任何機構均可簽發。好消息是,在它們上面修復都是同一個簡單的 DNS 改動,凡是 Cloudflare 或你的主機簽發憑證的地方,你只需把那個提供商列上即可。下面修復一節的平台說明涵蓋了常見情形。