DNS CAA 記錄及建立方法

2021-10-09 07:15:59 字數 3298 閱讀 6329

有一百多個被稱為證書頒發機構的組織,可以頒發 ssl 證書來保證您的域的身份。如果您和大多數域所有者一樣,您可能只從少數幾個證書頒發機構獲得證書。caa(certificate authority authorization,證書頒發機構授權)允許您宣告您實際使用的證書頒發機構,禁止其他機構為您的域頒發證書。

以下是您使用 caa 的一些原因:

設定 caa 很容易。使用便捷的 caa 生成器檢查您授權的證書頒發機構。然後在域的 dns 中發布生成的 dns 記錄。您的域需要由支援 caa 的 dns 提供商託管。幸運的是,主要的 dns 提供商現在都支援 caa。

caa 是由 rfc 6844定義的 ietf 標準。自2023年9月8日起,所有公共證書頒發機構都必須遵守 caa 記錄。在為域頒發證書之前,他們必須檢查域中的 caa 記錄,如果 caa 記錄集沒有授權它們,則拒絕頒發證書。(如果沒有 caa 記錄,則允許其發布。)

域的 caa 記錄集也適用於所有子域。如果子域有它自己的 caa 記錄集,它將優先。

www.example.com

example.com

例如,如果 blog.example.com 是的 cname blog.example.net,則證書頒發機構按以下順序查詢 caa 記錄集:

blog.example.net

example.net

example.com

不管 caa 怎麼說,乙個惡意或完全被破壞的證書頒發機構都可以為您的域頒發證書。此外,dns 記錄可以被強大的攻擊者欺騙,欺騙證書頒發機構認為它已被授權。

然而,在實踐中,caa 可以保護域所有者不受證書頒發機構中最近的許多安全漏洞的影響。儘管存在侷限性,發布 caa 政策是一種非常明智的安全措施。

為了增加保護,請使用證書透明度監視器(如 cert spotter)在頒發的證書違反您的 caa 策略時向您發出警報。

software/provider

support

comments

bind

yesprior to version 9.9.6 use rfc 3597 syntax

dnsmasq

yesuse --dns-rr option with hex data

knot dns

≥2.2.0

ldns

≥1.6.17

nsdyes

prior to version 4.0.1 use rfc 3597 syntax

opendnssec

yeswith ldns ≥1.6.17

powerdns

≥4.0.0

versions 4.0.3 and below are buggy when dnssec is enabled.

****** dns plus

≥6.0

tinydns

yesuse generic record syntax

windows server 2016

yesuse rfc 3597 syntax

caa 記錄由以下元素組成:

標籤描述

flag

0-255 之間的無符號整數

tag用來表示關鍵標誌,rfc 有定義

value

與 tag 關聯的值

caa 記錄的規範的表示法是:

caa
rfc 目前定義了 3 個可用的 tag:

可以使用 來生成,示例:

name 	      type 	value

sysin.org. caa 0 issue "digicert.com"

0 issue "letsencrypt.org"

新增 caa 記錄

dig

# dig sslmate.com caa

; <<>> dig 9.11.13-redhat-9.11.13-5.el8_2 <<>> sslmate.com caa

;; global options: +cmd

;; got answer:

;; ->>header<<- opcode: query, status: noerror, id: 21947

;; flags: qr rd ra; query: 1, answer: 4, authority: 0, additional: 1

;; opt pseudosection:

; edns: version: 0, flags:; udp: 4096

;; question section:

;sslmate.com. in caa

;; answer section:

sslmate.com. 7200 in caa 0 issue "sectigo.com"

sslmate.com. 7200 in caa 0 issuewild ";"

sslmate.com. 7200 in caa 0 iodef "mailto:[email protected]"

sslmate.com. 7200 in caa 0 issue "letsencrypt.org"

nslookup

# nslookup

> set type=caa

> sslmate.com

server: 183.60.83.19

address: 183.60.83.19#53

non-authoritative answer:

sslmate.com rdata_257 = 0 issuewild ";"

sslmate.com rdata_257 = 0 iodef "mailto:[email protected]"

sslmate.com rdata_257 = 0 issue "letsencrypt.org"

sslmate.com rdata_257 = 0 issue "sectigo.com"

authoritative answers can be found from:

dns certification authority authorization (caa) policy found for this domain.  more info »

瀏覽記錄實現思路及方法

之前想過用cookie來實現這個,但是cookie不能存放陣列,而且也不好實現,就用了session方法 將使用者瀏覽過的商品儲存到session裡,可以在瀏覽記錄裡顯示 session recent products id session recent products array unique ...

檔案建立及讀取的方法

以前建立用 string filepath if system.io.file.exists filepath 建立檔案 system.io.file.create filepath system.io.streamwriter sw new system.io.streamwriter filep...

記錄 建立索引

建立索引 create clustered index riqi person on person date 在person表的date欄位上面建立名為riqi person的 聚集索引 create nonclustered index riqi person on person date 在pe...