pusuke0418’s diary

異常にマルチタスクな社内SEのブログ

PEAP MSCHAPv2導入前の考慮点や検討点

PEAPでは、サーバーの認証には証明書が、ユーザの認証には主にユーザID/パスワードが用いられる。
ユーザID/パスワードは、Windows端末+Active Directory環境であれば、コンピュータのクレデンシャルも利用できるため、端末認証としても利用できる。
ネットワーク認証でPEAPを使う場合、メリットとして下記が挙げられます。

  • TLSが利用できるのでセキュリティが高そう
  • 個別のアカウントを利用した認証が利用できる
  • すでに組織で利用しているActive DirectoryLDAP(パスワード属性に注意)のクレデンシャルが利用しやすい→やっぱりこのあたりが便利

注意点(クレデンシャルまわり)

  • Windows端末+Active Directory環境であれば端末認証も可能だが、タブレットなどで持ち込み端末を防ぎたければ別の仕組みが必要
  • LDAPの情報を利用する場合では、パスワード属性は平文または(確か)lmハッシュパスワード属性が必要。LDAPあるよ→即ちPEAP利用できるとはならない

注意点(Windowsとか)

  • Windows端末+Active Directory環境であれば端末認証できるやん。といいつ、「Windows端末の設定パターン+どのタイミング/条件でその認証が走るか?」を確認して検討しないと悲劇が起こる
  • Active Directoryのユーザ/パスワード使える。が、使おうとするRadiusサーバは、「EAP-MS-CHAP v2 のパスワード変更機能」に対応しているかどうか(そもそもそれが必要かどうか)
  • 会議室とか席から離れたときの無線接続とか主に使いましょう、であれば良いが。「今ある環境の接続、有線とかもすべてPEAPにしよう!」とかしているならば、ログオン前通信を検討して検証する。このあたり、

Windows 7 標準サプリカントによる無線のログオン前認証(PEAP) | Soliton Lounge(ソリトンラウンジ)とか。でも検証は絶対必要。環境によってWindows起動時のつくりこみは違うはず。

シンプルなWebスクレイピングとして

htmlから目的の部分がはっきりしていて、それが一意に決まって、後に特に処理も必要無いのであれば、Linuxシェルスクリプトがやぱり楽なのではないかという。
例えば、都営地下鉄から浅草線の運行情報を取りたい場合、

wget -O -  http://www.kotsu.metro.tokyo.jp/subway/schedule/ | grep -A 1 "class=\"asakusa\"" | sed -e 's/<[^>]*>//g' | sed -e 's/://g'


もとのhtmlには、

<th class="asakusa">浅草線:</th>
<td>現在、15分以上の遅延はありません。</td>

という部分があって、2行(もしかして遅延したときは変わるのかな?)。路線を表す部分は一意。それらの部分を取り出し→タグ削除→コロン削除。


結果は、

浅草線
現在、15分以上の遅延はありません。

ネットワーク認証のWeb認証

ネットワーク認証で用いられるWeb認証について概説です。ここでは、スイッチや無線AP/コントローラのようなネットワーク機器で行う認証についてです。

通常、ネットワークの認証は、802.1X, MACアドレス認証, Web認証に大別されます。多くのネットワーク機器の実装もそのようになっています。ただし、「Web認証」というプロトコルのような何かが存在するのではなく、あくまでWeb画面を使った認証、ということで、クレデンシャルの確認には通常RADIUSを利用してPAP/CHAPが、機器によってはLDAP等も利用されます(これはMACアドレス認証も同様です)

Web認証の特徴は、勿論ブラウザを使った方式であるということは前提でありますが、ユーザ名/パスワードでログインすることと、他2つの認証方式とは異なり、レイヤ3の通信で行われる認証であることかと思います。
利用シーンとしては、ホテルや企業、大学等でゲストへのネットワーク接続で提供される場合が多いです。

ブラウザを使った方式。
Webページとしてログイン画面を表示できるので、ロゴやメッセージも表示することができます。例えば、「リスクを承知してつかってね」メッセージとあわせ了承チェックボックスを表示したりも。
ブラウザを使うからといって、ブラウザを閉じたらネットワーク接続も終わるかというと、通常そうではないです。ネットワーク機器側ではMACアドレスIPアドレス等で接続状態が管理されているケースがほぼです。ただし、Webページで認証ログイン後ページにログアウトボタンが表示されるものもあります。それを押すと、ネットワーク機器に通知され切断(ログオフ)されます。

ユーザ認証であること。
証明書の発行とその端末へのインストールや、MACアドレスという固有情報の収集が不要です。ユーザIDの発行のみで利用が可能です。
期間を限定したユーザや、誰が発行したかの証跡を取ることができる機能を持ったRadiusシステムも市場で販売されています。

レイヤ3の通信で行われる認証。
これは、認証を行うために、既に通信ができていなければならないという矛盾した状態を発生させます。ただし、通常はDHCPによるIPアドレスの取得、DNSによる名前解決程度で済む場合が多いです。
多くの場合、ユーザがブラウザを開いてどこかのページを見ようとすると、名前解決を行い、見ようとしたページへのIPアドレスによる通信が発生した段階で、ネットワーク機器は本来の宛先を奪い取るまたはリダイレクトするなどして、Web認証画面をクライアントに表示します。

ゲストの利用が主。
毎度ブラウザを開いて認証しないとネットワークに接続できないということは、企業等組織内のユーザに導入するには、ユーザビリティが下がる行為です。一方で、外部のユーザからは、面倒でも「それを使えばインターネットが利用できる」ということになります。
ゲスト利用はよく無線LANで利用されていて、インターネット接続のみのポリシーがかけられています。ユーザIDの発行のみで利用でき、Web画面に情報も記載できるため、ゲスト用としてよく利用されます。

補足1。無線LANシステムでは、Web認証は追加の認証方式であり、接続時の認証・暗号化方式とは関係ありません。オープンなネットワークでは通信内容のセキュリティに注意します。

補足2。ゲストの利用が主と書きましたが、端末資産管理や検疫システムで、Web認証と連携するものをしばしば見かけます。その場合チェック済端末からはアプリケーションが自動でPOSTをかけ、ユーザは感知していないことが想定されます。