BIND 9.7 下的基本 DNSSEC 配置?

sad*_*uto 6 bind dnssec

有人可以提供在 BIND 9.7 下设置 DNSSEC 的分步程序吗?我认为这个版本是相关的,因为它应该让生活更轻松。事实上,ISC 发布了一份名为DNSSEC for Humans的文档,我用它作为起点,虽然它不是一个教程。

我使用 9.7(比如说,而不是全新的 9.9)的主要原因是它是 Debian 6 下的稳定版本。我应该提到我已经启动并运行了基本的 BIND 配置。

我试过的:

  1. 包含/etc/bind/named.conf.options在行中适当的大括号内

    dnssec-enable yes;
    
    Run Code Online (Sandbox Code Playgroud)

    并重新启动 BIND。

  2. dnssec-keygen example.com

  3. dnssec-keygen -fk example.com

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

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

dnssec-signzone: fatal: No signing keys specified or found.
Run Code Online (Sandbox Code Playgroud)

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

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

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

San*_*an4 8

使用 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 为新生成的密钥指定输出文件夹,第二个参数是区域名称。此命令可能需要很长时间才能完成,因为它会等到您的系统上有足够的熵可用。如果您只想尝试配置,并且您没有为生产系统生成密钥,则可以添加-r /dev/urandom- 它会很快生成不那么安全的密钥。另请注意,如果多次运行此命令,每次都会生成一组新的密钥,并且所有这些密钥集都将用于对您的区域进行签名。

步骤 2:配置 BIND 以启用区域的自动签名:

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)
};
Run Code Online (Sandbox Code Playgroud)

auto-dnssec maintain告诉 bind 定期在 中指定的文件夹中搜索key-directory新的 DNSSEC 密钥,将这些密钥添加到区域并签署区域。一切都是自动的,无需您的交互。默认情况下,核心 DNSSEC 支持本身已启用。您的 named.conf 很可能仅包含此区域部分。

第 3 步:重新加载绑定

rndc reload 将加载新配置并绑定将加载您的 DNSSEC 密钥并签署区域。

完毕。 确认它适用于dig +dnssec @localhost example.net DNSKEY. 您应该获得 DNSKEY 和 RRSIG 记录。

安全委托

如果您将 DNNSEC 添加到真实域,要完全启用 DNNSEC 验证,您需要将 DS 记录添加到您的父区域 - 这与 NS 记录的完成方式相同 - 通过您的域注册商。

要验证一切是否正常,您可以使用dnsviz.netdnssec-debugger.verisignlabs.com等在线工具

添加:

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