View on GitHub

DNS flag day 2020

English (US) Le Français 日本語 Español 中文(中国)

はじめに(謝辞)

2019 DNS Flag Day は成功裏に終わりました。 名前解決に時間がかかるなどの世界中のインターネット利用者に影響を及ぼす問題に対して、 インターネットコミュニティの参加者は連携して解決に当たりました。 インターネットをより良くするために協調して尽力した全てのオペレーターに対して謝意を表します。

過去に行われた、または将来行われる予定の DNS Flag Day の概要はこの動画などで確認できます。 https://youtu.be/mH_elg9EUWw?t=649 (英語)

内容

次回予告

次回の DNS Flag Day は、現在計画中です。 その内容は、 IP パケットのフラグメンテーション (fragmentation) が引き起こす、 運用上のまたはセキュリティの問題に特化したものになる予定です。

新しい情報については dns-announce メーリングリスト (英語) を購読する、 または Twitter の @dnsflagday (英語) をフォローすることで受け取ることができます。

DNS Flag Day 2020

DNS コミュニティは、相互運用性を持続させ、性能に影響を与える問題を解消するために議論を行っています。 これは業界のメーリングリストや、 DNS-OARC 30 のパネルディスカッション (セッションの録画 (英語) と 発表資料 (英語)) といったカンファレンスで行われています。

DNS Flag Day 2020 の計画に関する提案は、 RIPE78 にて CZ.NIC の Petr Špaček 氏と ISC の Ondřej Surý 氏から行われました。 (セッションの録画 (英語) と 発表資料 (英語)) この年は、 IP フラグメンテーションが引き起こす問題にフォーカスします。

IP フラグメンテーションは、現在のインターネットでは正しく動作するか信頼できないものです。 また、 UDP で 大きなサイズの DNS メッセージが送信された際に、転送の失敗を引き起こす原因になりえます。 たとえ IP フラグメンテーションが正しく動作したとしても、セキュリティの面では不十分でしょう。 なぜなら、フラグメントされた DNS メッセージの 一部 を偽装することは理論的に可能であり、 受信側で簡単にそれを検知する方法はないからです。

これらの問題を解決するには、下記の全てを行う必要があります。 a) UDP で送信する DNS メッセージについて、一般的なネットワークリンクでフラグメンテーションが起きないようなサイズに制限するようサーバーを設定する b) DNS 応答のサイズが大きく、前述の制限したバッファーサイズを超えてしまう場合には、 DNS サーバーで UDP から TCP に切り替えられるようにする

メッセージサイズに関する検討

IP フラグメンテーションを避けつつ TCP をなるべく使わないような DNS メッセージサイズの最適値は、 ネットワークのエンドポイント同士をつなぐ物理的なリンクの最大転送単位 (Maximum Transmission Unit: MTU) に依存するでしょう。 残念なことに、 DNS サーバーソフトウェアの実装者がその情報にアクセスできる標準的な仕組みはまだありません。 標準的な仕組みが提供されるようになるまでは、 EDNS バッファーサイズが現在の一般的なネットワークリンクでフラグメンテーションを引き起こさないよう十分に小さなサイズに デフォルトで 設定されていることを推奨します。

1232 バイトの EDNS バッファーサイズは、現在のほぼすべてのネットワークにおいてフラグメンテーションを回避することができます。 この値は IPv6 の仕様で必須とされている 1280 バイトの MTU 値に基づいていて、さらに IPv6 ヘッダーと UDP ヘッダーのために 48 バイトを引いた値です。

この推奨値は、より良い情報が得られない場合の デフォルトの 値に関するものであることに留意してください。 運用者の方は、管理しているネットワークがより大きなデータフレームをサポートしていて、 IP フラグメンテーションのリスクがないことが確実であれば、より大きな値を設定しても構いません。 DNS サーバーのベンダーは、カーネルから MTU に関するより良い情報を得られる場合には、 より大きな(または、より小さな)パケットサイズを使っても構いません。

注意: まだ確定ではありません

このウェブサイト自身や、 DNS Flag Day 2020 に関するいくつかの点はまだ作業中です。

いずれにせよ、技術的な要件は明確です。 つまり、オペレーターや開発者は DNS Flag Day 2020 に向けてテストを行ったり、 システムを修正することで備えておくことができます。

ご意見やご提案をお持ちの方は、 dns-operations メーリングリスト (英語) で行われている議論に参加してください。

対応: 権威DNSサーバーのオペレーター

権威DNSサーバーの運用者の方は、サーバーが TCP (53 番ポート) での DNS 問い合わせにも応答できるようにすることで、 対応することができます。 TCP/53 をブロックする製品もありますので、 ファイアウォールも忘れずに確認してください

加えて、 EDNS バッファーサイズをフラグメンテーションを引き起こさないサイズにネゴシエートするように、 サーバーを設定することも行うべきです。 ここでの推奨値は 1232 バイトですが、まだ議論中です。

権威DNSサーバーは、問い合わせで指定された EDNS バッファーサイズを超える大きさで応答 してはいけません!

お持ちのドメインを下記に入力して “Test!” をクリックすることで、サーバーを確認することができます。 このテストは ISC の EDNS Compliance Tester を内部で使っていて、それに含まれる edns512udp テストが成功するかを確認しています。 加えて、他のテストで一般的に標準規格に準拠していることを確認しています。

あなたのドメインをテストします


対応: フルサービスリゾルバーのオペレーター

フルサービスリゾルバー (キャッシュ DNS サーバー) 側でも、権威 DNS サーバーで求められていることと同じです。 TCP (53 番ポート) での DNS 問い合わせにも応答すること、そしてフラグメンテーションされないように EDNS バッファーサイズとして 1232 バイトを設定してください。 TCP の DNS に問題がないよう、ファイアウォールも忘れずに確認してください。

そして、これが最も大切なことですが、 フルサービスリゾルバーが切り詰められた UDP 応答 (TC=1 がセットされたもの) を受け取った場合、 TCP で再度問い合わせを行わなければ なりません!

最新情報! このチェッカーは、お使いのブラウザー・システム・ ISP のフルサービスリゾルバーをテストします。 テスト用の権威 DNS サーバーに直接問い合わせるフルサービスリゾルバーが TCP をサポートしている時にだけ名前解決できる URL の画像を読み込むことで確認します。 詳細は、このチェッカーが利用している Check My DNS (英語) をご覧ください。

お使いのフルサービスリゾルバーをテストします


対応: DNS ソフトウェア製品のベンダー

DNS ソフトウェア製品のベンダーとしては、 標準規格に準拠する ことが重要です。 また、一般的なネットワークリンクでフラグメンテーションされないような EDNS バッファーサイズのデフォルト値 (1232 バイト) を設定することも重要です。

関連する標準規格は RFC 7766RFC 6891 section 6.2.3. 、そして RFC 6891 section 6.2.4. などがあります。

この試みの動機については、 IETF のインターネットドラフト intarea-frag-fragile section 6.1IETF のインターネットドラフト iab-protocol-maintenance にて解説されています。

テスト方法

ドメインの管理者の方、または権威 DNS サーバーの管理者の方は、 ドメインをテストする Web ベースのツールが公開されています。 対応: 権威DNSサーバーのオペレーター を参照してください。

クライアントやフルサービスリゾルバーの運用者のための Web ベースのテストツールは、 対応: フルサービスリゾルバーのオペレーター を参照してください。

他の方法として、コンソールで下記のコマンドを入力することでもテストできます:

$ dig +tcp @auth_IP yourdomain.example.
$ dig +tcp @resolver_IP yourdomain.example.
$ dig @resolver_IP test.knot-resolver.cz. TXT

上記の DNS 問い合わせはすべて成功するはずです。 また +tcp というオプションなしでコマンドを実行したときと同じ応答が返ってくるはずです。

DNS サービスの提供者の方は、権威 DNS サーバーやフルサービスリゾルバーを下記のように EDNS バッファーサイズのデフォルト値を変更してテストすることができます:

変更前に何の問題もなくサービスできていれば、上記の設定変更を適用しても影響はありません。 TCP で応答していない場合には、一部の問い合わせが失敗するようになるでしょう。

過去の DNS Flag Day

過去に行われた DNS Flag Day のリストは下記の通りです:

誰が行っているの?

DNS Flag Day の試みは、 DNS のソフトウェアやサービスの提供者からなるコミュニティによって主導されています。 また、 The DNS Operations, Analysis, and Research Center (DNS-OARC) からサポートを受けています。 前述のコミュニティのほとんどは DNS-OARC のメンバーでもあります。

DNS Flag Day に関する技術的な質問については、 dns-operations メーリングリスト (英語) を購読してください。

最新情報を得る

報道関係のお問い合わせについては、 media (at) dns-oarc.net にご連絡ください (英語) 。 件名に “DNS Flag Day” を含めてください。

協力者

FAQ