Enterprise Watch
バックナンバー

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

RADIUSを用いたセキュリティの強化



 前回は、WEPを利用し、適正な値を鍵として設定することによってフレームの内容を見せないようにできることを紹介した。しかし、個人ならともかく、公衆無線LANサービスや企業のように、運用上WEPキーを限られた人に対してであっても公開しなければならないケースもある。展示会といった短期間の使用であれば大して問題とはならないのであるが、同じ値のものを長期間使用するというのでは、お世辞にも安全とはいえない。長期間使えばどこかからもれると考えておいた方がよいし、ちまたにある暗号解析ツールでも、それほど時間をかけずに解けてしまうほどの代物でしかない。しかし、だからといって頻繁に変更することはネットワークの利用者に過大な負荷をかけることになる。TKIPのように鍵を変更する機能を持つものもあるが、使用するアプリケーションの種類によっては、このメカニズムの影響を受けることもありうる。

 よって、WEPキーによる第1次防衛線が突破されたことを想定して、第2次防衛線を用意しておくようにすることが望ましい。今回は、仮に無線部分がリンクしてしまうような場合であっても、ネットワークへのアクセスに対して「認証」という防壁を設け、不正侵入から防衛できるようにする手法について、紹介を行う。


RADIUSによる個体識別の方法

図1:RADIUS Serverの設置イメージ
 無線LANアクセスに用いるIEEE 802.11(a/b/gなど)の場合、個体の識別には主にMACアドレス(通信を行うインターフェイスが持つアドレス。同じものは世界に2つとない)を用いる。1番手っ取り早い方法は、インターネットアクセスに関して中継を行う無線LANのアクセスポイントに、接続を許可するMACアドレスを事前に登録しておく方法で、登録されたもののみについて、接続を認める、もしくは拒絶するという方法である。しかしこの手法は、特定のアクセスポイント1台のみを使用する個人ユーザーならともかく、複数台を同時に使用する企業や公衆無線LANでは、アクセスポイント1台1台におのおのの利用者のMACアドレスをいちいち登録設定して運用する必要があるなど、非現実的なことこの上ない。

 そこで使用されるのが、RADIUS(Remote Authentication Dial-In User Service) Serverである。RADIUS Serverは、もともとはモデムなどからのダイヤルアップ接続に対する認証に使用されてきたが、現状では図1のように配置され、複数台の無線LANアクセスポイントからの確認要求に対して、個別に回答を行うように用いられている。このため、MACアドレスを用いて正当性の確認を行う場合、登録はRADIUS Serverに対してのみ行っておけばよい。アクセスポイントはクライアントからの接続要求に対して、図2のフレームのようにクライアントのMACアドレスとパスワードを用いてRADIUS Serverに問い合わせをおこない、RADIUS Serverは、問い合わせ内容のMACアドレスが登録されたものであれば図3Aのように許可(Accept)を、そうでなければ図3Bのように拒絶(Reject)をアクセスポイントに返信する。

 次以降では、無線アクセスポイントを数台配置するような中小規模のオフィスで用いるケースについて、fullflex EGという、Linux上で動作する安価なRADIUS Serverを借用できたので、これを例に紹介を行う。


図2:RADIUS Serverへの問い合わせを、Snifferでキャプチャしたところ 図3A:認証が許可(Accept)された場合 図3B:認証が拒絶(Reject)された場合

アクセスポイントとクライアントを登録する

図4:RADIUS Serverの設定画面。アクセスポイント名、IPアドレス、暗号化に用いる鍵を設定している
 ネットワークへの加入者の認証に用いるためにRADIUS Serverに設定する項目は大きく2つある。1つはRADIUS Serverに対して認証を行う機器の登録設定である。今回のケースでは無線アクセスポイントが該当する。2つ目は認証対象であるクライアントの登録設定である。

 まずは無線アクセスポイントの登録であるが、クライアントの認証要求を出してくる無線アクセスポイントそのものが正当なものであるかどうかを識別しなければならないために、これを行う必要がある。たとえば悪意を持つ者が、正当な無線アクセスポイントのフリをしてクライアントを加入させるようにしたとする。クライアントはRADIUSに登録されているので正当にインターネットにアクセスできる。しかし、中継を行う無線アクセスポイントが正当なものでないなら、そこから盗聴などの行為が行われてしまう可能性が生じてしまう。ここで用いる設定項目は3つあり、「無線アクセスポイントの識別名称」、「無線アクセスポイントのIPアドレス」、「RADIUSと無線アクセスポイントとの間で用いる暗号鍵」である。今回はおのおのの設定を図4のように「TEST-AP」、「192.168.1.2」、「TESTCODE」としておく。

 そして次に行うのがクライアントの登録設定である。この登録が実際にネットワークを利用する者の識別となるのであるが、認証を行う根拠となるものを何にするかといったものや、通信を行う際に用いる暗号の手法を何にするかなど、かなりのバリエーションが考えられる。認証を実行する際の根拠については、大きくは認証方法をMACアドレスのみによるのか、それともIEEE 802.1xを用いて証明書がなければいけないのか、というものである。そしてさらにクライアントに対する利用制限や使用時の条件なども設定する事も可能となっている。今回はRADIUS Serverの導入を目的としているので、もっとも設定項目の少ないMACアドレスのみによる登録について以下に紹介する。


