ドメイン名のライフサイクルも話題に、「DNS Summer Days 2012」完全レポート

知ってますか? DNSの浸透問題や親子同居問題、検閲の影響

2012/09/07

 2012年8月31日と9月1日の2日間にわたり、インターネットイニシアティブ(IIJ)本社会議室にて「DNS Summer Days 2012」が開催された。主催は、日本DNSオペレーターズグループ(DNSOPS.JP)。IIJおよび日本レジストリサービス(JPRS)が協力した。

 DNSOPS.JPはこれまでも、BoFやDNSSECジャパンのフォーラムなどDNS関係者が集う場を開催してきているが、今回のようにDNSの初学者を対象としたチュートリアルを自ら主催したのは、実は初めて。手探りの中、1日目をDNSの初学者を対象とした構成とし、2日目は、DNSに関する議論を目的として質疑応答を重視した構成となった。

 約150名を収容できる会場は初日の午前中から早くも満席。IIJの山本功司氏によるオープニングのあと、講演が開始された。

中・上級者にも役立つチュートリアル

 DNS Summer Daysの初日は、DNSにこれから関わっていく技術者を対象とした知識の提供に重点が置かれた。

 特に、午前中に開催されたJPRSの森下泰宏氏による「DNS入門」は、あらためてDNSのおさらいをしたい技術者に対しても有用だろう。DNSはどのように誕生したのか、名前解決はどのように行われるのか、権威DNSサーバとキャッシュDNSサーバの2種類が存在する理由はなぜかといった基本的な部分から、なぜ権威DNSサーバとキャッシュDNSサーバを兼用してはいけないのか、なぜ「浸透」といった間違った概念がはびこるのかといった具体的な部分にまで話題が及んでいた。

 午後には、ブロードバンドタワー(BBTower)の伊藤高一氏による「DNSのよくある間違い」、IIJの山口崇徳氏による「DNSトラブルシューティング」、ハートビーツの滝澤隆史氏による「RFCの歩き方」の3つのチュートリアルが行われた。

 伊藤氏のチュートリアルは、DNSに関する間違いを、事例を元に取り上げて解説したもの。山口氏のチュートリアルは、DNSを運用する上で発生しがちなトラブルへの対処や防止について解説したもの。滝澤氏のチュートリアルは、DNSの仕様を調べるための取っかかりになる情報の提供を目的に、関係するRFCドキュメントの紹介と整理をしたものであった。

 これらの発表はいずれもレベルの高い内容で、中・上級者にとっても十分に読み応えのあるものとなっている。いずれの資料もDNSOPS.JPのWebページで事前公開されており、PDF形式でダウンロードできるので、一度目を通しておくとよいだろう。

活発なディスカッションが行われた2日目

dns01.jpg さくらインターネットの田中邦裕氏

 DNS Summer Daysの2日目は、さくらインターネットの田中邦裕氏による「delegationの問題、委任の弱点」から始まった。これは、ホスティング事業者の立場から、多数のゾーンが同一の権威DNSサーバに同居する場合、その運用に際してどのような点に留意しなければいけないかを説明するものだ。

 さくらインターネットに限らず、多くのレンタルサーバサービス、クラウドサービス、DNSアウトソーシングサービスなどでは、自社登録だけでなく、他社で登録、あるいは管理されているドメインでも利用できる「DNSサービス」を提供している。このDNSサービスは複数の利用者のドメイン名(ゾーン)を同一の権威DNSサーバに共存させる形で実現されることが多いが、その際にチェックが不十分だと、第三者による不正なゾーンの登録を許し、狙われたドメイン名が悪意を持つ第三者によってハイジャックされる危険性がある。

dns02.jpg 田中氏によるドメインハイジャック問題の解説

 田中氏は自社のケースを引き合いに出しながらそれらを説明したため、具体性を感じられる内容となった。そのためか、会場からの質問も具体的なものが多く、委任の確認やドメインハイジャック対策についてなど多岐に渡った。

