Red Hat Training
A Red Hat training course is available for RHEL 8
4.6.5. 自動鍵生成およびゾーン保守機能を使用した DNSSEC ゾーン署名
DNSSEC (Domain Name System Security Extensions) でゾーンに署名して、認証およびデータの整合性を確保できます。このようなゾーンには、追加のリソースレコードが含まれます。クライアントはそれらを使用して、ゾーン情報の信頼性を検証できます。
ゾーンの DNSSEC ポリシー機能を有効にすると、BIND は次のアクションを自動的に実行します。
- キーを作成します。
- ゾーンに署名します
- 鍵の再署名や定期的な交換など、ゾーンを維持します。
外部 DNS サーバーがゾーンの信頼性を検証できるようにするには、ゾーンの公開キーを親ゾーンに追加する必要があります。これを行う方法の詳細については、ドメインプロバイダーまたはレジストリーにお問い合わせください。
この手順では、BIND に組み込まれている default
の DNSSEC ポリシーを使用します。このポリシーは、単一の ECDSAP256SHA
鍵署名を使用します。または、独自のポリシーを作成して、カスタムキー、アルゴリズム、およびタイミングを使用します。
前提条件
-
BIND 9.16 以降がインストールされている。この要件を満たすには、
bind
の代わりにbind9.16
パッケージをインストールします。 - DNSSEC を有効にするゾーンが設定されている。
-
named
またはnamed-chroot
サービスが実行しています。 - サーバーは時刻をタイムサーバーと同期します。DNSSEC 検証では、正確なシステム時刻が重要です。
手順
/etc/named.conf
ファイルを編集し、DNSSEC を有効にするゾーンにdnssec-policy default;
を追加します。zone "example.com" { ... dnssec-policy default; };
BIND をリロードします。
# systemctl reload named
change-root 環境で BIND を実行する場合は、
systemctl reload named-chroot
コマンドを使用してサービスをリロードします。BIND は公開鍵を
/var/named/K<zone_name>.+<algorithm>+<key_ID>.key
ファイルに保存します。このファイルを使用して、親ゾーンが必要とする形式でゾーンの公開鍵を表示します。DS レコード形式:
# dnssec-dsfromkey /var/named/Kexample.com.+013+61141.key example.com. IN DS 61141 13 2 3E184188CF6D2521EDFDC3F07CFEE8D0195AACBD85E68BAE0620F638B4B1B027
DNSKEY 形式:
# grep DNSKEY /var/named/Kexample.com.+013+61141.key example.com. 3600 IN DNSKEY 257 3 13 sjzT3jNEp120aSO4mPEHHSkReHUf7AABNnT8hNRTzD5cKMQSjDJin2I3 5CaKVcWO1pm+HltxUEt+X9dfp8OZkg==
- ゾーンの公開鍵を親ゾーンに追加するように要求します。これを行う方法の詳細については、ドメインプロバイダーまたはレジストリーにお問い合わせください。
検証
DNSSEC 署名を有効にしたゾーンのレコードについて、独自の DNS サーバーにクエリーを実行します。
# dig +dnssec +short @localhost A www.example.com 192.0.2.30 A 13 3 28800 20220718081258 20220705120353 61141 example.com. e7Cfh6GuOBMAWsgsHSVTPh+JJSOI/Y6zctzIuqIU1JqEgOOAfL/Qz474 M0sgi54m1Kmnr2ANBKJN9uvOs5eXYw==
この例では、BIND が同じホストで実行し、
localhost
インターフェイスでクエリーに応答することを前提としています。公開鍵が親ゾーンに追加され、他のサーバーに伝播されたら、サーバーが署名付きゾーンへのクエリーで認証済みデータ (
ad
) フラグを設定することを確認します。# dig @localhost example.com +dnssec ... ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ...