ページの先頭です


ページ内移動用のリンクです

  1. ホーム
  2. IIJの技術
  3. IIJ Technical Seminar
  4. 技術情報(2011年~2015年)
  5. 独自開発によるDNSSECの実現

独自開発によるDNSSECの実現

2011年10月4日

DNSに対するセキュリティ機能の拡張であるDNSSECは、近年になって導入が開始されるようになったものの、実装がそろっていないため普及が遅れています。そこで、IIJでは、DNSSEC実現のためのすべての処理を独自に実装することに。特別な知識がなくても、ご利用のドメインをDNSSEC対応にすることを可能にしました。
ここでは、DNSSEC実現のための処理を独自開発した経緯を紹介します。

DNSSECとは

IIJが提供している「IIJ DNSアウトソースサービス」は世界的に見てもまだ提供例の少ない、DNSSEC(DNS Security Extensions)に対応したDNSサービスです(2011年9月現在)。つまり、一歩進んだ安全なDNSサービスだと言えるでしょう。
さて、安全なDNSサービスとはなんでしょう。様々な観点がありますが、一歩進んだという意味では「偽情報をつかまされないように対策されている」こと、これが安全なDNSサービスのもっとも大事なポイントです。
DNSサーバが信頼できない、偽情報をつかまされるような状態だと何が起こるでしょう。例えばWebサイトへアクセスするとき、通常「www.example.com」のようにURLにホスト名を指定します。Webブラウザはこのホスト名をDNSサービスを利用してIPアドレスへと変換し、これでWebサーバのありかを見つけます。それではもし、悪意ある人物によってホスト名に対応するIPアドレスが偽のIPアドレスに書き換えられてしまったらどうなるでしょう。偽のIPアドレスが指し示す偽Webサイトでは本物と見間違うようなコンテンツが用意されていて、ログインフォームがあったとしたら(いわゆるフィッシングサイト)ホスト名を見る限り本物のURLですから、偽サイトであることを見抜くのは容易なことではありません(httpsを使っていればそう簡単にはいきませんが)。
Webサーバの乗っ取りを例にあげましたが、影響はそれだけではありません。DNSサービスが信頼できなければメールサーバにしろ何にしろ、どんなサーバであれ、どんなに強固なセキュリティ対策を行っていても間接的に攻撃される可能性があるわけですから、DNSサービスの安全性はとりわけ重要というわけです。

DNSのキャッシュポイズニング攻撃

規格があっても完全な実装が存在しないDNSSEC

ところが、DNSSECは思いの外普及していません。理由は簡単、誰もが使えるような完全な実装がまだ世の中にそろっていないからです。DNSSECを利用してゾーンを提供するには、少なくとも通常のDNSサーバの運用に加えて、下記の対応が必要です。

  • リソースレコードの署名
  • 鍵の管理(定期的な更新、無効化等)
  • レジストラへのDSレコードの登録

個々の対応はDNSSECに精通していれば、できないものではありません。しかし、DNSSECの怖いところは、手順をひとつ誤れば、正規のリソースレコードであっても偽情報扱いされてそのリソースレコードが参照できなくなるということです。それはWebサーバへアクセスできなくなり、メールサーバへメールが届かなくなるということです。それもリソースレコードを編集しても署名を更新しなかった、鍵の有効期限が切れたのに更新しなかった、レジストラへ誤ったDSレコードを渡してしまった等々、いかにもミスを誘う作業ばかりです。とてもではありませんが、手作業でできるものではありません(できると断言する運用担当者を信用してはいけません!)。しかも、完全に自動化できるソフトウェアはまだありません。
結局、私たちはDNSSEC実現のため、すべての処理を独自に実装することに決めました。これにより、お客様が「IIJサービスオンライン」(IIJの法人サービスをご契約のお客様の専用ページ)から「DNSSECを利用する」にチェックを入れるだけで、DNSSECを利用できるようになりました。その裏でどんな苦労があるのか、これほどまでに知ってもらいたいと思ったサービスはありません!

DNSSEC検証には未対応?

ただ、ここで私たちのDNSSEC対応がまだ不完全であることも伝えておかなければならないでしょう。それは、DNSSECの検証を行う参照用DNSサーバをまだ提供していないということです。
さきほどDNSSEC対応に必要な作業を述べましたが、あれは「レコードの正当性を保証する情報を付加する」ためのもので、それだけで安全になるわけではありません。実際には、参照用DNSサーバが権威サーバから引いてきたレコードを検証し、DNSSECの仕組みを使って、それが偽レコードでないことを確認する必要があるのです。
それでは、なぜ未対応のままなのか。理由は、まだDNSSECという技術が成熟していないと考えているからです。さきほど述べたようにDNSSECの運用は非常に難解で困難なものです。しかも、トラブルが起きたときの影響は甚大です。世の中に広くDNSSECが普及し、皆がDNSSECの運用に習熟するまでは、デフォルトでDNSSECの検証を有効にするのが有益かどうか疑問の残るところです。さらに、ネームサーバ(例えばbind)の実装もまだ熟成しているとは言い難く、少なからずDNSSECに関連する脆弱性が発見されている状態です。ですから、本格的に参照用DNSサーバをDNSSECに対応させるのは、より安定してサービスを提供できると自信を持って言えるようになってからにしたいと考えています。
そんなわけで今のところは、検証しようと思えばできるように、まずは権威サーバ側のご提供から始めたところです。新しい技術にはいち早く取り組みつつ、本当の意味で使える状態になり次第サービスとして提供できるように、これからも努力していきたいと思います。

田口 景介

執筆者プロフィール

田口 景介(たぐち けいすけ)

IIJ サービス本部 アプリケーションサービス部 アプリケーションサービス課
10年におよぶフリーランス生活に断腸の思いで別れを告げ、2003年 IIJ入社。これからのサービスプロバイダに求められるのは、開発だの運用だのとジャンルにとらわれず、垣根を越えてサービスの価値を考えられる技術者だと信じて活動中。自転車がライフワークになりつつある。

関連サービス・ソリューション


ページの終わりです

ページの先頭へ戻る