DHCPセキュリティ弱い説:続編

先日、このブログに、「DHCPはセキュリティが低い!?」を書いたところ、けっこう反応がありました。現状、「セキュリティが弱い」というコンセンサスがないにもかかわらず、固定IPで運用しているという場面は決してない訳ではないということで、Twitterでもレスポンスをいただきました。

しかし、そんな情報がどこから出て来たのだろうかとふと疑問に思い、いろいろ検索をしてみました。まずは、マイクロソフトの「DHCPのセキュリティ情報」です。最初に『DHCP と関連プロトコルでは、次のようなセキュリティ上の問題が判明しています。』と前置きをして、以下のようなことが記載されています。タイトルだけ抜粋します。

  1. DHCP が認証されていないプロトコルです。
  2. DNS サーバーに対するサービス拒否攻撃を、DHCP サーバーを介して実行できます。
  3. 承認されていない Microsoft 以外の DHCP サーバーが DHCP クライアントに IP アドレスをリースできます。

1の認証を経ないプロトコルであるというのはその通りです。ただし、認証を行う方法はあります。これは後で説明をします。2については、一般的なDHCPの問題ではなく、ホスト名とIPアドレスの対応をActive Directoryにレコードとして追加するダイナミックDNS特有のセキュリティ問題です。一般のDHCPには関係ありません。3についてはADに承認したDHCPという仕組みを利用できますが、当然ながらADとは関係ないDHCPを立てる事は可能なのです。文章を読むと、別に誤解をさせることは何も書いていません。しかしながら、前置きのところだけを見て、それだけで判断してしまう人もいるんじゃないでしょうか。

日本の学会誌についても、検索してみました。たとえば、「IPアドレス自動割り当て方式(DHCP)におけるセキュリティの実現方法」網淳子, 岡本利夫(1995年電子情報通信学会総合大会 B-829)という論文があります。この論文は、認証なしにIPアドレス配給ができるDHCPのニセモノサーバの存在を検知する方法を提案しています。その部分を引用すると『ところが、現状のDHCPはセキュリティの面で不充分であり、権限のないサーバーが勝手に立ち上がって誤ったアドレスや経路の情報を流したり、悪いホストが他のホストになりすまして情報の横取りをする可能性が高い。』となっています。省略すると「DHCPはセキュリティ面で十分じゃない」となるかもしれませんが、この論文はニセサーバの問題を論じているのです。固定IPで運用するべきとはどこにも書いていません。

他に見つかったのは「特集 モバイルコンピューティングを支えるシステム技術/移動透過な通信を実現するプロトコル(寺岡文男)」(電子情報通信学会誌 Vol.80 No.4 pp.344-349)というものがあり、ABSTRACTの引用をすると『DHCPはネットワークパラメータの自動設定を行うプロトコルである。Windowsにも実装されて広く利用されているが、認証の機構がなく、セキュリティに問題がある。』と書かれています。この記事では場所を移動する状況での通信方式についてのことが書かれていますが、DHCPのセキュリティについて論じたものではありません。認証をしないという仕組みについての喚起として記載されています。

いずれも間違えたことはもちろん書いていません。しかしながら、断片的に読んで結論を出してしまう人にかかれば、「DHCPはセキュリティ的に問題がある」ということになってしまいます。

ちなみに、現在において、DHCPの認証はできるかどうかというと、「簡単に」できます。1つはDHCPサーバに応答してもいいホストのMACアドレスを登録する方法です。ワイヤレスでも使われる場合もあります。使うPCのMACアドレスを逐一設定しないといけないので、管理の手間はかかりますが、確実な方法として使われています。ただ、MACアドレスの登録なんてどうやるの?と思う方もいらっしゃるでしょうけど、現在はいちばん安物のブロードバンドルータでも、管理ページを開けばこの設定は出てくるのじゃないでしょうか。サーバOSでのDHCPでは設定できて当然です。この機能が使えないという状況は、実際には皆無に等しいでしょう。

さらにより確実な方法として、802.1Xという手法があります。ただし、認証のためのサーバの設置や、場合によってはデジタル証明書の発行などの作業が必要になり、簡単には行きません。しかしながら、高いレベルのセキュリティを使うところでは利用されているソリューションです。

では、認証をしないDHCPで、どんな工夫があるのかも紹介しましょう。会社などでは、カードキーで社員証にもなっているカードをリーダに読み込ませないと、オフィスに入れない環境ならば、「オフィスにいるのは社員あるいは承認された人である」という理屈が成り立ちます。それがほぼ100%実現されるのであれば、認証をしないDHCPでも問題はないでしょう。

カードキーがないようなところでも、前に書いたように、普通は基本的なセキュリティ、つまりよそ者が簡単には入れないようになっているので、概ね問題ないと考えるのが一般的です。よそ者がネットに簡単につなげるようなところでは、ネットワーク以前に財布や家具がなくなります。また、検索して見つけた記事で「我が家のインターネットはDHCPではセキュリティ的にまずいでしょうか」という答えに「ネットの心配をする前にまずは鍵を直しましょう」という回答がありましたが、まさにその通りですね。

DHCP危険説は一種の都市伝説かもしれません。もちろん、プロトコル的な問題点はあるのですが、これまでにも説明してきたように、それらの問題点は実際には問題にはなっていませんし、認証をさせるという解決策もあります。おかしな伝説がまことしやかに流れることがないように願う次第です。