web-dev-qa-db-ja.com

BIND 9.7での基本的なDNSSEC構成?

誰かがBIND9.7でDNSSECを設定するためのステップバイステップの手順を提供できますか?人生を楽にするはずなので、このバージョンは適切だと思います。実際、ISCによって公開された DNSSEC for Humans というドキュメントがあります。これは、チュートリアルではありませんが、出発点として使用しました。

私が9.7を使用している主な理由(たとえば、新しい9.9の代わりに)は、Debian6での安定したバージョンであるためです。基本的なBIND構成が稼働していることを述べておく必要があります。

私が試したこと:

  1. /etc/bind/named.conf.options行の適切な中括弧内に含まれています

    dnssec-enable yes;
    

    そして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.

キーの場所を示すオプションが欠落しているように見えるため、これはエラーの可能性が高いことがわかりますが、ISCが参照しているガイドでは、この最後の例を具体的に引用しています。実際、フラグ-Sは実際には「スマート署名」を表しているため、最後のコマンド(/etc/bind)を実行したのと同じディレクトリにキーがあることで十分であると期待していました。

これはおもちゃの非本番プロジェクトなので、たとえば30日ごとにこれらの手順を繰り返してもかまいませんが、できるだけシンプルにして...正しく実行したいと思います。

アイデア/ポインタはありますか?前もって感謝します。

6
sadpluto

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は、新しく生成されたキーの出力フォルダーを指定します。2番目のパラメーターはゾーン名です。このコマンドは、システムで十分なエントロピーが利用可能になるまで待機するため、完了するまでに非常に時間がかかる場合があります。構成を試すだけで、本番システムのキーを生成しない場合は、-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)
};

auto-dnssec maintainは、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がうまく機能するようになる、可能な限り単純な「ガイド」を提供することです。私はすべての可能な詳細をカバーしようとはしませんでした。そして、everbodyが考えられるすべての詳細を気にする必要はありません。私見では。

8
Sandman4