DHCPスヌーピング

コンピュータネットワークにおいて、DHCPスヌーピング（）とは、DHCPインフラストラクチャのセキュリティを向上させるために適用される一連の技術である。

DHCPスヌーピングは、スイッチングハブにおいて、DHCPサーバがLAN上のクライアントとの間でやり取りするDHCPメッセージの中身をスヌーピング（のぞき見）し、不正な端末がDHCPクライアントやDHCPサーバになりすます攻撃（これをDHCPスプーフィング攻撃という）を防止する。英語でスプーフィング（spoofing）とは"なりすまし"の意味であり、そのなりすましを発見するためにスヌーピング（snooping = のぞき見）して不正なDHCPパケットを監視するするのである。

右の図の例では、正規のDHCPサーバが接続されているポートのみを"Trusted port"（信頼できるポート）、それ以外を"Untrusted port"（信頼できないポート）とし、DHCPサーバから送られるメッセージがUntrusted portに届いた場合はそれを破棄する。これにより、不正なDHCPサーバからのメッセージがクライアントに届かないようになる。また、DHCPトランザクションを正常に完了したホストに関する情報は、スイッチ内のバインディングデータベースに蓄積される。このデータベースは、他のセキュリティ機能やアカウンティング機能によって使用することができる。

この他、DHCPスヌーピングデータベース情報を使用して、レイヤ2スイッチドドメインのIPの整合性を保証することがある。この情報により、ネットワークは次のことが可能になる。

 AAAアカウンティングやSNMPと組み合わせて、IPアドレスの物理的な場所を追跡できる。
 source-guard(source-lockdown)と組み合わせて、ホストが自分に割り当てられたIPアドレスのみを使用するようにする。
 arp-inspection(arp-protect)と組み合わせて、ARP要求を無害化する

また、DHCPスヌーピングはDHCPパケットを監視するのみならず、DHCPパケットのレートを制限することも可能で、大量のDHCP要求を送りつける攻撃（DoS攻撃）を防ぐことができる。具体的には、インターフェースが受信できる1秒あたりのDHCPパケット数を設定することでDoS攻撃を防ぐ。下記例はシスコ社製の機器でのコマンド設定。

(config-if)#ip dhcp snooping limit rate {1秒あたりに受信可能なDHCPパケット数}

関連項目
ARPスプーフィング
IPアドレススプーフィング

脚注

インターネット標準
アプリケーション層プロトコル