dns03.jpg JPRSの森下泰宏氏

 続いて登壇したJPRSの森下氏は、「委任にまつわるエトセトラ」として、DNSの委任についての話題を扱った。DNSにとって「委任(delegation)」という考え方はとても重要だ。だが一方で、さまざまな障害や脆弱性の原因ともなり、攻撃の際の標的にもなったことを説明し、いわゆる「親子同居問題」と呼ばれる問題につなげた。

 親子同居問題とは、同一の権威DNSサーバ内に、親子関係にある異なるゾーンが存在する場合、同居している親から委任があるか否かにかかわらず、子のゾーンの内容が返ってしまう、という事態が起こってしまうことを指す。子ゾーンへの正規な委任の有無が名前検索の動作に関係しないというのは、確かに気持ちが悪い。

 森下氏はあくまで自分の考えであるとしたうえで、このような状況が生じてしまったのは、「そもそも自分への委任という行為が、DNSのプロトコルにおいて想定の範囲外だったのではないか」と述べた。つまり、もとから親子同居は仕様外で、未定義の設定であるため、動作が明確でない。そのことが問題を生み出しやすい原因の1つになっているということだ。

dns04.jpg 森下氏による親子同居問題の解説

 森下氏からはさらに、親子同居問題を技術的に解決するために、EDNS0を使ってキャッシュDNSサーバから権威DNSサーバに送る問い合わせパケットにゾーン情報を追加するというアイデアも披露され、会場からもさまざまな意見が出る形となった。

 午前中の質疑応答、昼休みを挟んだ午後のトップは、NTTセキュアプラットフォーム研究所の佐藤一道氏による「DNSSEC最新動向とインターネット検閲の問題の話」。DNSSECの普及状況を紹介し、その可視化や、ACM SIGCOMM 2012に投稿された、DNSによるインターネット検閲の問題を調査した論文を紹介した(この論文は、投稿者の保護のために匿名で公開されている)。

 その投稿論文は、DNSの応答を制御することでインターネット検閲を行っているISPが、網外の端末に与える影響を調査したもので、検閲ISP外のユーザーが検閲を受けてしまう「巻き添え」の仕組みや影響について述べている。その一例として、キャッシュDNSサーバーからのクエリが検閲ISPに到達したとき巻き添えが発生することなどが説明された。

 セコムIS研究所の島岡政基氏による「DANE update」は、2012年8月に基本プロトコルが標準化されたDANE(DNS-based Authentication of Named Entities)に関する話題を扱ったものだ。DNSを用いたデジタル証明書の安全な配送や、証明書とサーバの関連付けの正しさを検証できるようにするためのプロトコルの標準化、ドメイン名に証明書(またはそのハッシュ)を関連付けるリソースレコードであるTLSAの仕様や、TLSAによって何が変わるかが説明された。

 JPRSの坂口智哉氏による「BIND9の最新動向」は、BIND9の最新情報やBINDのライフサイクルなどについて説明したもの。DNSSEC関連やNXDOMAINのリダイレクト機能、RFC 1918の逆引きゾーンがビルトイン化されたことなどが紹介された。

 個人として参加した東大亮氏の「Unboundの大規模用途向け機能の実装について」は、大規模環境で有利となる「DNSラウンドロビン」と「minimal-responses」の機能や利点について説明したものだ。東氏は、その2つの機能についてUnboundコミュニティに対してコードを書いてパッチを送り、それを取り込んでもらったという実績を持つ(日本からのcontributeである)。ただし、標準状態ではその機能がオフなので、明示的にオンにする必要があるとのことだ。

 また東氏は、最近はRFC 3484により、ラウンドロビン自体が廃れる方向であるという話もあるが、複数応答するA/AAAAレコードの上位プリフィックスをそろえる(例えば、IPv4であれば上位3オクテットをそろえる)ことで、RFC 3484に従った仕様の場合でもラウンドロビンと同様のテクニックでアクセスが偏らないようにでき、実際にいくつかのサイトなどで使われている旨も述べた。

 確かに、YouTubeなどの大手サイトのIPアドレスはこのように設定されている。仕様の違いを運用でカバーした一例と言えるだろう。

知られざる「ドメイン名ライフサイクル」

 2日目の最後は予定が入れ替えられ、日本インターネットエクスチェンジ(JPIX)の石田慶樹氏とIIJの山本功司氏による「ドメイン名とDNS」、IIJの山本氏による「キャッシュDNSサーバとフィルタリングの実例」、WASPの生越昌己氏による「DNSサーバ自体をを引っ越して『浸透』しなかった話」の順となった。

 これらのうち「キャッシュDNSサーバとフィルタリングの実例」は取材もツイートも禁止となっており、今回の報告においても省略する。また、このあとに数名によるLT(ライトニング・トーク)も行われている。

