社内ネットワークのセキュリティ強化を進める中で、ファイアウォールやVPN、多要素認証を整備してきた情シス担当者は少なくないでしょう。しかし、それらの「土台」にあるL2スイッチ(レイヤー2スイッチ)の設定は後回しになっていませんか?
スイッチは社内の全端末が接続する集約ポイントです。ここを攻撃者に悪用されると、内部ネットワーク全体の通信が盗聴・改ざんされるリスクがあります。しかもスイッチのログ監視は手薄な組織が多く、長期間発覚しないのが現実です。
この記事では、情シス1人でも設定できるスイッチセキュリティの3本柱——Port Security・DHCP Snooping・DAI(Dynamic ARP Inspection)——について、攻撃者の視点を交えながら実践的に解説します。Cisco IOS系スイッチのコマンド例を主軸にしますが、概念はメーカーを問わず通用します。
L2スイッチが狙われる理由
L2スイッチはOSI参照モデルの「データリンク層」で動作し、MACアドレスを基にパケットを転送します。インターネット境界のファイアウォールと違い、スイッチは「内側の通信」を制御するため、どうしてもセキュリティ設定が見落とされがちです。
攻撃者の立場で考えてみましょう。内部ネットワークへ侵入できれば、スイッチに仕掛けを施すことで「見えないはずの通信」を丸ごと盗聴できます。スイッチそのものはほとんどのケースで24時間稼働しており、設定変更があっても気づかれにくい機器です。対策コストと効果のバランスで見ても、スイッチのセキュリティ設定は優先度が高い取り組みです。
攻撃者が狙うスイッチの3つの弱点
1. MACフラッドテーブル攻撃
スイッチは「MACアドレステーブル」を内部に持ち、どのポートにどの端末が接続されているかを記憶します。攻撃者はツールを使って大量の偽MACアドレスをスイッチに送り込み、このテーブルをあふれさせます(フラッド攻撃)。
テーブルがいっぱいになると、スイッチは「テーブルにないMACアドレス宛のパケット」を全ポートへ転送し始めます。この状態はハブと同じ動作です。同じスイッチに接続された全端末の通信が盗聴可能な状態になり、パスワードや機密データが筒抜けになります。
2. DHCPスプーフィング
ネットワーク上に「偽のDHCPサーバー」を立ち上げ、接続端末に悪意のあるIPアドレスやデフォルトゲートウェイ情報を配布する攻撃です。これにより、被害端末のすべての通信が攻撃者の機器を経由する中間者攻撃の状態に陥ります。正規のDHCPサーバーが別に存在していても、応答が早ければ攻撃者の偽サーバーが先に割り当てを完了させてしまいます。
3. ARPスプーフィング
ARP(Address Resolution Protocol)は「IPアドレスとMACアドレスの対応関係」を解決するプロトコルです。攻撃者は偽のARPリプライを送り付け、ほかの端末が持つ「ARPキャッシュ」を書き換えます。結果として、本来は別の端末宛だった通信が攻撃者の機器を経由するようになります。
ARPスプーフィングの仕組みと具体的な被害例については、ARPスプーフィングとは?仕組み・被害例・中小企業でもできる対策を現場目線で解説で詳しく解説しています。
具体的な防御手順
1. Port Security——接続できる端末を限定する
Port Securityは、特定のスイッチポートに接続できるMACアドレスの数や種類を制限する機能です。MACフラッド攻撃と不正端末の接続をまとめて防げます。
基本的な設定例(Cisco IOS)
# 対象ポートをアクセスポートに設定してからPort Securityを有効化 interface GigabitEthernet0/1 switchport mode access switchport access vlan 10 switchport port-security # 1ポートに許可するMACアドレス数を1に制限(デフォルトも1) switchport port-security maximum 1 # 最初に接続した端末のMACアドレスを自動学習して記憶する(sticky) switchport port-security mac-address sticky # 違反時の動作: shutdown(ポートをerr-disable状態にする、最も安全) switchport port-security violation shutdown
違反時の動作モードは3種類あります
・protect: 違反パケットを破棄する。ポートは維持されるがログも出力されないため気づきにくい
・restrict: 違反パケットを破棄しSNMPトラップとsyslogを出力する。ポートは維持
・shutdown: ポートを即時err-disable状態にする。最も安全で推奨
`shutdown` に設定した場合、違反後の復旧は管理者が `shutdown` コマンドに続いて `no shutdown` コマンドを実行する必要があります。再接続が多い環境では `restrict` モードとSNMPトラップ監視を組み合わせる方法も実用的です。
設定の確認コマンド
show port-security show port-security interface GigabitEthernet0/1 show port-security address
2. DHCP Snooping——偽DHCPサーバーを排除する
DHCP Snoopingは、スイッチが「信頼できるDHCPサーバーが接続されているポート(trusted)」と「端末が接続されているポート(untrusted)」を区別し、untrustedポートからのDHCPリプライを自動的に遮断する機能です。
# DHCP SnoopingをVLAN 10に対して有効化 ip dhcp snooping ip dhcp snooping vlan 10 # デフォルトは全ポートがuntrusted # 正規DHCPサーバーが接続されているポートのみtrustedに設定 interface GigabitEthernet0/24 ip dhcp snooping trust # オプション: 端末ポートへのDHCPリクエストのレート制限(フラッド攻撃防止) interface GigabitEthernet0/1 ip dhcp snooping limit rate 15
設定の確認コマンド
show ip dhcp snooping show ip dhcp snooping binding
`show ip dhcp snooping binding` は「どの端末がどのIPアドレスを取得しているか」のバインディングテーブルを表示します。このテーブルは次に説明するDAIの判断材料としても活用されます。
3. DAI(Dynamic ARP Inspection)——ARPなりすましをパケット単位で遮断する
DAIは、DHCP Snoopingのバインディングテーブルを参照し、ARPパケットに含まれる「IPアドレスとMACアドレスの組み合わせ」が正当かどうかをスイッチが1パケットずつ検証する機能です。不正なARPリプライは自動的に破棄されます。
# DAIをVLAN 10に対して有効化 ip arp inspection vlan 10 # DHCPサーバーが接続されているポートをtrustedに(DHCP Snoopingと同じポート) interface GigabitEthernet0/24 ip arp inspection trust # オプション: ARPパケットのレート制限(デフォルト100pps) interface GigabitEthernet0/1 ip arp inspection limit rate 100
設定の確認コマンド
show ip arp inspection show ip arp inspection vlan 10 show ip arp inspection statistics
スタティックIPアドレス端末への対応
DAIはDHCP Snoopingのバインディングテーブルを使うため、固定IPを設定しているサーバーやプリンターはテーブルに登録されません。DAI有効化後にこれらの端末のARPパケットが遮断されて通信できなくなることがあります。ARPアクセスリスト(ARP ACL)で手動登録することで対応できます。
# 固定IP端末の手動登録例(IPアドレスとMACアドレスの対応を明示) arp access-list STATIC-HOSTS permit ip host 192.168.10.100 mac host aabb.ccdd.eeff # DAIにARPアクセスリストを適用 ip arp inspection filter STATIC-HOSTS vlan 10
3つの対策の組み合わせ効果まとめ
| 攻撃の種類 | 有効な対策 | 設定難易度 |
|---|---|---|
| MACフラッドテーブル攻撃 | Port Security | 低(すぐ設定できる) |
| 不正端末の無断接続 | Port Security | 低 |
| DHCPスプーフィング | DHCP Snooping | 中(trusted/untrustedの設計が必要) |
| ARPスプーフィング | DAI(DHCP Snooping必須) | 中(設定の順序が重要) |
| 管理インターフェースへの不正アクセス | アクセス制限+SSHへの切り替え | 低 |
なお、VLANを使ったネットワーク分離と組み合わせることで、内部脅威の横展開をさらに封じ込めることができます。VLANとは?ネットワークセグメンテーションで内部脅威を封じ込める設計と実践ガイドも参照してみてください。
中小企業でも今日からできること
「Ciscoのマネージドスイッチなんてうちにはない」という組織でも、できることはあります。
・スイッチの管理機能の確認: 手元の機器がマネージドスイッチかどうかを確認する。Web管理画面(GUI)にアクセスできれば、Port Securityに相当する機能が存在する可能性がある
・未使用ポートの無効化: 使っていないポートを `shutdown` コマンドで無効化する。物理的な接続からの攻撃への最初の障壁になる
・管理者認証情報の変更: 出荷時のデフォルトパスワード(`cisco/cisco`、`admin/admin` など)が残っている機器を棚卸しして変更する
・管理プロトコルの切り替え: TelnetからSSHへ切り替える。TelnetはIDとパスワードが平文で流れる
・アンマネージドスイッチの把握: 部署ごとに設置された安価な非管理型スイッチを棚卸しして、重要なセグメントから段階的にマネージドスイッチへの移行を検討する
よくある誤解と注意点
【注意1】stickyコマンドを使うと端末交換時にポートが繋がらなくなる
`mac-address sticky` は最初に接続した端末のMACアドレスを記憶します。端末の交換やNICの故障交換後は、スイッチ側に学習済みのMACアドレスが残っているため、新しい端末が接続できなくなります。「端末を交換した際はstickyエントリを削除する」という運用ルールをあらかじめ決めておきましょう。
# 特定ポートのstickyエントリを削除 clear port-security sticky interface GigabitEthernet0/1
【注意2】VoIP電話や仮想マシン環境では maximum の値を調整する
VoIPフォンはPCのNICを経由してスイッチに接続されることがあり、1ポートにPCとVoIPフォンの2つのMACアドレスが現れます。仮想マシンホストも1物理ポートから複数の仮想MACアドレスが見えます。Port Securityの `maximum` 値を実態に合わせて増やしておかないと、正常な端末がブロックされてしまいます。
【注意3】DAIはDHCP Snoopingのテーブル構築後に有効化する
DHCP Snoopingのバインディングテーブルが空の状態でDAIを先に有効化すると、既存の端末のARPパケットがすべて「不正」と判断されて遮断されます。必ず①DHCP Snoopingを有効化→②端末が新たにIPアドレスを取得してテーブルが構築される→③DAIを有効化、という順序で進めてください。
本記事のまとめ
L2スイッチは「見えないセキュリティの土台」です。境界防御を整えた後の次のステップとして、スイッチレベルの設定を忘れずに取り組んでください。
・Port Security: MACフラッド攻撃と不正端末の接続を防ぐ。まず未使用ポートのshutdownと違反モードの設定から
・DHCP Snooping: 偽DHCPサーバーによる中間者攻撃を防ぐ。trusted/untrustedポートの設計が鍵になる
・DAI: ARPスプーフィングをパケット単位で遮断する。DHCP Snoopingのテーブル構築後に有効化する順序を守る
「こういった設定は大企業向け」と思われがちですが、現在市販されているマネージドスイッチの多くが対応しています。まずは手元の機器に管理機能があるかどうかを確認することが第一歩です。社内ネットワーク全体を「ゼロトラスト」の視点で見直したい方は、ゼロトラストとは?概念・仕組み・導入手順をわかりやすく解説も参考にしてください。
PR
実践 パケット解析 第3版(Chris Sanders/オライリー・ジャパン)
Wireshark を使ったネットワークトラフィックの読み方を徹底解説した定番書。スイッチセキュリティの効果検証やARPスプーフィングの実態把握に、パケットレベルの知識は欠かせません。
