我运行一个权威名称服务器 (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 版本都“不得”实施或“不推荐”)。