MACアドレスを「ユーザー名」「パスワード」に利用する

図5:RADIUS Serverにクライアントを追加するところ

図6:ID、パスワードにはともにMACアドレスを用いる
 RADIUS Serverにクライアントを登録する際に最低限必要な項目は図5のように「ユーザー名」と「パスワード」である。MACアドレスで認証を行う場合、利用可否の判断はMACアドレスであるため、ユーザー名はMACアドレスとなる。ただしこの時注意が必要なのは、MACアドレスがどのようにRADIUS Serverに通知されるかということである。これはなぜかと言えば、認証の要求を行う無線アクセスポイントが、どのような形でそれを表示するかによる。MACアドレスは48ビットの情報を16進数で表示するのが普通であるが、無線アクセスポイントが、RADIUS Serverなどにその情報を通知する際に、これを「123456789abc」と表すものもあれば、「12-34-56-78-9a-bc」と「-」で切るものなど、いくつかの種類があるので、登録の際には中継を行う無線アクセスポイントの送出形式を確認した上で設定する必要がある。MACアドレスで認証を行おうとした場合、この表現上の差分から、異なった無線アクセスポイントで運用する場合における制限事項となる可能性があり、同一の表現を用いる機器で構築する方が確実であろう。異なる機種の無線アクセスポイントを同時に用いてRADIUS Serverを運用するなら、認証方式をMACアドレスではなくIEEE 802.1xで行うことを勧める。

 次にパスワードだが、ここも多くの場合、図6のようにMACアドレスが用いられる。ただし、図2に示したフレーム情報のように、ユーザー名として用いられるパスワードはSnifferなどでキャプチャすると中身を読むことができるが、パスワードとして用いる部分は暗号化されているためキャプチャしても読むことはできない。

 図3A/Bに示すように、MACアドレスによる認証シーケンスは単純で、ユーザー名としてのMACアドレスとパスワードが格納された認証要求に対して、RADIUS Serverは登録されたユーザーからのものであれば許可を、そうでなければ拒絶を返送する。

 このようにRADIUS Serverを導入すれば、複数台の無線アクセスポイントを用意した、中小規模の社内ネットワークであっても、いちいち無線アクセスポイントにセキュリティ関連の設定を行わずに、ある程度のセキュリティ強度を確保しつつ、比較的容易に運用を行うことができるようになる。


RADIUS Serverは高い買い物ではない

 今回紹介したRADIUS Serverは個人で使用するにはいささか高い買い物になるが、オフィスでの使用を考えると、それほど高いものではない。価格は販売代理店にでも確認してもらえばよいが、24ポートのインテリジェントHUBと同じくらいのものである。セキュリティにかける金額としては安い部類に入るであろう。まぁ問題があるとすればWindows版がないといったところであるが、いまどきLinuxなどどこでも手に入るし、大した問題ではない(というかRADIUS機能をWindowsに任せる方が個人的には怖い)。

 現状のように入り放題の無線アクセスポイントをいつまでも放置するのではなく、個人ユーザーは、最低限WEPを設定し、できればClosed SystemとAny Rejectionを設定しておくべきであるし、小規模オフィスのような場合では、MACアドレスを主体として、安価なRADIUS Serverでも用意しておいたほうが良い。いずれにせよ、多くのケースのように、まったく無防備な状態であった場合、情報が漏えいするような事があっても、被害者とはいえないと考えた方が良い。自覚のない共犯者といったところであろうか?


MACアドレスを用いた認証の問題点

 この運用方法に問題点があるとすれば、それはクライアントの所有者である利用者も、環境を提供している運用者も、クライアントのMACアドレスを決める立場にないということである。本来、MACアドレスはベンダが設定するもので、ユーザー側で勝手に決めることはできない。このため、利用者が量販店で購入してくる無線LANカードなどについて、管理者が申告に従い登録を行わなければならず、また、利用者が新しく買い換えたときにもいちいち登録の変更をしなければならない。

 中小企業内における使用のように、ある程度特定された利用者が、ほぼ企業の管理下にあるクライアントを用いて使用する程度の規模では特に問題はないが、公衆無線アクセスのように不特定多数が利用し、さらにクライアント買い替えのタイミングもバラバラな環境ではとても対応できるものではない。このような公衆無線アクセスのような場合、もしくは企業でも従業員以外に無線アクセス環境を提供するような、あらかじめMACアドレスを登録できない環境の場合では、IEEE 802.1xを用いたRADIUS認証を用いた方が良いだろう。次回は、このIEEE 802.1x認証について紹介を行う。



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


( 杉本 丸男 )
2005/01/20 10:41

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