
bind を使用して独自のゾーンも持つ再帰 DNS を設定しようとしています。
今、dnssec を使用するようにアップグレードしたいのですが、私の理解では、ドメイン名を所有していない場合は DLV を使用する必要があります。
しかし、私が見つけたいくつかのガイドには、存在しないサインアップが必要だと書かれていますdlv.isc.org
。また、DNSSEC について読んでいた本には、DLV は廃止される予定だと書かれていたので、疑問に思いました。(セットアップのステップバイステップのガイドをご存知でしたら、それも教えていただけるとありがたいです)
答え1
サーバーがもう実行されていない場合でもdlv.isc.org
、Bind 9の設定で別のDNSSEC Lookasideサーバーを設定することができます。dnssecルックアサイドオプション。キーをexample.com
検証できない場合は、ルックアサイド サーバーの名前が追加され、ルックアサイド サーバーの信頼されたキーに対して検証が最初からやり直されます。テストはしていませんが、これでは問題が解決しないと思います。lan.
最近のプライベート ドメインは存在しないと確実に検証されるため、ルックアサイド クエリは実行されません。
では、ゾーンを保護するために何ができるでしょうかlan.
? それは使用方法によって異なります。
- DNSサーバーは、再帰リゾルバの検証ゾーンの権限のあるサーバーには
lan.
追加の構成は必要ありません (dnssec-validation
すでにオンになっていると想定しています)。- ゾーンファイルからゾーンを提供し
lan.
、応答を返します。それなし旗AD
、 - 他のドメインのクエリが来たら、再帰クエリを実行し、結果を検証し、有効な場合にのみ回答を返します。とフラグ
AD
。ドメインが検証されない場合は、SERVFAIL
が発行されます。
- ゾーンファイルからゾーンを提供し
- のスタブリゾルバはDNSサーバーを使用するため、DNSサーバーの検証動作に依存しているため、
lan.
問題なく解決されます。ただし、スタブリゾルバサーバーが暗号化されていない場合、結果は転送中に変更される可能性があります。保護するには、TSIG 署名または TLS を使用することをお勧めします。 - のスタブリゾルバの検証追加する必要がある信頼できるアンカー構成に応じて異なります。
Bind9サーバーをすべてのクライアント機械として動作するスタブリゾルバの検証(より良い代替案がありますsystemd 解決済み、dnsmasqまたは縛られない) ですが、その場合は、まずlan.
ゾーンのキーを取得する必要があります。
piotr@akela:~$ dig lan. DNSKEY +short
257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
次に、キーを信頼できるものとして追加し、 からの再帰クエリのみを許可しlocalhost
、リクエストを「実際の」 DNS サーバー ( 上にあるとします192.168.0.1
) に転送する必要があります。
options {
directory "/var/cache/bind";
listen-on { localhost; };
listen-on-v6 { localhost; };
recursion yes;
allow-query { localhost; };
forwarders { 192.168.0.1; };
};
trusted-keys {
lan. 257 3 13 "nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==";
};
最後に、 をlocalhost
唯一の DNS サーバーとして追加するだけです/etc/resolv.conf
:
nameserver ::1;
編集:systemd 解決済み設定はさらに簡単です。DNSKEY を次の名前のファイルに追加するだけです/etc/dnssec-trust-anchors.d/<your_name>.positive
。
lan. IN DNSKEY 257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==
DNSSECを強制する/etc/systemd/resolved.conf
:
DNSSEC=yes