是否可以将 TSIG 更新限制为 BIND9 中具有特定前缀的主机

是否可以将 TSIG 更新限制为 BIND9 中具有特定前缀的主机

我在 Linux 网络中拥有多个 Windows 系统,并配有 BIND9 DNS 和 Active Directory 域。我们不使用 Windows 域控制器进行 DNS。为了确保所有系统都在 DNS 中注册,我已向每个系统部署了一个脚本,该脚本使用 Windows nsupdate 二进制文件在 BIND 中注册 Windows 系统。这适用于台式机和笔记本电脑,并在网络状态发生变化时触发。

这里的担忧是,如果这些工作站上的 TSIG 密钥被泄露,任何内部记录都可能被更新或删除。我通过将脚本和密钥文件设置为仅由 SYSTEM 帐户读取来缓解此问题,并且所有系统都是带有启动引脚的 FDE。

组织中的主机名遵循可重复的约定,并且工作站始终以 W 开头。有没有办法限制 BIND9 中的主机密钥仅更新或添加具有此前缀的主机?

我想避免创建另一个区域来将工作站 tsig 密钥与其余帐户服务隔离,但这将是我的下一个选择。

答案1

您可以设置细粒度的 ACL 控制哪个键可以更新哪些记录。

这是通过update-policy语句而不是来实现的allow-update,参见BIND 手册

update-policy { grant KEYNAME name RECORDNAME; ... };

密钥 KEYNAME 应安装在更新 RECORDNAME 的机器上。这是您请求的更细粒度的行为。您还可以使用通配符,即W*代替 RECORDNAME,这应该完全按照您指定的工作方式进行。您还可以进一步限制更新,以仅允许更新某些 DNS RR 类型。

传统allow-update行为是通过zonesub规则类型实现的。

所有这些通常都使用 TSIG/GSS 而不是 PSK 进行配置,但这需要 Kerberos 部署。BIND 甚至可以使用 Windows 内置 DNS 更新程序提供的身份验证,该身份验证使用其机器域帐户(使用相同的机制,因为 AD 无论如何都是基于 Kerberos 的)。

相关内容