我运行一个权威名称服务器(BIND),并且我有几十个具有相同区域文件的域,即它们都使用/etc/bind/db.default3
。
我正在考虑在我的服务器上部署 DNSSEC,但到目前为止,我找到的所有文档都要求我在每个区域执行许多手动步骤(例如生成 KSK 和 ZSK)。BIND 9.9 的内联签名使其中一些操作变得更容易,但并非全部。
那么,我可以让 BIND 在内联签名模式下对多个域使用相同的 KSK 吗?如果可以,我是否可以在DS
这些域的记录中输入相同的值?为什么我必须管理 ZSK - 有了 KSK,BIND 难道不应该帮我处理这个问题吗?
答案1
您可以对多个域使用相同的 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/有关 DNSSEC 后果的完整解释)可以稍微缓解一些,如果你确保不对多个区域使用相同的密钥。(“为了对选择前缀冲突攻击提供额外的保护,区域不应该共享密钥,并且它们应该具有单独的 ZSK 和 KSK。”)
正如 Håkan 在评论中所说,如今对于新部署,您应该使用 ECDSAP256SHA256 或 RSASHA256(因此根本不使用 SHA-1)。请参阅 RFC 8624 第 3.1 节(所有 SHA-1 版本要么“不得”实施,要么“不推荐”实施)。