Enterprise Watch
バックナンバー

初心者管理者のための無線LANセキュリティ講座 【第4回】

IEEE 802.1x認証によるセキュリティの強化



 RADIUS Serverを用いる認証でも、前回説明したMACアドレスを用いるケースではPC(正確には、PCの無線LANインターフェイス)に対して認証が行われることになる。従って、登録されたMACアドレスを持つPCであれば、利用者が誰であろうとネットワークの利用を行うことができる。逆に言えば、ネットワークを利用する権利を有するユーザーであっても、特定の登録されたPCを用いなければアクセスを行うことはできない。このため、用途や目的に合わせて1人で複数台の無線クライアントを持っているようなケースでは、無線アクセスポイントを用いるおのおのについていちいち登録を行わなければならない。ほとんどのRADIUS Serverは登録可能数によって価格が変わるため、1人で何台も登録しなければならないケースではコストの無駄が増える、という面もある。

 また、認証を行った後のネットワークの利用に関してみると、利用者に提供するサービス(ログインできるネットワークの種類、サーバーのアクセス権限など)にランクを付けたいといった要求も考えられる。ランクもクライアント単位であればまだしも、クライアントが接続される無線アクセスポイントの場所によって変えるような場合では、MACアドレスによる登録ではいささか困難である。よって、認証の根拠をクライアントではなく、利用する個人にすることによって運用上の自由度をあげるようにする。このような場合に利用する技術がIEEE 802.1xという認証方法で、今回はこれについて紹介を行う。


電子的なお墨付き、「証明書」を利用してセキュリティを確保

図1:FullFlex EGの電子証明書発行画面

図2:クライアントへ証明書をダウンロードしようとしているところ
 IEEE 802.1xと一口にいってもさまざまな方式が存在するが、ここではポピュラーなEAP-TLS方式を例に説明する。これは、電子証明書、つまり電子ファイル形式の「お墨付き」を利用して認証を行う方式の1つで、簡単に言うと、ネットワークを利用する際、所持している証明書をRADIUS Serverに提示し、その内容と証明書の信頼性を確認してもらう仕組みだ。証明書にも、信頼された証明書として取り扱われ、世界中で通用する「パブリック証明書」と、私的に発行され、限られたエリアだけで利用できる「プライベート証明書」があるが、企業内だけで利用するのならプライベート証明書を利用すればよい。おおまかにいえば、両者はそれぞれ、IPアドレスでいうグローバルIPとローカルIPの関係に近いものなので、同じように考えてもらえばわかりやすい。

 さて、この認証方式を利用する際に管理者が最初にしなければならないことは、ユーザーへ証明書を発行することだ。この作業を行うためには、「認証局」と呼ばれる仕組みが必要となる。また認証の成否が、この証明書によって決まる以上、証明書が本物であるかどうかという問題も視野に入れなければならない。いくら証明書を用いても、その証明書が簡単に偽造できるようなものであれば、証明書の利用そのものに意味はなくなるからだ。このため、証明書の真偽を鑑定する機能も必要になってくる。

 今回の記事で使用しているRADIUS ServerのFullFlex EG(Version2.1以降)は、プライベート証明書を発行できる簡易的な認証局の機能を併せ持っており、図1のように利用者であるクライアントを登録する際に、いくつかの追加情報を加えて証明書を作成し、図2のように、容易にクライアントへダウンロードすることが可能となっている。また、自ら発行した証明書の検証も行うことができるため、1つの製品で、プライベート証明書の発行から検証までを賄うことができる。


