目次
DHCPスヌーピングとは
DHCPスヌーピングは、レイヤ2スイッチでDHCPメッセージをチェックしてその整合性を確認するための機能です。DHCPスヌーピングによって、DHCPサーバを偽装するDHCPスプーフィングを防止できます。
DHCPスヌーピングの仕組み
DHCPスヌーピングを有効にすると、スイッチのインタフェースを2つの種類に分けます。
- Trustポート
- Untrustポート
Trustポートは、正規のDHCPサーバが接続されている方向のインタフェースです。Trustポートを設定で明示的に指定します。Trustポート以外のポートはUntrustポートになります。Untrustポートの先にはDHCPサーバが接続されているはずがないということになります。
Trustポートでは、DHCPメッセージのチェックを行いません。Untrustポートで受信したDHCPメッセージをすべてチェックします。DHCPスヌーピングの動作は、以下のように行います。
- Untrustポートで受信するすべてのDHCPメッセージをチェックする
- サーバから送信されるはずのOFFERとACKを破棄する
- クライアントから送信されるDISCOVERのMACアドレスの整合性をチェックする
- DHCPでリースされたIPアドレスとMACアドレスの対応をDHCPスヌーピングバインディングテーブルに保持する

DISCOVERのMACアドレスのチェック
DISCOVERメッセージのMACアドレスの整合性のチェックについてもう少し詳しく見ておきましょう。UntrustポートでDHCPクライアントから送信されるDISCOVERのMACアドレスの整合性をチェックします。イーサネットヘッダの送信元MACアドレスとDISCOVERメッセージのclient hardware address(CHADDR)が一致しているかどうかです。一致していないと攻撃者が不正に作り出したDISCOVERメッセージとみなして破棄します。

DHCPスヌーピングバインディングテーブル
正規のDHCPサーバと正常にDHCPでIPアドレスなどを割り当てられると、レイヤ2スイッチのDHCPスヌーピングバインディングテーブルに割り当てたIPアドレスとMACアドレスの対応を保持します。

DHCPメッセージの制限
通常のレイヤ2スイッチはイーサネットヘッダのみを参照して、イーサネットフレームを転送します。その処理はハードウェア処理です。ところが、DHCPスヌーピングを有効にすると、DHCPメッセージの内容をチェックしなければいけなくなり、スイッチのCPUに負荷をかけてしまいます。多くのDHCPメッセージを送りつけて、スイッチのCPUに過剰な負荷をかける一種のDoS攻撃もあります。こうした過剰なDHCPメッセージに対応するために、受信するDHCPメッセージを制限します。
インタフェースで受信するDHCPメッセージのしきい値を設定します。しきい値を超えるDHCPメッセージを受信するとそのインタフェースをerr-disable状態にして、過剰なDHCPメッセージを受信しないようにできます。

セキュリティの基礎
- セキュリティの目的 ~機密性/完全性/可用性~
- セキュリティの脅威と対策の概要
- マルウェア ~ユーザにとって有害なソフトウェア~
- 認証の基礎 ~正規のユーザ/デバイスですか?~
- 覚えやすくて推測されにくい安全なパスワードの作り方
- 暗号化の概要
- ファイアウォールの概要 ~正規の通信のみを転送~
- IDS/IPS ~不正アクセス対策~
- Cisco アクセスコントロールリストの概要
- パケットフィルタ ~不正な通信をブロック~
- SPI(Stateful Packet Inspection)の概要
- Cisco ACLによるパケットフィルタの設定と確認
- 名前付きACL(Named ACL)
- Cisco ACLによるパケットフィルタの設定例
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~標準ACL~
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~拡張ACL~
- リフレクシブ(Reflexive)ACL ~戻りの通信を自動的に許可~
- リフレクシブ(Reflexive)ACLの設定例
- uRPFの設定例
- VTYアクセス制御
- DHCPスプーフィング ~DHCPサーバを偽装~
- DHCPスヌーピング
- TCPインターセプトの設定例
- WAF(Web Application Firewall)の概要