はじめに
この記事では VLAN のセキュリティ上の役割についての基礎知識が必要になります。
VLAN は単に L2 レベルでのアクセス制御を行うだけではありません。
必要に応じて以下の記事を参照下さい。
ダイナミックVLANとは
企業や学校のネットワークセキュリティにおいて、ユーザの所属によって VLAN を分けることは重要です。
例えば学生が教職員用のファイルサーバにアクセスできてはならないことが多いでしょう。
そんなときは教職員用の VLAN および NW アドレスを作り、ファイルサーバはそのNWアドレスからのみアクセスできるようにします。
学生は学生用の VLAN および NW アドレスを作り、そこからインターネットや学内の学習用サーバ等にアクセスさせます。
一般的な VLAN では、スイッチのポート単位にどの VLAN を割り当てるかを決めます。つまり、場所 (LAN 差込口) によって VLAN が決まってしまいます。
ですが実際に重要なのは、『どの場所で』その VLAN が使えるかではなく、『誰が』その VLAN を使えるか、です。この考え方により、セキュアかつ柔軟なネットワークを可能にする方式が編み出されました。
それが『ダイナミック VLAN』です。動的 VLAN、認証 VLAN とも呼ばれます。
以下に一般的な VLAN とダイナミック VLAN のシーケンスの違いを示します。
上図にある通り、ダイナミック VLAN ではユーザ認証を経て、どの VLAN に所属するかが決まります。
なお、動的 VLAN の場合は一般に、認証成功後の VLAN は (ポート単位ではなく) MAC アドレス単位で紐付くため、例えば Port#1 を HUB で分岐し、PC#2 で教員がアクセスしても (MACアドレスが異なるため) 認証を求められ、そこで教員の ID/パスワード情報で認証すればその MAC アドレスには VLAN 20 が割り当てられます。
また、動的 VLAN では Radius サーバが利用されることが特徴です。Radius サーバにユーザを登録することもありますが、実際には Radius サーバの背後に ActiveDirectory ドメインコントローラや LDAP サーバ内のユーザアカウントが利用されることが多いです。
なお、Radius サーバとの認証成功時に Radius 属性 [VLAN 30] を返していますが、VLAN ID を返すか VLAN name が返すか、どの Radius 属性で返すか、機器によって細かい仕様は異なります。
ダイナミック VLAN の種類
ダイナミック VLAN の実装は大きく 3 種類あります。
- Web 認証
- IEEE802.1x 認証
- MACアドレス認証
IEEE802.1x についてはさらにいくつかの種類があります。
Web 認証
Web 認証はセキュリティと利便性のバランスがとれた方式です。
ユーザはパソコンを企業ネットワークに LAN 接続すると、最初の状態ではアクセス先が最低限に制限された仮 VLAN に繋がり、DHCP サーバからは仮 IP が払い出されます。これは、次のステップで認証画面の情報やり取りが IP (http,https) を使うために必要になります。
ブラウザを起動すると、http リダイレクトにより認証スイッチの認証画面が表示されます。(マニュアルで指定 URL を手入力させることもあります。)
そこで自身の ID/パスワードを入力し、Radius サーバから L2 スイッチに VLAN 情報が返されます。
その際には DHCP リース時間を 10 秒などの短い時間にしておく必要があります。なぜなら、VLAN が切り替わるだけでは NG で、リース時間が過ぎて新しい VLAN の IP を取得する必要があるからです。
実装例や詳細のシーケンスについては以下を参照下さい。
Web 認証のデメリットは規格化されていないことです。現在は https を認証画面にリダイレクトする際に警告が表示される、もしくは画面が表示されない、といったことが起きています。
一般的なブラウザは起動すると自動で「ホームページ」登録されているサイトや、前回最後に表示していたサイトにアクセスします。ですが最近の Web サイトは基本的に https を使っており、そのサイトアクセスを偽装して http リダイレクトを行うため、証明書不一致の警告が出るのです。(例えばブラウザの URL では https://www.yahoo.co.jp と表示されているのに、実際には L2SW と https 通信を行っているので、不正な通信となります。)
ただし、最近は Captive Portal という (規格では無いが) 世間に認識された枠組みがあり、例えば無線接続した際に特定の http サイトへアクセスし、http リダイレクトを検知すると「Web認証が必要だ」と判断し、自動でブラウザをポップアップし、リダイレクト後のページを表示する、という仕組みが (特にスマホで) 実装されています。
IEEE802.1x 認証
IEEE802.1x 認証は規格化されているため、不具合が起きにくい、もしくは改修が早いことがメリットである一方、有線 LAN で使う場合は PC 側のセットアップが必要になるなど、利便性にやや難があることがデメリットです。
IEEE802.1x 認証の方式はいくつかありますが、主に利用されるのは PEAP と EAP-TLS (スマート カードまたはその他の証明書) の 2 つです。
PEAP はユーザの ID/パスワードで認証するのに対し、EAP-TLS はクライアント証明書を使って認証します。
上図の通り、他にも EAP-TTLS という方式もあります。これは PEAP とほぼ同じ方式なのですが、Windows との親和性から PEAP がよく使われます。
以下に方式の比較を示します。
認証 方式 | クライアント認証 | サーバ認証 | セキュリティ | 特徴 |
---|---|---|---|---|
EAP- PEAP | - ID/パスワード (MS-CHAPv2) | - サーバ証明書 | - TLSで相互認証 - 認証通信保護 | - Microsoftが開発 - Windowsでよく使われる |
EAP- TLS | - クライアント 証明書 | - クライアント証明書の 配布方法の検討が必要 | ||
EAP- TTLS | - ID/パスワード (PAP,CHAP, MS-CHAPv2等) | - Funk Softwareが開発 - PEAP と比べて認証の 選択肢が複数ある | ||
EAP- LEAP | - ID/パスワードを共有鍵とみなした チャレンジ&レスポンス相互認証 (PAP,CHAP,MS-CHAPv2等) | - 脆弱性あり | - Ciscoが開発 - ID/パスワードを共有鍵 と見なしたチャレンジ& レスポンスによる 相互認証 | |
EAP- FAST | - ID/パスワード (PAP,CHAP, MS-CHAPv2等) | - 初回にPAC file を受け取り、 以降はPAC file によりサーバ を認証 ※証明書で認証 することも可 | - 匿名TLSで認証, 通信保護 - チャレンジ&レス ポンスで相互認証 - 証明書の利用可 - 証明書を使わない 場合はPAC file によりサーバ認証 | - Ciscoが開発 - LEAPの改良版 - 証明書を使わないことで 高速化するが、証明書 を使うことが推奨 |
IEEE802.1x 認証の場合はクライアントの IP 通信が不要であるため、(Web認証とは異なり) 仮 IP の払い出しが不要です。
実装例と詳細のシーケンスについては以下を参照下さい。
MACアドレス認証
MAC アドレス認証は一番利便性の高く、セキュリティが一番低い方式です。
L2スイッチは、認証前の PC のEthernet 通信の送信元 MAC アドレスを User ID とみなして Radius サーバに認証情報を送信します。パスワードは L2SW に設定された『MAC アドレス認証の共通パスワード』が使われます。
Radius サーバからはその MAC アドレスに応じた VLAN が返されます。
この方式で注意が必要なのは、認証前の端末でパケットキャプチャをすると、認証成功している端末の MAC アドレスがバッチリ見える点です。一般的な OS では MAC アドレスの詐称は簡単にできますので、あっさりとその VLAN が乗っ取られてしまいます。
コメント