我想了解 Bind 如何在没有外部干预的情况下管理 DNSSEC 区域密钥签名。具体来说,哪个进程(命名?)检测到区域签名即将过期,以及检测和重新签名的方法是什么。
命名本身是否会定期轮询所有区域密钥,然后产生更新过程?除了下面列出的设置之外,是否还需要其他设置才能使自动维护正常工作?更新是否必须由 rndc 或重新加载命名来触发?
. . .
options {
. . .
dnssec-enable yes;
key-directory "/usr/local/etc/namedb/master/";
dnssec-validation auto;
. . .
}
. . .
zone example.com {
type master;
file "/usr/local/etc/namedb/master/example.com.hosts";
key-directory "/usr/local/etc/namedb/master/";
auto-dnssec maintain;
inline-signing yes;
};
答案1
根据https://www.sidn.nl/a/dnssec/dnssec-signatures-in-bind-named现行程序如下:
如果您使用“auto-dnssec keep”选项,则每小时都会检查密钥目录以查找密钥对的更改。根据密钥文件中的元数据,每个密钥对被分配状态“未发布”、“已发布”、“活动”、“已过期”或“已撤回”。因此,已发布的 DNSKEY 记录会自动保持最新状态。此外,数字签名(在 RRSIG 记录中)可以在必要时重置。因此,此选项的效果与在 cron 作业中包含“rndc sign”命令并结合“auto-dnssec allow”选项的效果相同。