【実務・中級編】 DHCPスヌーピング(DHCP Snooping)による不正DHCPサーバー対策 – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

DHCPスヌーピング:ネットワークの「門番」が不正サーバーを遮断する仕組み

ネットワークエンジニアとして現場に立っていると、時に「不可解な通信障害」に遭遇します。ある日突然、PCのIPアドレスが社内のDHCPサーバーからではなく、なぜか不明なサブネットから払い出され、インターネットに出られなくなる……。犯人は、誰かが会議室のLANポートに無断で持ち込んだWi-Fiルーター(いわゆる「野良DHCPサーバー」)です。

こうしたL2レベルの脅威を防ぐための最強の盾、それが「DHCPスヌーピング(DHCP Snooping)」です。今日は、教科書的な説明の先にある、現場で「なぜこれが必要なのか」というリアリティと実装の勘所を解説します。

DHCPスヌーピングの基本思想:信頼は「場所」で決める

DHCPスヌーピングの本質は、ネットワークを「信頼できる場所(Trusted)」と「そうでない場所(Untrusted)」に分断することにあります。

  • 信頼ポート (Trusted Port): 上位の正規DHCPサーバーに繋がっているポート。ここからのDHCP応答(DHCPOFFER, DHCPACKなど)は正当なものとして通過させます。
  • 信頼不能ポート (Untrusted Port): 一般的なPCやアクセスポイントが繋がるポート。ここからDHCPサーバーの応答が流れてきたら、即座にポートをシャットダウンするか、パケットをドロップします。

RFC 2131が定義する通信フローの隙間を突く

DHCP(RFC 2131)の通信は、クライアントからのDHCPDISCOVER(ブロードキャスト)で始まります。この時、攻撃者が誰よりも早くDHCPOFFERを返せば、クライアントはその偽の情報を信じてしまいます。DHCPスヌーピングは、スイッチのASICレベルでこのDHCPOFFERを監視し、信頼できないポートからの応答を物理的に遮断することで、この「レースコンディション」を封じ込めます。

実践:Catalystスイッチでの設定例

現場でよく使われるCisco IOSでの設定を見てみましょう。この設定を忘れると、いくらセキュリティを固めても「穴」が開いたままになります。

! 1. まずVLANごとにDHCPスヌーピングを有効にする
ip dhcp snooping
ip dhcp snooping vlan 10,20

! 2. 正規のDHCPサーバーに繋がるアップリンクポートを信頼設定にする
interface GigabitEthernet0/1
 description Uplink to Core Switch
 ip dhcp snooping trust

! 3. 一般的なユーザーポートはデフォルトでUntrustedなので設定不要だが、
!    レートリミットをかけてDoS攻撃を防ぐのが現場の作法
interface range GigabitEthernet0/2 - 48
 ip dhcp snooping limit rate 15

ここで重要なのが ip dhcp snooping limit rate です。悪意のあるクライアントが大量の DHCPDISCOVER を送ることで、正規のDHCPサーバーやスイッチのCPUをパンクさせる攻撃を未然に防ぎます。

なぜ「DHCPスヌーピング」がインフラエンジニアの救いなのか

DHCPスヌーピングは単なる不正サーバー対策ではありません。ここから生成される「DHCPスヌーピングバインディングデータベース」こそが、ネットワークの「正解」になります。

このデータベースは、MACアドレス、IPアドレス、リース時間、ポート番号を紐付けたもので、これと連携させることで以下の高度なセキュリティが可能になります。

  • Dynamic ARP Inspection (DAI): ARPパケットのIP/MACの整合性を確認し、ARPスプーフィングを防止する。
  • IP Source Guard: 許可されていないIPアドレスからの通信を、L2レベルでパケット単位でドロップする。

開発・運用エンジニアが知るべき「泥臭いトラブル」

Web APIを叩くアプリを開発していると、ネットワークの細かい挙動に悩まされることがあります。「なぜか特定のクライアントだけDHCPが通らない」という場合、スヌーピングが有効になっているスイッチのログを確認してください。

! スイッチのログ確認コマンド
show ip dhcp snooping binding
show ip dhcp snooping statistics

もし show ip dhcp snooping statistics で「Drop」が増えているなら、それは何かがルール違反をしている証拠です。例えば、IPアドレスを固定(静的割り当て)している端末は、DHCPスヌーピングの環境下では「未知のIP」として通信が遮断されることがあります。この場合、手動でバインディング設定を投入するか、該当ポートを外すといった判断が必要になります。

まとめ:ネットワークの信頼は「疑う」ことから始まる

DHCPスヌーピングは、現代のオフィスやデータセンターネットワークにおいて「デフォルトで入れるべき必須機能」です。API設計で認証や認可を厳格に行うように、ネットワーク側でも「誰がどのIPを使っているのか」というレイヤ2の信頼性を担保しなければなりません。

現場でトラブルが起きたとき、パケットをキャプチャしつつ、スイッチの「どのポートが信頼されているか」を一度確認してみてください。プロトコルの深淵を覗くことは、システムの安定稼働への近道です。

皆さんのネットワークが、今日も安全なパケットで満たされていることを願っています。それでは、また次回の深掘りでお会いしましょう。

コメント

タイトルとURLをコピーしました