為您的網域名稱設定CAA記錄,是提高網站安全性的一個有效方法。本文介紹了CAA標準產生的背景,以及使用Alibaba Cloud DNS來設定並驗證CAA記錄的方法。
背景
據權威部門統計,全球約有上百個憑證授權單位(CA)有權發放HTTPS認證,以證明您網站的身份。但是憑證授權單位由於某些原因,往往會被瀏覽器列入”黑名單” ,並被公開宣布將不再信任其簽發的HTTPS認證。所以當你訪問到部署了這些認證的網站時,部分瀏覽器比如Google、Firefox會提示”HTTPS認證不受信任”,瀏覽器地址欄的HTTPS也會被划上一條小紅線,網頁不能訪問。
CAA(Certification Authority Authorization,即憑證授權單位授權)是一項防止HTTPS認證錯誤簽發的安全措施,於2013年1月通過互連網工程工作群組(IETF)批准,被列為RFC6844。2017年3月,CA瀏覽器論壇投票通過187號提案,要求CA機構從2017年9月8日起執行CAA強制性檢查。
CAA標準使得網站所有者,僅授權指定CA機構為自己的網域名稱頒發認證,以防止HTTPS認證錯誤簽發。目前,阿里雲Alibaba Cloud DNS已率先支援CAA記錄類型。
CAA記錄格式
CAA記錄的格式為:[flag] [tag] [value],是由一個標誌位元組的[flag]和一個被稱為屬性的[tag]-[value](標籤-值)對組成。您可以將多個CAA欄位添加到網域名稱的DNS記錄中。
欄位 | 說明 |
flag | 0-255之間的不帶正負號的整數,用於標誌認證機構。通常情況下填0,表示如果頒發認證機構無法識別本條資訊,就忽略。 |
tag | 支援 issue、issuewild 和 iodef。
|
value | CA的網域名稱或用於違規通知的電子郵箱。 |
添加CAA記錄
假設,您想要只允許由 symantec.com 來頒發網域名稱 midengd.xyz 的認證,並且發送違規通知到郵箱 admin@midengd.xyz。您可以按照以下方式來配置CAA記錄。
登入到Alibaba Cloud DNS-公網權威解析,單擊目標網域名稱 操作 列下的 解析設定。
添加如下兩條解析記錄。
主機記錄
記錄值
@
0 issue “symantec.example.com”
@
0 iodef “mailto:admin@midengd.xyz”
檢測CAA記錄
您可以使用 dig 網域名稱 記錄類型 命令來查詢CAA記錄解析情況。測試範例和返回結果如下所示。
sh-3.2# dig midengd.xyz caa
; <<>> DiG 9.10.5rc1 <<>> midengd.xyz caa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26714
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;midengd.xyz. IN CAA
;; ANSWER SECTION:
midengd.xyz. 600 IN CAA 0 iodef "mailto:admin@midengd.xyz"
midengd.xyz. 600 IN CAA 0 issue "symantec.com"
;; Query time: 577 msec
;; SERVER: 30.26.X.X#53(30.26.X.X)
;; WHEN: Tue Dec 05 18:55:48 CST 2017
;; MSG SIZE rcvd: 114自2017年4月,所有CA機構頒發SSL認證前必須要求對頒發認證對象的網域名稱進行CAA檢測。目前,海外Route53、dyn、Cloudflare等主要DNS服務商均已支援CAA記錄,但是中國的普及程度還不夠。
隨著社會網路安全意識的整體提高,CAA記錄作為加強網站安全的措施之一,將會成為金融機構、電子政務、公用服務等行業的一項網路安全基準要求,也會有越來越多的DNS服務商的支援CAA記錄,CAA普及只是時間問題。