DNSSEC
関連記事
Wikipedia:ja:DNS Security Extensions より:
- DNS Security Extensions (略称 DNSSEC) は、インターネットプロトコル (IP) で使用される Domain Name System (DNS) における応答の正当性を保証するための Internet Engineering Task Force (IETF) による拡張仕様である。サーバーとクライアントの双方がこの拡張に対応し、かつ拡張機能を使った形式で該当ドメイン情報が登録されていれば、DNS 応答の偽造や改竄を検出することができる。
目次
基本的な DNSSEC 検証
インストール
drill ツールを使って基本的な DNSSEC 検証が行なえます。drill を使うには ldns パッケージをインストールしてください。
その他の利用可能なツールについては ドメイン名前解決#Lookup ユーティリティ を参照してください。
DNSSEC 検証の問い合わせ
DNSSEC 検証の問い合わせを行うには、-D
フラグを使います:
$ drill -D example.com
テスト
以下のドメインを使うことでテストが可能です。ルートサーバーから解決されるドメインまでトレースする -T
フラグを追加してください:
以下のような結果が表示され、DNSSEC 署名が偽物と分かります:
$ drill -DT badsig.go.dnscheck.tools
[B] badsig.go.dnscheck.tools. 1 IN A 142.93.10.179 ;; Error: Bogus DNSSEC signature ;;[S] self sig OK; [B] bogus; [T] trusted; [U] unsigned
信頼できる署名をテストして、その署名が信頼できることを示す場合、以下の行で結果が終わるはずです:
$ drill -DT go.dnscheck.tools
[T] go.dnscheck.tools. 1 IN A 142.93.10.179 ;;[S] self sig OK; [B] bogus; [T] trusted; [U] unsigned
DNSSEC 検証リゾルバーのインストール
DNSSEC をシステム全体で使用するには、DNSSEC レコードを検証できる DNS リゾルバを使用して、すべての DNS ルックアップを経由するようにすることができます。利用可能なオプションについては、ドメイン名前解決#DNS サーバーを参照してください。DNSSEC 検証機能を有効にするにはそれぞれ特定のオプションを有効にする必要があります。
偽の (偽装された) IP アドレスを使ってサイトにアクセスしようとすると、検証リゾルバが不正な DNS データの受信を拒否するため、ブラウザ (や他のアプリケーション) にはそのようなホストは存在しないと表示されます。全ての DNS 取り合わせが検証リゾルバを経由するため、DNSSEC のサポートが組み込まれたソフトウェアをインストールする必要がありません。
特定のソフトウェアで DNSSEC を有効化
DNSSEC 検証リゾルバーのインストール をしたくない場合、DNSSEC のサポートが組み込まれているソフトウェアを使う必要があります。大抵の場合、手動でソフトウェアにパッチを適用する必要があります。パッチが存在するアプリケーションのリストが こちら にあります。さらに、一部のウェブブラウザにはプログラムにパッチを適用しなくても DNSSEC を使うことができる拡張やアドオンが存在しています。
参照
- DNSSEC Resolver Test - a simple test to see if you have DNSSEC implemented on your machine.
- DNSSEC-Tools
- DNSSEC Visualizer - a tool for visualizing the status of a DNS zone.
- RedHat: Securing DNS Traffic with DNSSEC - thorough article on implementing DNSSEC with unbound. Note that some tools are RedHat specific and not found in Arch Linux.
- Wikipedia:Domain Name System Security Extensions