クライアントに証明書を配布する手順

 実際に証明書を発行した後は、ユーザーに証明書を渡してインストールしてもらう。この証明書は1台のクライアントに限定せず、グループの認証に用いることも可能である。ここで注意しなければならないことは、証明書はネットワークを利用するたびにいちいちインストールするのではないということ。証明書のインストールは非常に簡単で、証明書のファイルをPCに移してダブルクリックするだけでよい。その上で、クライアント側で用いるIEEE 802.1x認証用のアプリケーション(これをサプリカントという)の設定において、その証明書を用いた認証を行うという選択をしておく。こうすれば、証明書をインストールしたクライアントを用いてネットワークを利用できるようになる。

 従って、クライアントの管理をしておかなければ他人に利用される可能性は、前回説明したMACアドレスを用いた認証の場合と同じである。ただ、証明書による認証の場合ではネットワークへのアクセスの際に「ユーザーネーム」などを入力しなければならないようにすることもできなくはないので、毎回入力するようにしておいてパスワードの代わりにすれば、運用におけるセキュリティは高くなる(操作性は低くなるが…)。

 なお、Windows XP/2000(SP4以降)など一部のOSはサプリカントを標準で備えているが、古いOSの場合は、別途用意する必要がある。もっとも、企業向け無線LANシステムでは、サプリカントもセットになっている(もしくはラインアップされている)場合が多く、中にはOS付属のものが利用できない場合もある。


RADIUS Serverへの設定手順

図3:証明書の登録画面。クライアントとサーバーに、対となるものを登録する
 さて、次はRADIUS Serverへの設定を行うことになるが、無線アクセスポイントについてはMACアドレスを使用した場合と差はないので、MACアドレスを用いるように設定ができていればそのまま用いればよいし、できていなければ、同じように設定すればよい。無論、IEEE 802.1xによる認証とMACアドレスを用いた認証を同時に混在して使用することも可能である。

 違いがあるのはクライアントの登録で、認証を行う根拠がMACアドレスではないので、ユーザーの登録にはMACアドレスを用いない。クライアント側の証明書を作成する際に使用したユーザーネームと同じ内容を登録することになる。つまり、ネットワークの運用者が一意的にユーザーネームを決めて、RADIUS Serverの登録と証明書の作成を行うことができるため、利用者のクライアントのMACアドレスを申請してもらわなければ登録できないということはなく、利用者に対して作成した証明書を渡し「これを使え」というだけでよい。そして利用者は、自分自身が使用しているユーザーネームが何なのかを知っている必要はないし、同じ証明書を複数同時に使用しても問題はない。もし問題があるとすれば、証明書の管理がいいかげんになって、セキュリティ強度が弱くなることだが、定期的に証明書を交換するなどの手法で回避は可能である。

 また先に述べたとおり、証明書らしきものを持ってさえいれば認証してしまうという動作では、ザルと同じでセキュリティにならない。このため、証明書が正しいかどうかを確認するために、図3のような画面からペアになる証明書をRADIUS Serverに登録しておく必要がある。


再認証によるWEP暗号化のさらなる強化

 クライアントの認証にIEEE 802.1xを用いるかどうかを決めるのは、基本として無線アクセスポイントである。しかし、そこでやり取りされる情報が正しいかどうかを判断するのがRADIUS Serverとなる。判断するために用いる情報の量は運用者が決めればよい。MACアドレスによる認証と同様にユーザーネームとパスワードだけでもよいし、ほかに条件を追加してよい。無論、ユーザーネームにMACアドレスを用いて、MACアドレスによる認証とまったく同じ設定にすることもできる。MACアドレスによる認証と同じ設定を行った場合、動作も同じになるかといえばそのようなことはない。図4AのMACアドレスによる認証と比較して、図4BのIEEE 802.1x認証では、無線アクセスポイントとRADIUS Serverとの間でやりとりされるパケットの数も中身も全然違う。

 そしてEAP-TLS方式では通信中においては「再認証」という行為を行うことができる。図5にように定期的に認証を行うように設定すると、実際の通信中でも認証が繰り返されることになる。一見、同じクライアントに対して認証を繰り返しても意味はないように思えるが、EAP-TLS方式を用いたIEEE 802.1x認証では、認証のやりとりの際に、暗号化通信で用いる「鍵」を受け取ることが可能となるのだ。

 第2回で説明したように、無線部分のWEPで用いる「暗号鍵」は、それなりのツールを使えば容易に解読できる。しかし再認証を行うと認証のたびに新しい鍵を受け取ることが可能となり、たとえWEPキーが悪意ある第三者に解読されるようなことがあっても、一定時間後にそれは変更されるので、クライアントが認証を行うごとに、WEPキーの解読を行う必要が生じる。そしてWEPキーの解読には、それなりの通信量を必要とするので、頻繁に暗号鍵が切り替わる通信においては暗号が解読される危険性は著しく低下するのだ。つまり、EAP-TLS方式を用いたIEEE 802.1x認証は、悪意でネットワークをのぞき見ようとするものを排除すると同時に、正規の利用者について通信の信頼性を向上させる効果がある。