dns05.jpg 日本インターネットエクスチェンジ(JPIX)の石田慶樹氏とIIJの山本功司氏

 この中で会場が一番反応したのが「ドメイン名とDNS」であった。このセッションは、話者である石田氏と山本氏の「DNSの運用を本当に理解するためにはDNSのサーバやプロトコルを理解するだけではだめで、ドメイン名とは何か、というところまで考えを及ぼさないといけない」という想いが現れていた。

 すなわち、ドメイン名には「ライフサイクル」というものがあり、登録者がドメイン名を登録・利用し、いずれそのドメイン名が不要となって手放すときには、きちんとターミネーションを行うことが大切であるという。それはインターネットの利用者を守るためだ。両者は、例えば、エンターテイメントのサイトであったexample.comが、ある日突然、まったく異なった内容に変わっていたり、巧妙にウイルスをまき散らすサイトになっていたりしたらどうなるかという例え話などを使って説明した。

 途中、山本氏が「この中で『ドロップキャッチ』という言葉を知っている人は手を挙げてください」と会場に語りかけたとき、挙手したのは1割にも満たない数であった。

 この概念を理解するため、ドメイン名が更新されない場合を考えてみる。gTLDにおける手順では、ドメイン名が更新されなかった場合、一定期間登録ができない状態に置かれたのち、再び先願による登録が可能な状態となる。このとき、この再登録が可能になる瞬間を狙って目的のドメイン名を登録しようとする行為を「ドロップキャッチ」と呼ぶ。

 もちろん、その行為自体には何ら問題はない。しかし、こうした更新されないドメイン名を、実際に使用するためではなく、ドメイン売買用の在庫確保や、ページビュー稼ぎを目的に再登録することが行われているのが実情のようだ。

 また、より具体的な話として、ドイツのSedo GmbHのようなドメイン名の売買を支援する企業のサイトも紹介された。ここに挙げられている数字を見ると、2009年8月現在で「データバンク上のドメイン数」と呼ばれるものは1350万件以上となっている(その頃の世界のドメイン名数は1億8300万件(関連記事)と言われていたので、その数の膨大さが分かる。取り引きされる金額も大きい)。

 ドメイン名は、技術的には単なる「識別子」でしかない。しかし、現実には名前というものに「価値」や「信用」を見いだす人々も多い(DNSにおけるドメイン名ハイジャックなどは、技術的に名前を乗っ取ろうとするものである)。石田氏は、そこにつけ込み、金儲けの手段にしようとする負の側面があるのも事実とし、そうした状況を踏まえたうえでDNSの運用を考えていかなければいけないとした。

 DNSは、その名の通り、ドメイン名を運用するためのシステムである。その運用対象が現実としてどのような取り扱いをされているのかという視点は、DNSというシステムを運用をする上で確かに必要であろう。

 会場からは、「ドメイン名を使わなくなったとき、例えば電話番号のように何年か利用不可とすることはできないのか」とか、「どこからが悪意があり、どこまでがビジネスか線引きが難しい」という意見も出たが、最も多かったのは、ドメイン名をきちんと使えるようにすることや、その終わりをきちんとさせることの重要性を考えてみようという意識を持てたという意見であった。

 インターネットを健全にするための1つの方向として、DNSが安定して動作し、正しい情報を正しくクライアントに返す環境の構築は欠かせない重要課題である。そのためには、ドメイン名登録者などにドメイン名にはライフサイクルがあるということを知らせ、関係する企業や組織がDNSをもっと重要視するように仕向け、現場のエンジニアのスキルアップを図っていく必要がある。

 今回の「DNS Summer Days 2012」はそのうちの1つ、エンジニアのスキルアップを図るための重要な一歩であろう。今後の継続にも期待したい。

 なお「DNS Summer Days 2012」の初日のチュートリアルの動画は、ストリーミングの形で後日公開予定だ。掲載場所などについては、日本DNSオペレーターズグループ(DNSOPS.JP)のホームページで紹介される。同様に2日目の資料については、非公開部分を削除した上で公開予定とのことだ。

(@IT 渡瀬圭一)

情報をお寄せください:

Master of IP Network フォーラム 新着記事

キャリアアップ

- PR -

注目のテーマ

- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

博報堂DYメディアパートナーズとDAC、業種特化型マーケティングソリューションの開発を開始
博報堂DYメディアパートナーズとDACは共同で、専門的な情報に特化したWebメディアと協業...

広告運用の自動化 できることとできないこと
日本の広告運用の現場にも自動化がようやく浸透し始めています。とはいえ、全てが自動化...

デジタル広告の効果測定、7割の広告主が「Cookieだけでは足りない」――サイカ調査
クッキーだけでは足りないといっても、子どものおやつへの不満ではありません。もっとず...