「DNSSEC」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(翻訳)
 
 
(3人の利用者による、間の14版が非表示)
1行目: 1行目:
[[Category:セキュリティ]]
+
[[Category:暗号化]]
[[Category:Domain Name System]]
+
[[Category:ドメインネームシステム]]
 
[[en:DNSSEC]]
 
[[en:DNSSEC]]
  +
[[es:DNSSEC]]
== DNSSEC パッケージ ==
 
  +
[[pt:DNSSEC]]
  +
{{Related articles start}}
  +
{{Related|Unbound#DNSSEC 検証}}
  +
{{Related articles end}}
   
  +
[[Wikipedia:ja:DNS Security Extensions]] より:
* {{Pkg|dnssec-anchors}}
 
  +
:DNS Security Extensions (略称 DNSSEC) は、インターネットプロトコル (IP) で使用される Domain Name System (DNS) における応答の正当性を保証するための Internet Engineering Task Force (IETF) による拡張仕様である。サーバーとクライアントの双方がこの拡張に対応し、かつ拡張機能を使った形式で該当ドメイン情報が登録されていれば、DNS 応答の偽造や改竄を検出することができる。
** [https://www.iana.org/dnssec/ IANA] が発行している鍵が含まれている非常に重要なパッケージ。鍵は {{ic|/usr/share/dnssec-trust-anchors/}} に保存されます。
 
* {{Pkg|ldns}}
 
** DNS(SEC) ライブラリ ('''libldns''')
 
** drill ツール (DNSSEC に対応した dig のようなもの)
 
*** 基本的な DNSSEC の確認に使えます。例:
 
**** 以下のコマンドは作成します (0 が返ってきます):
 
***** {{ic|drill -TD nic.cz}} (''#valid DNSSEC key'')
 
***** {{ic|drill -TD google.com}} (''#not signed domain'')
 
**** 以下のコマンドは失敗します (不正な DNS レコード):
 
***** {{ic|drill -TD rhybar.cz}}
 
***** {{ic|drill -TD badsign-a.test.dnssec-tools.org}}
 
**** ルートゾーンのトラストアンカーを使うには {{ic|-k /usr/share/dnssec-trust-anchors/root-anchor.key}} オプションを追加してください。
 
* {{Pkg|dnssec-tools}} ''(パッケージは実験的なものであり安定していません)''
 
** https://www.dnssec-tools.org/
 
** 様々なプログラムに DNSSEC のサポートを追加する '''libval''' ライブラリ。
 
*** https://www.dnssec-tools.org/wiki/index.php/DNSSEC_Applications
 
** 複数のツールが含まれています: https://www.dnssec-tools.org/wiki/index.php/DNSSEC-Tools_Components
 
*** https://www.dnssec-tools.org/wiki/index.php/Applications
 
** DNSSEC に非対応のプログラムで DNSSEC を有効にする '''libval-shim''' LD_PRELOAD ライブラリ: http://www.dnssec-tools.org/docs/tool-description/libval_shim.html
 
** PERL API
 
* {{AUR|sshfp}}
 
** known_hosts ファイルの公開鍵やホストの sshd デーモンをスキャンして SSH 公開鍵から DNS SSHFP タイプのレコードを生成します。
 
* {{AUR|opendnssec}}
 
** DNS サーバー (bind や nsd など) によって発行された DNS ゾーンに署名します。
 
** 自動で署名を更新して鍵をロールオーバーします。
 
   
== 特定のソフトウェアで DNSSEC を有効にする方法 ==
+
== 基本的な DNSSEC 検証 ==
   
  +
{{Note|DNS ルックアップで DNSSEC をデフォルトで使用するには設定が必要です。[[#DNSSEC 検証リゾルバーのインストール]] や [[#特定のソフトウェアで DNSSEC を有効化]] を見てください。}}
DNSSEC の完全なサポートを得るには、個別にアプリケーションから DNSSEC 検証を使用する必要があります。以下の方法があります:
 
* パッチ
 
** https://www.dnssec-tools.org/wiki/index.php/DNSSEC_Applications
 
** https://www.dnssec-tools.org/wiki/index.php/DNSSEC_Application_Development
 
* プラグイン・拡張・ラッパー
 
* ユニバーサル LD_PRELOAD ラッパー
 
** 次のコールを上書きします: gethostbyname(3), gethostbyaddr(3), getnameinfo(3), getaddrinfo(3), res_query(3)
 
** dnssec-tools の libval-shim: http://www.dnssec-tools.org/docs/tool-description/libval_shim.html
 
* DNS プロキシ
 
   
  +
=== インストール ===
=== [[OpenSSH]] (SSH の設計における脆弱性を修正) ===
 
   
  +
''drill'' ツールを使って基本的な DNSSEC 検証が行なえます。''drill'' を使うには {{pkg|ldns}} パッケージを[[インストール]]してください。
* dnssec-tools + パッチ: https://www.dnssec-tools.org/wiki/index.php/Ssh
 
** http://www.dnssec-tools.org/readme/README.ssh
 
   
  +
その他の利用可能なツールについては [[ドメイン名前解決#Lookup ユーティリティ]] を参照してください。
=== [[Firefox]] (セキュアなブラウジング - HTTPS の強化) ===
 
   
  +
=== DNSSEC 検証の問い合わせ ===
* DNSSEC Validator プラグイン: https://addons.mozilla.org/en-US/firefox/addon/64247/
 
* DNSSEC Drill プラグイン: http://nlnetlabs.nl/projects/drill/drill_extension.html
 
** プラグインを使うには {{pkg|ldns}} と {{pkg|dnssec-anchors}} パッケージが必要です。
 
* dnssec-tools + firefox パッチ: https://www.dnssec-tools.org/wiki/index.php/Firefox
 
   
  +
DNSSEC 検証の問い合わせを行うには、{{ic|-D}} フラグを使います:
=== [[Chromium]] (セキュアなブラウジング - HTTPS の強化) ===
 
   
  +
$ drill -D ''example.com''
* [http://code.google.com/p/chromium/issues/detail?id=50874 #50874]
 
** パッチはまだ存在しません。
 
** [http://chromium.googlecode.com/issues/attachment?aid=-8803347052009476090&name=chromium-drill-dnssec-validator.zip&token=6e3489c4e5c62bfaae02516be442d7da DNSSEC Drill extension] (EXPERIMENTAL!)
 
*** プラグインを使うには {{pkg|ldns}} と {{pkg|dnssec-anchors}} パッケージが必要です。
 
   
=== BIND (DNS ゾーンの署名) ===
+
=== テスト ===
   
  +
以下のドメインを使うことでテストが可能です。ルートサーバーから解決されるドメインまでトレースする {{ic|-T}} フラグを追加してください:
* BIND に関して詳しくは [[BIND]] を参照してください。
 
* http://www.dnssec.net/practical-documents
 
** http://www.cymru.com/Documents/secure-bind-template.html '''(configuration template!)'''
 
** http://www.bind9.net/manuals
 
** http://www.bind9.net/BIND-FAQ
 
* http://blog.techscrawl.com/2009/01/13/enabling-dnssec-on-bind/
 
* もしくは OpenDNSSEC などを使う方法もあります (完全自動で鍵をロールオーバー)。
 
   
  +
以下のような結果が表示され、DNSSEC 署名が偽物と分かります:
=== [[Postfix]] (スパムや偽装に対抗) ===
 
   
  +
{{hc|$ drill -DT badsig.go.dnscheck.tools|
* dnssec-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
  +
}}
   
  +
信頼できる署名をテストして、その署名が信頼できることを示す場合、以下の行で結果が終わるはずです:
=== jabberd (スパムや偽装に対抗) ===
 
   
  +
{{hc|$ drill -DT go.dnscheck.tools|
* dnssec-tools + パッチ
 
  +
'''[T]''' go.dnscheck.tools. 1 IN A 142.93.10.179
  +
;;[S] self sig OK; [B] bogus; [T] trusted; [U] unsigned
  +
}}
   
  +
== DNSSEC 検証リゾルバーのインストール ==
=== [[Thunderbird]] (セキュアなログイン) ===
 
   
  +
DNSSEC をシステム全体で使用するには、DNSSEC レコードを検証できる DNS リゾルバを使用して、すべての DNS ルックアップを経由するようにすることができます。利用可能なオプションについては、[[ドメイン名前解決#DNS サーバー]] を参照してください。DNSSEC 検証機能を有効にするにはそれぞれ特定のオプションを有効にする必要があります。
* dnssec-tools + パッチ
 
   
  +
偽の (偽装された) IP アドレスを使ってサイトにアクセスしようとすると、検証リゾルバが不正な DNS データの受信を拒否するため、ブラウザ (や他のアプリケーション) にはそのようなホストは存在しないと表示されます。全ての DNS 取り合わせが検証リゾルバを経由するため、DNSSEC のサポートが組み込まれたソフトウェアをインストールする必要がありません。
=== lftp (セキュアなダウンロード・ログイン) ===
 
   
  +
== 特定のソフトウェアで DNSSEC を有効化 ==
* dnssec-tools + パッチ
 
   
  +
[[DNSSEC#DNSSEC 検証リゾルバーのインストール|DNSSEC 検証リゾルバーのインストール]] をしたくない場合、DNSSEC のサポートが組み込まれているソフトウェアを使う必要があります。大抵の場合、手動でソフトウェアにパッチを適用する必要があります。パッチが存在するアプリケーションのリストが [https://www.dnssec-tools.org/wiki/index.php?title=DNSSEC_Applications こちら] にあります。さらに、一部のウェブブラウザにはプログラムにパッチを適用しなくても DNSSEC を使うことができる拡張やアドオンが存在しています。
=== [[wget]] (セキュアなダウンロード) ===
 
   
  +
== 参照 ==
* dnssec-tools + パッチ
 
   
  +
* [http://dnssec.vs.uni-due.de/ DNSSEC Resolver Test] - a simple test to see if you have DNSSEC implemented on your machine.
=== [[proftpd]] ===
 
  +
* [https://www.dnssec-tools.org/ DNSSEC-Tools]
 
  +
* [http://dnsviz.net DNSSEC Visualizer] - a tool for visualizing the status of a DNS zone.
* dnssec-tools + パッチ
 
  +
* [https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Securing_DNS_Traffic_with_DNSSEC.html 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]]
=== [[Sendmail]] (スパムや偽装に対抗) ===
 
 
* dnssec-tools + パッチ
 
 
=== LibSPF ===
 
 
* dnssec-tools + パッチ
 
 
=== ncftp (セキュアなダウンロード・ログイン) ===
 
 
* dnssec-tools + パッチ
 
 
=== libpurple ([[pidgin]] + finch -> セキュアなメッセージング) ===
 
 
* パッチはまだ存在しません。
 
 
* [http://developer.pidgin.im/ticket/12413 #12413]
 
 
== DNSSEC ハードウェア ==
 
 
[http://www.dnssec-tester.cz/ dnssec-tester] (Python と GTK+ ベースのアプリ) を使うことでルーターやモデム、アクセスポイントが DNSSEC に対応しているかどうか確認できます。収集したデータをサーバーにアップロードして、他のユーザーやメーカーにデバイスの互換性情報を提供してファームウェアの修正に役立てることも可能です (dnssec-tester を実行する前に {{ic|/etc/resolv.conf}} に他のネームサーバーが記載されていないか確認してください)。[http://www.dnssec-tester.cz/ dnssec-tester] のウェブサイトからテストの結果を確認できます。
 
 
== 参照 ==
 
   
  +
{{TranslationStatus|DNSSEC|2023-12-03|668615}}
* [[AppArmor]]
 
* [[Wikipedia:ja:DNS Security Extensions]]
 
* http://www.dnssec.net/
 
** http://www.dnssec.net/practical-documents
 
** http://www.dnssec.net/rfc
 
* https://www.iana.org/dnssec/
 
* https://www.dnssec-tools.org/
 
* http://linux.die.net/man/1/sshfp
 
* https://bugs.archlinux.org/task/20325 - [DNSSEC] Add DNS validation support to ArchLinux
 
* [http://dnsviz.net DNSSEC Visualizer]
 

2024年8月15日 (木) 13:38時点における最新版

関連記事

Wikipedia:ja:DNS Security Extensions より:

DNS Security Extensions (略称 DNSSEC) は、インターネットプロトコル (IP) で使用される Domain Name System (DNS) における応答の正当性を保証するための Internet Engineering Task Force (IETF) による拡張仕様である。サーバーとクライアントの双方がこの拡張に対応し、かつ拡張機能を使った形式で該当ドメイン情報が登録されていれば、DNS 応答の偽造や改竄を検出することができる。

基本的な DNSSEC 検証

ノート: DNS ルックアップで DNSSEC をデフォルトで使用するには設定が必要です。#DNSSEC 検証リゾルバーのインストール#特定のソフトウェアで 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 を使うことができる拡張やアドオンが存在しています。

参照

翻訳ステータス: このページは en:DNSSEC の翻訳バージョンです。最後の翻訳日は 2023-12-03 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。