使用 DNSSEC 管理多個相等的區域
我執行一個權威名稱伺服器 (BIND),並且我有幾十個域具有相同的區域文件,即它們都使用
/etc/bind/db.default3
.我正在考慮在我的伺服器上部署 DNSSEC,但到目前為止,我在上面找到的所有文件都需要我為每個區域執行許多手動步驟(例如生成 KSK 和 ZSK)。BIND 9.9 的內聯簽名使一些事情變得更容易,但不是一切。
那麼,我能否讓 BIND 在內聯簽名模式下對多個域使用相同的 KSK?如果是這樣,我能否在
DS
這些域的記錄中輸入相同的值?為什麼我必須管理 ZSK - 給定 KSK,BIND 不應該能夠為我處理這件事嗎?
您可以將同一個 KSK 用於多個域,但這不是一個好主意,因為這意味著如果此密鑰存在問題(在加密上,您失去了私鑰,或者您忘記更新它,等等)。將影響多個域。對於給定的密鑰,您不能在多個區域中擁有相同的 DS,因為 DS 值是根據密鑰和域名計算的!
此外,最近針對 SHA1 的攻擊(參見<https://www.dns.cam.ac.uk/news/2020-01-09-sha-mbles.html>或https://blog.apnic.net/2020/01/ 17/sha-1-chosen-prefix-collisions-and-dnssec/如果您確保不對多個區域使用相同的密鑰,則可以稍微緩解一下。(“為了針對選擇的前綴衝突攻擊提供額外保護,區域不應共享密鑰,並且它們應具有單獨的 ZSK 和 KSK。”)
正如 Håkan 在評論中所說,現在對於新部署,您應該使用 ECDSAP256SHA256 或 RSASHA256(因此沒有任何 SHA-1)。請參閱 RFC 8624 第 3.1 節(所有 SHA-1 版本都“不得”實施或“不推薦”)。