在阅读了 Windows Server 2008 R2 中的 DNSSEC 实现之后,在我看来,它增加了额外的复杂性,但无论如何都不是完全安全的(我确实明白,在大多数情况下,更高的安全性总是意味着更高的复杂性)。
第一个 DNS 客户端不知道 DNSSEC,并要求解析记录的同一服务器检查该记录的有效性,并且仅在 NRPT 表存在的情况下执行(您需要另外配置 - 没有表不检查;这仍然是WS 2012/Win 8 中的案例)。除了在架构上看起来有点笨拙之外,问题是客户端没有任何选项来验证 DNS 服务器(在这方面要 100% 安全,您需要在 Windows 网络中部署 IPSec,这会增加更多的复杂性)。
那么考虑到所有这些因素,在现实世界中部署 DNSSEC 是否值得?它真的提高了安全性还是只是增加了不必要的复杂性?
有人真的在企业 Windows 网络中使用这项技术吗?
看待它的一种方式是,它是否“值得”并不重要。在某些必须遵守某些审计策略(如 FISMA 和 FedRAMP)的环境中,这是直接强制性的。(阅读 NIST 特别出版物 800-53 SC-20 和 SC-21。)
如果您不符合这些要求,那么只有您可以决定是否值得。DNSSEC 和 IPsec 确实引入了复杂性。确实,将 DNSSEC 与内部/私有区域结合使用而不将其与 IPsec 耦合的价值有限。当谈到内部/私有 DNS 区域时,DNSSEC 只有在客户端可以相信他或她正在与真实、正确的 DNS 服务器交谈时才真正有用。并且要验证身份验证通常还需要 IPsec。
此外,请考虑不要在低于 Server 2012 的 Windows Server 上使用 DNSSEC。Server 2008 R2 上的 DNSSEC 只能使用 SHA-1,不能使用 SHA-2。由于 Internet 根区域(即
.
)使用 RSA/SHA-256 签名,这意味着 Server 2008 R2 将无法作为 Internet 区域的验证器。Server 2012 及更高版本解决了这个问题。这种复杂性对您或您的公司来说是否太多,或者额外的好处是否值得……太主观了,我们无法为您回答。