Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

DHCPスヌーピング(ディーエイチシピースヌーピング)とは | 意味や読み方など丁寧でわかりやすい用語解説

DHCPスヌーピング(ディーエイチシピースヌーピング)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

DHCPスヌーピング (ディーエイチシーピースヌーピング)

英語表記

DHCP snooping (ディーエイチシーピー スヌーピング)

用語解説

DHCPスヌーピングは、ネットワークのセキュリティを強化するための機能の一つであり、特にレイヤー2、すなわちデータリンク層で動作する。これは、IPアドレスなどのネットワーク設定を自動で割り当てるDHCP(Dynamic Host Configuration Protocol)の通信を監視し、その正当性を検証することで、不正なDHCPサーバーや悪意のあるクライアントからの攻撃からネットワークを保護することを目的とする。DHCPは、ネットワーク管理を大幅に簡素化する一方で、そのプロトコル自体には通信の信頼性を厳密に検証する仕組みがないため、攻撃者がこの脆弱性を悪用して不正な情報を提供する可能性がある。DHCPスヌーピングは、このような潜在的な脅威からネットワークを守るための基本的ながら非常に重要な技術である。

DHCPの基本的な動作は、クライアントがDHCP DiscoverパケットをブロードキャストしてDHCPサーバーを探索し、サーバーは利用可能な設定情報を含むDHCP Offerパケットを返信する。クライアントがこれを受けてDHCP Requestパケットを送信し、サーバーが最終的にDHCP ACKパケットで設定を確定するというDORAプロセスで構成される。しかし、このプロセスにおいて、攻撃者が正規のDHCPサーバーを装って不正なOfferパケットを送信したり、逆に正規のサーバーがIPアドレスを割り当てられないように妨害したりすることが可能となる。DHCPスヌーピングは、ネットワークスイッチがこのDHCP通信のパケット内容を詳細に「のぞき見(スヌーピング)」し、特定のルールに基づいてその正当性を判断することで、これらの攻撃を防ぐ。

この機能の核心は、ネットワーク内の各ポートを「信頼ポート(Trusted Port)」と「非信頼ポート(Untrusted Port)」に分類することにある。信頼ポートは、正規のDHCPサーバー、またはDHCPリレーエージェントが接続されているとみなされるポートであり、そこからDHCPサーバー応答パケット(DHCP Offer、DHCP ACKなど)が送られてくることは正当であると判断され、通過が許可される。一方、非信頼ポートは、通常クライアントデバイスが接続されるポートであり、正規のDHCPサーバーが存在しないと想定される。したがって、非信頼ポートからDHCPサーバー応答パケットが流入した場合、DHCPスヌーピングはそのパケットを不正なものとみなし、ブロックする。これにより、ネットワーク内に不正なDHCPサーバーが設置されても、そのサーバーがクライアントに対して不正なIPアドレス、不正なゲートウェイ、不正なDNSサーバーなどの情報を提供するのを効果的に防ぐことができる。

不正なDHCPサーバーが存在した場合、クライアントは正規のサーバーではなく、その不正なサーバーからネットワーク設定を受け取ってしまう可能性がある。これにより、クライアントの通信が攻撃者によって意図的に特定の経路へ誘導されたり、通信内容が盗聴されたり、悪意のあるウェブサイトへリダイレクトされたりするなどの「中間者攻撃」や「フィッシング攻撃」の足がかりとなりうる。DHCPスヌーピングは、このような攻撃を未然に防ぎ、ネットワークの安定性とセキュリティを大幅に向上させる。

DHCPスヌーピングは、不正なDHCPサーバーの阻止だけでなく、さらに重要な機能として「DHCPスヌーピングデータベース(DHCP Binding Table)」を構築する。このデータベースには、正規のDHCPサーバーから特定のポートに接続されたクライアントに割り当てられたIPアドレス、そのクライアントのMACアドレス、リース期間、VLAN IDなどの情報が記録される。この情報は、IPアドレスとMACアドレスの正確なマッピングを提供するものであり、他のセキュリティ機能と連携して、より多層的な防御を実現するための基盤となる。

例えば、DHCPスヌーピングデータベースは、ARP(Address Resolution Protocol)スプーフィング攻撃を防ぐ上で不可欠な要素である。ARPスプーフィングは、攻撃者が自身のMACアドレスと他者のIPアドレスを関連付けた偽のARPパケットを送信し、ネットワーク内のデバイスのARPキャッシュを汚染することで、通信を乗っ取る攻撃である。DHCPスヌーピングによって構築されたIP-MACアドレスバインディング情報があることで、スイッチは「ダイナミックARPインスペクション(DAI)」と呼ばれる機能を用いて、受信したARPパケットの内容をこのデータベースの情報と照合できる。そして、データベースと一致しない不正なARPパケットを検出・ブロックすることで、ARPスプーフィング攻撃を効果的に防ぐことが可能となる。

また、DHCPスヌーピングは「DHCPスターベーション攻撃」への対策にも寄与する。DHCPスターベーション攻撃とは、攻撃者が大量の偽のDHCP Discoverパケットを送信し、DHCPサーバーのIPアドレスプールを枯渇させることで、正規のクライアントがIPアドレスを取得できないようにするサービス拒否(DoS)攻撃の一種である。DHCPスヌーピングでは、非信頼ポートからのDHCP Discoverパケットの数を監視し、設定された閾値を超えた場合に、そのポートからのDHCPパケットをブロックする「レートリミット」機能を適用できる。これにより、攻撃の影響を特定のポートに局所化し、ネットワーク全体の安定性を維持することが可能となる。

DHCPスヌーピングを適切に実装するためには、ネットワーク内のすべてのスイッチでこの機能を有効にし、正規のDHCPサーバーが接続されているポートやDHCPリレーエージェントが接続されているポートを正確に信頼ポートとして設定することが極めて重要である。もし正規のDHCPサーバーのポートを誤って非信頼ポートとして設定してしまうと、サーバーからの正当なDHCP Offerパケットがブロックされ、クライアントがIPアドレスを取得できなくなるというネットワークサービス停止の原因となる。逆に、不正なDHCPサーバーが接続されているポートを誤って信頼ポートとして設定してしまうと、DHCPスヌーピングの効果が損なわれ、セキュリティリスクが残存してしまう。

DHCPスヌーピングは、今日のネットワーク環境において、不正なDHCP通信による潜在的な脅威からネットワークを保護し、クライアントデバイスへの安定したサービス提供と、その上に構築される高度なセキュリティ機能の土台となる不可欠な機能である。システムエンジニアを目指す者にとって、ネットワークの安全性を確保するための基本的ながら非常に重要な技術として、その原理と役割、そして他のセキュリティ機能との連携を理解しておくことは必須となる。ネットワークのセキュリティを設計・運用する際には、DHCPスヌーピングを適切に設定し、他のセキュリティ機能と組み合わせることで、より堅牢なネットワーク環境を構築することが可能となるだろう。

関連コンテンツ

関連IT用語