【図解】初心者にも分かる VLAN の仕組み 〜どんな攻撃を防げるのか、メリットや必要性について〜

スポンサーリンク

VLANとは、ブロードキャストドメインを分割するL2の仮想技術です。分かり易く言うと、物理的に1つのスイッチを、あたかも複数のスイッチがあるかのように見せる技術です。別の言い方をすると、1つの物理スイッチを、複数の仮想スイッチに分割する技術です。

これはL3の仮想技術であるVRF(1つの物理ルータを複数の仮想ルータに分割する技術)に似ています。また、サーバの世界で言えば、物理サーバの中に(Redhat KVMやWindows Hyper-V等の)ハイパーバイザ型仮想サーバを作成するのに似ています。

VLANはIEEE802.1qの規格として定められており、1~4094のVLAN IDを使い、スイッチ上のどのポートがどのVLANに所属しているかを識別します。同じVLANに所属するポート同士が、同じブロードキャストドメイン=同じ論理スイッチに所属します。

規格上は最大4094個のVLANが作れますが、機器の仕様によってはそれ以下の数しか使えないことがほとんどです。

スポンサーリンク
スポンサーリンク

VLANの必要性、セキュリティ

VLANの必要性の説明として、「グループ内での通信は許可するけどグループを跨ぐL2通信をさせたくない場合に、それを同一スイッチ内で実現する」というのをよく見ます。

確かにそれはそうなのですが、現実問題として今の時代ではEthernet通信はARPくらいのもので、IP通信がほとんどです

(VLANを使わず)同一ブロードキャストドメイン上で複数セグメントを持たせた場合、異なるセグメント間でEthernet通信は可能ですが、(ルーティングポイントが無い場合は)IP通信はできません。なのでそうなるとVLANの必要性は薄いんじゃないか?!と思うかもしれません。

しかしそうではありません。もう少しセキュリティに踏み込んだ説明をすると、VLANの必要性は「そのセグメントが保有するアクセス権を乗っ取られないため」というのが一番重要だと考えています。

具体例として以下をご覧下さい。

スポンサーリンク

図で示している通り、VLANを使わないときの問題点としては、以下2つです。

  1. ブロードキャストドメインが分割されないため、他のセグメントのARPが受信できてしまう
  2. ARPをパケットキャプチャすればどのセグメントが利用できるかが分かり、クライアントPCのIPアドレスをそのセグメントに変えてしまえば、(収容ポートを変えることなく)そのセグメントに通信できてしまう。

上記の例で言えば、もともと「10.10.10.0/24」のクライアントPCを利用している営業部の悪意あるユーザが、そのクライアントPCにWiresharkというパケットキャプチャを行うフリーソフトをインストールし、幹部のセグメント「10.19.99.0/24」の存在を把握し、そのクライアントPCのIPアドレスを「10.19.99.222/24」等に設定をします。すると、そのクライアントPCで正規の幹部のPC等にアクセスできてしまいます。これがVLANを使わないときの大きな問題となるのです。

そこで、VLANによるブロードキャストドメインの分割を試みます。営業部はVLAN ID=10、開発部はVLAN ID=20、幹部はVLAN ID=999とします。

VLAN10、20、999のそれぞれで1つずつ仮想スイッチが生成され、ブロードキャストも互いには通信できない状態となり、パケットキャプチャをしたとしても、他のVLANでどのセグメントが使われているかを把握することはできません。また、万が一分かったとして、IPをそのセグメントのものにしても、自分が使っているVLAN10のポートでは、VLAN999には通信できません

スポンサーリンク

なお注意点として、これがL3スイッチだとルーティングにより互いに通信が可能な状態になってしまいます。セキュリティを保つにはL3スイッチでACLの設定が必要となりますが、このようなスイッチが社内にたくさんあると、(一度設定するだけならともかく)セキュリティルール変更に伴う設定変更などの運用管理が大変です

なので、NWデザインとしてL3スイッチはNWの中心に配置して、そこで全てのVLAN間のアクセス制御を行い、L3スイッチからはL2スイッチを配置し、VLANを伸ばして、クライアントに接続する、という構成が理想形です。

このような構成でもやはりVLANが活きてきます。もしVLANを使わずにいると、先程と同様の手順で悪意ある営業部のユーザが、幹部のセグメントのIPを把握・設定してしまい、営業部の人間が幹部ユーザのみにアクセス許可されたサーバ等に通信できてしまうのです。

スポンサーリンク

タグVLAN

先程の例の通り、VLAN IDをL2スイッチからL3スイッチへ伝える場合、通常はVLANの数だけ物理的にLANケーブルでの結線が必要になりますが、これを1本のLANで実現する技術があります。タグVLANと呼ばれるものです。これにより、ある1つの物理ポートを、複数の仮想スイッチ間で共有することができます。

これもIEEE802.1q規格で定められています。下図のようにL3スイッチとL2スイッチの間で使われます。

タグVLANは通常のEthernetフレームを拡張する形で、下記のフォーマットになります。

スポンサーリンク

PCP(CoS)

3bit。Priority Code Pointの略。CoS(Class of Service)という呼称のほうが一般的です。

IPで言うToSにあたるもので、L2レベルでQoSを利用する場合に使われます。一般に、0がベストエフォート通信、5が音声系などの最優先通信を割り当てることが多いですが、スイッチ自体が自動で音声系通信と識別することは基本的には無く、CiscoのPolicy-mapなどにより「どのような通信の場合にCoS値を3にセットする」等と手動で設定を入れます。Cisco Phone等の一部端末やアプリは音声VLANで接続する場合等で、通信生成時にCoS値をセットすることができます。

DEI

1bit。Drop Eligibility Indicatorの略。(昔はCFIと呼ばれる、トークンリングやFDDIとの相互接続用のためのビットだったが、実用性が低くなったため、DEIに置き換わりました)

1の場合、輻輳が発生したときに優先的に廃棄することを促します。

 VLAN ID

12bit。2^12乗=4096ですが、VLAN ID=0と4095は予約されて使うことができないので、4094個のVLAN IDが利用可能です。

タイプ/長さ

Ethernetと同じ使われ方です。次にIPパケットが来る場合はOx0800が入ります。

スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーリンク