0

这是我正在尝试做的事情:

使用 TSIG 验证 DNS 事务:查询和响应。

我知道 TSIG 通常在两台主机之间用于安全区域传输。但是,我正在尝试使用 TSIG 验证来自我的客户的简单查询。我使用工具在服务器上生成了一个私钥dnssec-gen,然后在客户端将一条 TSIG 记录附加到传出的 DNS 查询消息中。

我不确定如何启用 BIND 服务器来验证传入查询的 TSIG RR。我刚刚在named.conf文件中添加了一个与客户端签名的 TSIG RR 匹配的密钥配置。当我在服务器端收到 TSIG 签名的 DNS 查询时,会显示以下错误消息:

请求的签名无效:TSIG mytsigkey: tsig verify failure (BADSIG)

但是,我强烈认为我生成并附加到 DNS 查询记录的 MAC 是正确的(我使用 Slavasoft HMAC 计算器验证了它)。我不确定我是否遗漏了named.conf文件中的任何内容。

下面是配置。任何输入都受到高度赞赏。

key "mytsigkey" {
        algorithm hmac-md5;
        secret "AsZN6W/8HJiHoFFaLh/4xg==";
};
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     {any ;};
        recursion yes;
        allow-transfer {key test_tsig.com;};

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};
4

0 回答 0