BIND 9.7下的基本DNSSECconfiguration?

任何人都可以提供在BIND 9.7下设置DNSSEC的分步过程吗? 我认为这个版本是相关的,因为它可以让生活更轻松。 事实上,ISC发布了一个叫做DNSSEC的文件,我以此为出发点,尽pipe这不是一个教程。

我使用的主要原因是9.7(而不是全新的9.9),它是Debian 6下的稳定版本。我应该提到,我有一个基本的BINDconfiguration启动和运行。

我试过的:

  1. 包含在/etc/bind/named.conf.options相应的大括号内的行

     dnssec-enable yes; 

    并重新启动BIND。

  2. Ran dnssec-keygen example.com

  3. Ran dnssec-keygen -fk example.com

  4. 试过dnssec-signzone –S example.com

但是,最后一步给我的错误

 dnssec-signzone: fatal: No signing keys specified or found. 

我可以看到这是一个可能的错误,因为似乎缺less指示我的钥匙在哪里的选项,但是ISC引用的指南特别引用了最后一个例子。 事实上,标志-S实际上就是“智能签名”,所以我希望在执行最后一个命令( /etc/bind )的同一目录下有足够的密钥。

由于这是一个玩具,非生产项目,我不介意每隔30天重复这些步骤,但我想尽可能简单地保持它们,并让它们正确!

任何想法/指针? 提前致谢。

使用BIND启用DNSSEC最简单的方法是自动签名,下面是一个一步一步的教程:

先决条件:我将假设您的区域文件是/var/lib/bind/example.net/db 。 区域文件和文件夹应该是可写的绑定过程! 您可能需要调整权限,和/或编辑/etc/apparmor.d/usr.sbin.named

步骤1:生成DNSSEC密钥:

dnssec-keygen -K /var/lib/bind/example.net example.net

-K指定新生成的键的输出文件夹,第二个参数是区域名称。 这个命令可能需要很长时间才能完成,因为它会等到系统中有足够的熵可用。 如果你想要的只是尝试configuration,并且你没有为生产系统生成密钥,那么你可以添加-r /dev/urandom – 它会快速生成不太安全的密钥。 另请注意,如果多次运行此命令,则每次都会生成一组新的密钥,并且所有组都将用于签署您的区域。

步骤2:configurationBIND以启用您的区域的自动签名:

 zone example.net { type master; file "/var/lib/bind/example.net/db"; auto-dnssec maintain; //Enable The Magic key-directory "/var/lib/bind/example.net"; //Look for DNSSEC keys in "/etc/bind/example.net" folder update-policy local; //Enable dynamic updates (required for auto-dnssec) }; 

auto-dnssec maintain通知绑定,定期search在key-directory指定的文件夹中的新DNSSEC密钥,将这些密钥添加到区域并对区域进行签名。 全部自动,没有你的互动。 核心DNSSEC支持本身已经默认启用。 你的named.conf可能只包含这个区段。

第3步:重新加载绑定

rndc reload将加载新的configuration和绑定将加载您的DNSSEC密钥和签署区域。

完成。 确认它与dig +dnssec @localhost example.net DNSKEY 。 你应该得到DNSKEY和RRSIGlogging。

安全委派

如果您将DNNSEC添加到实际域中,为了完全启用DNNSECvalidation,您需要通过域名注册商将DSlogging添加到您的父区域 – 这与NSlogging完成的方式相同。

要validation这一切的工作,你可以使用在线工具,如dnsviz.net和dnssec-debugger.verisignlabs.com

加成:

有人可能会问:ZSK和KSK呢? – 这个过程将用一个ZSK来签署整个区域,这里没有KSK。 我试图做的是提供最简单的可能的“指南”,这将导致DNSSEC工作良好。 我没有试图涵盖所有可能的细节。 而且没有必要关心所有可能的细节。 恕我直言。