こんにちは!ネットワークの世界へようこそ。インフラ・ネットワークスペシャリストの私です。
日頃からルーターやスイッチといったハードウェアに囲まれて暮らしていると、「ネットワークって、実は人間社会のルールとすごく似ているな」と感じることがよくあります。パケットが迷路のような経路を駆け抜け、宛先へ正確に届くさまは、まるで緻密に張り巡らされた物流網のようです。
さて、今回はそんなネットワークの世界で、オフィスの安全を守るための頼もしい番人「IPソースガード(IP Source Guard)」について、一緒に紐解いていきましょう。
「スプーフィング?なんだか難しそうな英語が出てきたぞ……」と思った方も大丈夫です!一歩ずつ、身近な例えから優しく解説していきますので、リラックスしてついてきてくださいね。
—
1. ネットワークの世界の「身分証詐欺」を防げ!
みなさんは、郵便配達員さんが宛先を確認して手紙を届けてくれる様子を想像できますか?
普通の郵便なら宛先を見て配達しますが、もし「差出人の名前を有名企業の名前に書き換えた偽の手紙」が大量に届いたらどうでしょう。受け取った人は騙されてしまいますよね。
これと同じことが、企業のネットワーク(LAN)の中でも起きています。
悪意を持った誰か(あるいはウイルスに感染したパソコン)が、自分のパソコンのIPアドレスやMACアドレスを「別の正当な端末のふり(詐称)」をしてパケットを送り出す攻撃、これをIPスプーフィング(なりすまし)やMACスプーフィングと呼びます。
社内ネットワークでこれが起きると、通信の乗っ取りや、他の正当なユーザーがネットワークに繋がらなくなる障害(IPアドレスの重複など)を引き起こしてしまいます。
そこで登場するのが、今回主役のIPソースガードです。
—
2. IPソースガードとは? 郵便局の「完全身分証チェックシステム」
IPソースガードは、スイッチのポート(パソコンをケーブルで繋ぐ差し込み口)単位で、「このポートには、このMACアドレスと、このIPアドレスを持つ端末しか繋いじゃダメ!」という厳格なルールを強制するセキュリティ機能です。
現実世界に例えるなら、「この部屋に入るには、顔写真付き社員証と、住民票に記載された住所の完全一致チェックを行います。少しでも嘘をついたら、その場で門前払い(パケットをゴミ箱行き)にします!」という超厳重なセキュリティゲートのようなものです。
IPソースガードが実際にどのように動いているのか、その裏側の仕組みをもう少し詳しく見てみましょう。
連携プレーで成り立っている仕組み
IPソースガードは、単体で突然「君は誰だ?」と聞き出すわけではありません。実は、以下の2つの素晴らしい機能とタッグを組んで動いています。
1. DHCPスヌーピング(DHCP Snooping): ネットワーク上でIPアドレスを自動割り当てする際、「誰にどのIPアドレスを貸し出したか」をスイッチがこっそりメモしておく機能。
2. IPソーシングバインディング(IP Source Binding): DHCPスヌーピングがメモした情報をもとに、「ポート = MACアドレス = IPアドレス」の正しい組み合わせリスト(台帳)をスイッチの頭脳(ASICなどのハードウェア)に記憶させること。
この台帳があるおかげで、スイッチは流れてきたパケットの送信元を見て、「あれ? このパケット、ポート3番から来ているのに、台帳に載っていないIPアドレス(またはMACアドレス)がついているぞ。偽物だ!」と瞬時に見破り、ハードウェアレベルでパキッとパケットを破棄(ドロップ)してくれるのです。CPUに負荷をかけずに、通信の速度を落とさず水際で防げるのが最高にクールなポイントです。
—
3. 実務で設定してみよう! Ciscoスイッチでの具体例
「理屈はわかったけれど、実際の現場ではどうやって設定するの?」という声にお応えして、代表的なCisco Catalystスイッチを例に、設定の流れを見てみましょう。
今回は、スイッチのポート GigabitEthernet 0/1 に接続される正当なPCを守るシナリオを想定します。
ステップ1:大前提となるDHCPスヌーピングの有効化
まずは、スイッチ全体で「IPアドレスの貸し出し台帳(DHCPスヌーピング)」を作れるように機能を有効化します。
! スイッチ全体でDHCPスヌーピングを有効にする
Switch(config)# ip dhcp snooping
! どのVLANでこの機能を有効にするか指定する(今回はVLAN 10)
Switch(config)# ip dhcp snooping vlan 10
ステップ2:信頼できるポート(アップリンク等)の定義
DHCPサーバーにつながっているポートや、他のスイッチと繋がる上流のポートは「信頼できるポート(Trusted)」として明示的に設定する必要があります。これを忘れると、正規のDHCPサーバーからの応答までブロックされてしまうので注意してくださいね。
! 例として GigabitEthernet 0/24 を信頼ポートに設定
Switch(config)# interface GigabitEthernet 0/24
Switch(config-if)# ip dhcp snooping trust
Step 3:エンドユーザー接続ポートでのIPソースガード有効化
いよいよ本丸です。エンドユーザーがパソコンを繋ぐポート GigabitEthernet 0/1 に対して、IPソースガードを有効にします。ここでは、IPアドレスだけでなくMACアドレスも含めて厳しくチェックする設定(ip verify source)を投入します。
! エンドユーザーが接続するポートの設定モードに入る
Switch(config)# interface GigabitEthernet 0/1
! DHCPスヌーピングをこのポートでも有効にする
Switch(config-if)# ip dhcp snooping limit rate 10
! 【重要】IPソースガードを有効化(IPとMACアドレスの両方を検証する)
Switch(config-if)# ip verify source port-security
これで設定は完了です!
この設定を入れると、もしこのポートに繋がったPCが勝手にIPアドレスを手動で変更(偽装)して通信しようものなら、スイッチが即座にそのパケットを検知し、ネットワークの海へ流出する前にシャットアウトしてくれます。
—
4. 現場のエンジニアから見た「落とし穴」とアドバイス
最後に、インフラ現場でIPソースガードを導入する際によくある「ハマりポイント」をいくつかシェアしておきます。実務の参考にしてください。
- 静的IPアドレス(固定IP)を使っている端末がある場合
- DHCPスヌーピングは「DHCPで配られたIP」をベースに台帳を作ります。そのため、プリンターやサーバーなどで「固定IP」を使っている端末がいると、台帳に載らずに通信がブロックされてしまいます!
- そんな時は、手動で台帳に登録するコマンド(
ip source binding [MACアドレス] vlan [VLAN番号] [IPアドレス] interface [ポート番号])を組み合わせてあげる必要があります。 - ボイスVLANやIPフォンとの組み合わせ
- 1つの物理ポートにIP電話機とPCが芋づる式にぶら下がる(シスコのIP Phoneを通す)環境では、MACアドレスの数が想定以上に増えるため、ポートセキュリティの最大数制限やソースガードの挙動に注意が必要です。設計段階でトポロジーをしっかり確認しましょう。
—
まとめ
いかがでしたでしょうか?
IPソースガードは、一見すると難しそうな名前をしていますが、やっていることは「ネットワークの入り口で、身分証の偽造を徹底的にチェックする優秀なドアマン」そのものです。
基本の仕組みである「DHCPスヌーピングによる台帳づくり」と「ポートでの検証設定」さえ押さえてしまえば、決して難解な技術ではありません。ぜひ、ご自身の検証環境や実務のセキュリティ強化に役立ててみてくださいね。
それでは、また次のネットワークの深淵でお会いしましょう!快適なインフラライフを!
コメント