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

こんにちは!ネットワークの世界へようこそ。インフラエンジニアの私にとって、パケットがスイッチのポートを駆け抜け、宛先へ正確に届く瞬間というのは、いつ見てもロマンにあふれていてワクワクするものです。

今回は、そんなネットワークの基礎を固めるうえで非常に重要、かつ現場のセキュリティ担保において「なくてはならない」機能であるDHCPスヌーピング(DHCP Snooping)について、一緒に紐解いていきましょう!

難しい専門用語や英語のヘッダー名に圧倒されてしまうことってありますよね。でも、一歩ずつ身近な例に置き換えていけば、必ず「ななんだ、そういうことか!」と腑に落ちる瞬間がやってきます。それでは、さっそく扉を開けていきましょう。

—

1. オフィスで起こる「まさか!」の事件:不正DHCPサーバの恐怖

皆さんが働くオフィスや学校を想像してみてください。自分のデスクに座って社内LANケーブルをパソコンに挿すと、魔法のように「IPアドレス」が自動で割り振られ、すぐにインターネットが使えるようになりますよね。これは裏でDHCP(Dynamic Host Configuration Protocol)という仕組みが、IPアドレスという「オフィスの机」を自動で割り当ててくれているからです。

通常、このIPアドレスを配る「総務部のような役割(DHCPサーバ)」は、社内にたった一つだけ、管理者がしっかりと管理している正規のものだけが存在するはずです。

しかし、ある日、こんな事件が起きたらどうでしょう?
誰かがうっかり、あるいは悪意を持って、市販の無線ルータを社内のスイッチに繋いでしまいました。そのルータのルータ機能(DHCP機能)がオンになっていたら……?

  • 正規のDHCPサーバ:「あなたのIPアドレスは 192.168.1.100 ですよ」
  • 不正なDHCPサーバ:「私のほうからIPアドレスをあげるね! 192.168.100.50 だよ。ちなみにインターネットに行くときの門番(デフォルトゲートウェイ)は私にしてね!」

パソコンは素直なので、先に返事をした不正なサーバの言うことを聞いてしまいます。その結果、ネットにつながらなくなったり、最悪の場合、通信のデータがすべてその不正なルータにこっそり盗み見られてしまったりするIPスプーフィング(なりすまし)や中間者攻撃の温床になってしまうのです。

「えっ、そんな簡単に乗っ取られちゃうの?」と思いますよね。そうなんです。標準のイーサネット(L2ネットワーク)の世界は、基本的に「来たパケットはみんなウェルカム!」という性善説で出来ているため、誰がどこからDHCPのオファーを出しても、スイッチは素通ししてしまうのです。

—

2. 郵便配達で例える「DHCPスヌーピング」の仕組み

ここで登場するのが、今回の主役であるDHCPスヌーピングです。

スヌーピング(Snooping)とは、英語で「詮索する」「かぎ回る」という意味。ネットワーク機器が、やり取りされるDHCPのメッセージをこっそり(いや、セキュリティのために堂々と!)監視して、ルール違反の輩をビシッと締め出す仕組みになります。

これを身近な「郵便配達とマンションの管理人さん」に例えてみましょう。

1. 信頼ポート(Trusted Port)

  • 管理人さんが「この人は本物の郵便局員さんだ」と顔パスで信頼している、正規のDHCPサーバにつながっているドアです。ここから届く手紙(DHCPオファー)は、中身を見なくても安心して全フロアに配ることができます。

2. 不信ポート(Untrusted Port)

  • マンションの一般的な住民や、どこから来たのか分からない訪問者が使うドア(一般の社員用ポート)です。ここから「私が新しい郵便屋さんです!手紙を配ります!」なんて叫ぶ声が聞こえてきたら、管理人さんはどう思うでしょうか?
  • 「いやいや、うちのマンションで手紙を配っていいのは本物の郵便局員だけだよ!偽物め、通さない!」と、その場でその手紙をゴミ箱にポイッと捨てるはずです。

DHCPスヌーピングは、まさにこの「マンションの管理人さん」の役割をスイッチに持たせる機能なんです。スイッチのポートをあらかじめ「信頼できるポート(サーバ側)」と「信頼できないポート(一般PC側)」に分類し、後者から流れてくる「IPアドレスをあげるよ(DHCP Offer / ACK)」というパケットを容赦なくブロックします。

—

3. 実務で設定してみよう!Ciscoスイッチでの設定例

「概念は分かったけれど、実際の現場ではどうやって設定するの?」という声にお応えして、インフラの現場でよく使われるCisco Catalystスイッチを例に、具体的な設定を見ていきましょう。

難しいコマンドに見えるかもしれませんが、一つひとつ意味を噛み砕けば怖くありませんよ。

! 1. まず、スイッチ全体でDHCPスヌーピング機能を有効化します
Switch(config)# ip dhcp snooping

! 2. 管理対象とするVLAN(例: VLAN 10)を指定して、スヌーピングの対象にします
Switch(config)# ip dhcp snooping vlan 10

! 3. サーバが接続されているアップリンクのポート(例: FastEthernet 0/1)を「信頼ポート」に指定します
Switch(config)# interface FastEthernet 0/1
Switch(config-if)# ip dhcp snooping trust

! 4. 一般の社員のパソコンが繋がるポート(例: FastEthernet 0/2 から 0/24)は
!    デフォルトで「不信ポート」のままですが、念のためレート制限(DDoS対策など)をかけることもあります
Switch(config)# interface range FastEthernet 0/2 - 24
Switch(config-if)# ip dhcp snooping limit rate 15

設定のポイント

  • ip dhcp snooping でスイッチの目を開かせます。これだけで、すべてのポートが「不信ポート(Untrusted)」という厳戒態勢になります。
  • サーバにつながるポートだけに ip dhcp snooping trust を忘れないように設定するのが、ネットワークエンジニアの腕の見せ所です。ここを忘れると、社内の誰もIPアドレスがもらえなくなって大パニックになってしまうので要注意ですよ!

—

4. セキュリティだけじゃない!「DHCPスヌーピングバインディングデータベース」というおまけの恩恵

実は、DHCPスヌーピングが守ってくれるのは不正サーバのブロックだけではありません。もう一つの大きな強力な武器があります。それが「DHCPスヌーピングバインディングデータベース」という台帳の作成です。

スイッチは、正当なやり取りを監視する中で、次のようなメモをこっそり残します。
> 「このMACアドレス(aabb.ccdd.eeff)のパソコンには、192.168.1.50 というIPアドレスを、FastEthernet 0/5 のポートから貸し出したぞ」

この台帳(バインディング情報)ができると、何が嬉しいのでしょうか?
これをさらにIPソースガード(IP Source Guard)やDAI(Dynamic ARP Inspection)といった他のL2セキュリティ機能と連携させることで、「おいおい、さっきDHCPで貸し出したIPアドレス以外の偽装したIPアドレスを使って通信しようとしてるやつがいるぞ!不法侵入だ!」と、IPアドレスのなりすまし(IPスプーフィング)まで完全に検知・遮断できるようになるのです。

L2の足元からガチガチに要塞を固める、まさに現代のネットワークインフラに必須のコンビネーション技ですね。

—

5. まとめ:足元を固めて、安心してパケットを走らせよう

今回は、DHCPスヌーピングについて郵便配達の例えを交えながら優しく紐解いてみました。

  • DHCPスヌーピングとは:L2スイッチ上でDHCPトラフィックを監視し、不正なサーバからのオファーを遮断するセキュリティ機能。
  • ポートの使い分け:サーバ側は「信頼ポート(Trust)」、一般端末側は「不信ポート(Untrusted)」にしっかり分ける。
  • 副次的なメリット:貸し出し台帳(バインディングデータベース)を作ることで、IPスプーフィング対策の土台にもなる。

ネットワークの構築や運用において、ルータのルーティングやファイアウォールの設定に目がいきがちですが、一番足元である「L2スイッチのセキュリティ」を疎かにしていると、思わぬところで足元をすくわれてしまいます。

「誰がどこに何を繋いでも、ルール違反は見逃さない!」という強い意志をスイッチに持たせるために、ぜひ今回のDHCPスヌーピングの仕組みを現場で活かしてみてくださいね。

それでは、また次回のネットワークの深淵でお会いしましょう!

コメント

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