図4A:MACアドレス認証のみを行った場合の、パケットのやりとり 図4B:IEEE 802.1x認証を行った場合のパケットの動き。MACアドレス認証のみの場合と比べ、より多くのパケットがやりとりされている 図5:再認証を行うかどうかの設定画面

RADIUS Serverを用いたアクセスコントロール

図6:アクセスポイント情報などを認証の条件に利用することもできる
 また、IEEE 802.1x認証では、アクセスコントロールの面でも効果がある。最近はあまり話題に上らないが、情報漏えいは社内からが多いと言われている。このため社内におけるネットワークへのアクセスに関して部門ごとにファイアウォールを設け、営業担当者が開発のネットワークに入れないように、また逆に、開発担当者が営業のネットワークに入れないように対策している企業も少なくない(多くもないが)。

 ところが無線LANの場合、無線アクセスポイントからの認証要求に対して、RADIUS Serverにクライアントが登録されていれば、RADIUS Serverは承認してしまうので、ネットワークの利用が可能になってしまう。企業内のネットワークをワイヤレス化したことにより、別部門にノートPCを持って行けば簡単に入り込めるようになってしまうのでは考え物である。いかに中小規模のネットワークとはいえ平坦なネットワークになったのでは少々心もとないが、この場合の対策として、RADIUS Serverにクライアント情報を登録する際に、追加情報を多少設定することにより、この問題を回避することも可能となる。

 これは、RADIUS Serverに到着する認証要求のフレームについて、参照する内容を増やし、認証に対して制限を設けるように設定することで実現する。図6のようにIEEE 802.1xで用いる認証要求のフレーム内に格納された情報には、クライアントの情報であるユーザー名とパスワード以外にも、認証要求を仲介する無線アクセスポイントの情報などが含まれているので、認証の条件にこれらを追加することで、アクセスを制限できる。たとえば営業担当者が、経理部のアクセスポイントなど営業部以外から認証要求をしてきた場合、ネットワークの接続を許可しないようにすればよい。

 なお、こうした条件付けは、AND条件とOR条件を設定することが可能なので、10台配置した無線アクセスポイントのうち、6台からはアクセス可能、といった設定も行うことが可能だ。このように、RADIUS Serverを1台用意するだけで、無線アクセスポイントが複数あっても使用できる場所をユーザーごとに制限して、ネットワークをセキュリティの観点から細分化し、運用することができるようになる。

 以上、ここまでの4回は、無線LANアクセスポイントを使用する際に行っておいたほうがよいことについて、技術知識のあまりない人にも行ってもらえることを願い、簡単にではあるが紹介を行った。しかし、セキュリティ対策において技術知識は、方策を効果的に実行するための一手段に過ぎない。本当に危険なことは、「気を抜いたとき」に起こることである。次回は一連の締めくくりとして、陥りがちな誤りについていくつかの例を示しながら注意点を紹介する。



URL
  株式会社アクセンス・テクノロジー(fullflex EG開発元)
  http://accense.com/
  株式会社シーフォーテクノロジー(fullflex EG販売元)
  http://c4t.jp/


( 杉本 丸男 )
2005/01/28 00:00

Enterprise Watch ホームページ
Copyright (c) 2005 Impress Corporation, an Impress Group company. All rights reserved.