変更要約: 初版
5.4レイヤ2セキュリティ
スイッチポートに接続できるMACを制限するポートセキュリティ(違反モードprotect/restrict/shutdown・スティッキMAC)、不正なDHCPサーバを排除するDHCPスヌーピング(信頼/非信頼ポートとバインディングテーブル)、そのバインディング情報を使ってARPなりすましを防ぐDynamic ARP Inspection(DAI)を、攻撃シナリオから「どのL2対策を組み合わせるか」を判断できるように学びます。
ファイアウォールやACLでL3以上を固めても、社内LANのスイッチポートに攻撃者が機器を差し込めば、MACフラッディング・不正DHCPサーバ・ARPなりすましといったレイヤ2の攻撃が成立します。L2の攻撃は「同一セグメント内」で起こるためL3の対策では防げません。この節では、アクセススイッチで有効化すべき3つの代表的なL2セキュリティ機能を、それぞれが「何の攻撃を、どういう仕組みで止めるか」に注目して学びます。
5.4.1ポートセキュリティ
- ポートセキュリティ=アクセスポートに接続できるMACアドレスの数や種類を制限する機能。許可数を超える、または許可外のMACが現れると「違反」として対処する。基本設定は
switchport mode access→switchport port-security→switchport port-security maximum N(最大数)。既定の最大数は1。 - 許可MACの登録は手動(
switchport port-security mac-address アドレス)のほか、スティッキMAC(switchport port-security mac-address sticky)で最初に学習したMACを動的に許可リストへ取り込み、running-configに保存できる。これにより手入力なしに「今つながっている正規端末」を固定できる。 - 違反時の動作=
switchport port-security violationで3種から選ぶ。protect=違反フレームを黙って破棄(ログ/カウンタ増加なし)。restrict=違反フレームを破棄しSNMPトラップ/Syslogで通知しカウンタを増やす。shutdown(既定)=ポートをerr-disabled状態にして遮断し通知する。復旧にはshutdown→no shutdownかerrdisable recoveryが必要。
5.4.2DHCPスヌーピングとDAI
- DHCPスヌーピング=スイッチがDHCPメッセージを監視し、不正なDHCPサーバ(rogue DHCP)が偽のデフォルトゲートウェイ等を配る攻撃を防ぐ機能。ポートを信頼(trusted)/非信頼(untrusted)に分け、正規のDHCPサーバへ向かうアップリンクだけをtrustedにする。非信頼ポートから来たDHCPサーバ応答(OFFER/ACK)は破棄される。有効化は
ip dhcp snooping+ip dhcp snooping vlan X、信頼ポートにip dhcp snooping trust。 - DHCPスヌーピングは正規に払い出されたリースをバインディングテーブル(MAC・IP・VLAN・ポート・リース情報の対応表)として記録する。この表が次のDAIの土台になる。
- Dynamic ARP Inspection(DAI)=ARPスプーフィング(ARPポイズニング)による中間者攻撃を防ぐ機能。非信頼ポートで受信したARPパケットを、DHCPスヌーピングのバインディングテーブルと照合し、IP-MACの対応が矛盾する偽ARPを破棄する。したがってDAIはDHCPスヌーピングに依存しており、動的環境ではスヌーピングを先に有効化する必要がある(静的な場合はARP ACLで対応)。有効化は
ip arp inspection vlan X。
「ポートセキュリティの違反モード=protect(黙って破棄)/restrict(破棄+通知+カウンタ)/shutdown(既定・err-disabled)」「スティッキMAC=学習MACをconfigに保存」「DHCPスヌーピング=信頼/非信頼でrogue DHCPを排除」「DAIはDHCPスヌーピングのバインディングテーブルに依存しARPなりすましを防ぐ」が最頻出です。DAI単体では動かず、先にDHCPスヌーピングが必要という依存関係を必ず押さえましょう。
あなたは社内アクセススイッチの運用担当で、あるフロアで「一部の利用者が突然インターネットに出られなくなり、通信が盗聴されている疑いがある」というインシデントを調査しています。調べると、何者かが会議室の空きポートに小型ルータを接続し、(A)そのルータが不正なDHCPサーバとして偽のデフォルトゲートウェイを配布し、(B)さらにARP応答を偽装して被害端末の通信を自分(攻撃者)経由に誘導する中間者攻撃を行っていました。この2種類の攻撃を同時に緩和するには、単一の機能では足りません。まず(A)の不正DHCPにはDHCPスヌーピングを有効化し、正規DHCPサーバへ向かうアップリンクのみをtrust、利用者側ポートを非信頼にすることで、非信頼ポートから来る偽のDHCP応答(OFFER/ACK)を破棄します。次に(B)のARPなりすましにはDAIを有効化しますが、ここで重要なのはDAIはDHCPスヌーピングが作るバインディングテーブルを参照してIP-MACの正当性を検証するという依存関係です。つまりDHCPスヌーピングを先に有効化しておかないとDAIは正しく機能しません。加えて、そもそも「空きポートに勝手な機器を挿す」こと自体を抑止するにはポートセキュリティで許可MAC数を制限し、違反時にrestrict(破棄+通知)やshutdownで対処すれば、不正機器の接続そのものを検知・遮断できます。ここでの判断の核心は、「rogue DHCP=DHCPスヌーピング」「ARPなりすまし=DAI(ただしスヌーピング依存)」「不正機器の物理接続=ポートセキュリティ」を、単独ではなく多層で組み合わせることです。
| 機能 | 防ぐ攻撃 | 仕組みの要点 |
|---|---|---|
| ポートセキュリティ | MACフラッディング・不正機器接続 | ポートごとに許可MAC数/種類を制限、違反はprotect/restrict/shutdown |
| DHCPスヌーピング | 不正DHCPサーバ(rogue DHCP) | 信頼ポートのみDHCP応答を許可、非信頼のOFFER/ACKを破棄、バインディング記録 |
| DAI | ARPスプーフィング(中間者) | 非信頼ポートのARPをバインディングテーブルと照合し偽ARPを破棄(スヌーピング依存) |
ひっかけ: 「DAIを有効にすればDHCPスヌーピングは不要」は誤りです——動的環境のDAIはDHCPスヌーピングが作るバインディングテーブルを参照するため、スヌーピングを先に有効化しないと正しく機能しません。また「ポートセキュリティのprotectとrestrictは同じ」も誤り=protectは通知なしで黙って破棄、restrictは破棄に加えて通知しカウンタを増やす点が異なります。「DHCPスヌーピングの信頼ポートは利用者端末側に設定する」も誤りで、信頼ポートは正規DHCPサーバへ向かうアップリンク側に設定します。
5.4.3この節のまとめ
- ポートセキュリティは許可MACを制限し、違反時はprotect(黙って破棄)/restrict(破棄+通知)/shutdown(既定・err-disabled)から選ぶ。スティッキMACで学習MACをconfig保存
- DHCPスヌーピングは信頼/非信頼ポートで不正DHCPを排除し、正規リースをバインディングテーブルに記録する
- DAIはARPなりすましを防ぐが、バインディングテーブルを参照するためDHCPスヌーピングに依存する(先にスヌーピング有効化が必要)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. あるフロアで、攻撃者が空きポートに接続した機器が「偽のデフォルトゲートウェイを配る不正DHCPサーバ」と「ARP応答を偽装する中間者攻撃」を同時に行っていた。これらを緩和する対策の組み合わせとして最も適切なものはどれか。
Q2. アクセスポートにポートセキュリティを設定し、違反時に「違反フレームを破棄しつつSNMPトラップ/Syslogで管理者へ通知し、違反カウンタを増やすが、ポート自体は稼働させ続けたい」という要件がある。最も適切な違反モードはどれか。
Q3. DHCPスヌーピングにおける信頼(trusted)ポートと非信頼(untrusted)ポートの設定方針として最も適切なものはどれか。

