web-dev-qa-db-ja.com

dnssecのクエリと検証

http://www.isoc.org/ のDNSレコードに ドメインネームシステムセキュリティ拡張機能 があると聞きました。

ツールDigを使用してDNSを確認および確認するにはどうすればよいですか?

5
hendry

Digコマンドは単純です。

% Dig +dnssec www.isoc.org.

; <<>> Dig 9.6.0-Apple-P2 <<>> +dnssec www.isoc.org.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49304
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 7, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 4096
;; QUESTION SECTION:
;www.isoc.org.          IN  A

;; ANSWER SECTION:
www.isoc.org.       86382   IN  A   212.110.167.157
www.isoc.org.       86382   IN  RRSIG   A 7 3 86400 20100706205007 20100622205007 56495 isoc.org. ETERh/blyD1LvW+hCeET9Zy/XTdTewilU8nhA5HCGtNoccdjPN/4pBg6 Vv2S/nJTZfQu7S1KwFJpijSg0n81A8Fpr1rjlS4AfKZgiSA6ureGDOzZ J4MImGFb9h1lG7qBrJ3Psmzs292obZfA98oJstsTzd4tNwFQf5bp5pDJ KoU=

2つのことに注意してください。

  1. +dnssecフラグ-これは、DNSサーバーにゾーンデータの検証を要求します。
  2. 応答のad行のflagsエントリ。これにより、ゾーンデータが正しいことが確認されます。

[ゾーンデータが正しくない場合、サーバーは代わりにSERVFAILエラーを返します]

ただし、DNSサーバー自体がDNSSEC検証を実行するように構成されていない限り、DNSサーバーは実際にはそのadフラグを返しません。もちろん、私のものは持っています。

named.confファイルに次の行を追加することで、再帰BINDサーバーでDNSSECを有効にできます。

    dnssec-enable yes;
    dnssec-validation yes;

ルートゾーンの公開鍵のコピー。その後、DNS階層を介して署名のチェーンをたどることにより、他のドメイン名を検証できます。

また、DNSソフトウェアのかなり新しいバージョンが必要になります。ルートの署名に使用されるRSA/SHA-256暗号化アルゴリズムをサポートしているのは新しいバージョンのみです。つまり、BIND 9.6.2+、またはUnbound 1.4.0+

10
Alnitak