DHCPスヌーピング【DHCP snooping】
概要

スイッチの各ポートに「trusted」(信頼済み)または「untrusted」(信頼できない)のいずれかを設定する。正規のDHCPサーバや上位ネットワーク機器へ接続するポートをtrustedとし、一般の端末が接続されるポートをuntrustedとする。DHCPサーバからの応答パケットはtrustedポートからのみ通過が許可され、untrustedポートを介したサーバ応答は破棄される。
この設定により、攻撃者が偽のDHCPサーバをネットワーク内に接続してIPアドレスやデフォルトゲートウェイなどの設定情報を詐称する「DHCPスプーフィング」(DHCP spoofing)を防止できる。偽サーバからの応答はuntrustedポートを経由するため、スイッチが即座に遮断する。端末に誤った設定が配布されることがなく、通信の盗聴や中間者攻撃などのリスクを低減できる。
これに加えて、スイッチはDHCP通信のやり取りから端末のMACアドレスや割り当てられたIPアドレス、接続ポート、リース期間などの対応情報を学習し、「DHCPスヌーピングバインディングテーブル」として保持する。以後の通信がこのテーブルと矛盾する場合、例えばuntrustedポートの端末が他の端末に割り当てられたIPアドレスを使用しようとした場合は、不正な通信として遮断する。また、同一端末から短時間に大量のDHCP要求が送信される場合も攻撃とみなして破棄する。これはIPアドレスの枯渇を狙った「DHCPスターベーション攻撃」(DHCP starvation)への対策としても機能する。
バインディングテーブルはARPパケットを検証してARPスプーフィングを防ぐ「ダイナミックARPインスペクション」(DAI:Dynamic ARP Inspection)や、登録済みの端末からの通信のみを許可する「IPソースガード」(IP source guard)といった関連セキュリティ機能とも共有され、レイヤ2ネットワーク全体の防御基盤として活用される。