【テクニカル・上級編】 DAI(Dynamic ARP Inspection)の仕組みとDHCPスヌーピングDBとの連携によるARPスプーフィング対策 – インフラ・物理&L2/L3ネットワーク基礎実践ガイド

ARPの信頼をゼロから構築する:DAIとDHCPスヌーピングが織りなすL2防壁の深淵

ネットワークエンジニアにとって、ARP(Address Resolution Protocol)ほど「性善説」に基づいた危ういプロトコルはない。ブロードキャストで問いかけ、誰からの回答でも無批判に受け入れる。この無防備さが、L2環境におけるMan-in-the-Middle(MitM)攻撃の温床であることは論を俟たない。

今回は、この「信頼」の綻びを、Dynamic ARP Inspection(DAI)とDHCP Snoopingという二つの堅牢な機構を組み合わせることで、いかにして現代のエンタープライズネットワークの防壁へと昇華させるか、その内部挙動の深淵に迫る。

—

脆弱性の核心:ARPのステートレスな本質

ARPには認証という概念が存在しない。攻撃者が悪意のある Gratuitous ARP を投げ込めば、スイッチのCAMテーブルやクライアントのARPキャッシュは瞬時に汚染され、通信は意図しないノードへ転送される。

これを防ぐ唯一の道は、「誰がどのIPを所有しているか」という真実のソース(信頼の起点)をスイッチ自身が保持し、すべてのARPパケットに対して厳格な検閲を行うことにある。

DHCPスヌーピング:真実のバインディングデータベース

DAIが機能するための基盤となるのが DHCP Snooping だ。スイッチはDHCPのトランザクションを監視し、DHCP ACK パケットから「どのMACアドレスにどのIPが割り当てられたか」を抽出し、Binding Database に書き込む。

このデータベースこそが、L2の信頼を担保する唯一の根拠となる。

—

DAIのパケット処理プロセス:ハードウェアによる高速フィルタリング

DAIが有効化されたポートにARPパケットが到達すると、スイッチは以下のステップでパケットを検証する。

1. インターフェースの信頼性確認: 受信ポートが ip arp inspection trust に設定されているか確認する。信頼されていない(Untrusted)ポートの場合、次のステップへ進む。
2. データベース照合: 到着したARPパケット内の Sender MAC と Sender IP を、DHCP Snooping Binding Database と比較する。
3. パケットの破棄または転送: 一致しなければ、そのARPパケットは即座にドロップされ、CPUへの過負荷(DoS攻撃)を防ぐためにログが記録される。

このプロセスは通常、ASICによるハードウェア処理が行われるため、スループットを犠牲にすることなくラインレートに近い性能を維持できる。

—

実践:DAIとDHCPスヌーピングの実装

以下に、Catalyst等のスイッチにおける標準的な実装構成を示す。

! 1. DHCPスヌーピングの有効化
ip dhcp snooping
! 特定のVLANで有効化
ip dhcp snooping vlan 10,20

! 2. アップリンクポートは信頼する(ここを忘れると全通信が遮断される)
interface GigabitEthernet0/1
 description Uplink to Core Switch
 ip dhcp snooping trust
 ip arp inspection trust

! 3. DAIの有効化
ip arp inspection vlan 10,20

! 4. (オプション)レートリミットの設定
! CPU負荷を抑えるため、ポートごとのARP処理数を制限する
interface GigabitEthernet0/2
 description Access Port for Client
 ip arp inspection limit rate 15

チューニングの勘所:limit rate の深層

ip arp inspection limit rate の設定は非常に重要だ。これを過剰に大きくすると、攻撃者によるARPフラッドでCPUが枯渇する。逆に小さすぎると、DHCP更新時やGratuitous ARPが集中するネットワーク環境で正当な通信までドロップされる。

環境に応じ、show ip arp inspection statistics を定期的に確認し、ドロップ数(Dropped)と処理済み(Forwarded)のバランスを適正化せよ。

—

パフォーマンスとセキュリティの最適化:その先へ

DAIは強力だが、DHCPを使用しない固定IPのサーバーやネットワーク機器が存在する場合、そのままでは通信が遮断される。この場合、ARP ACL を作成し、DHCPスヌーピングのデータベースを補完する必要がある。

! 静的バインディング用のARP ACL作成
arp access-list STATIC_SERVERS
 permit ip host 192.168.1.10 mac host 0011.2233.4455
! DAIに適用
ip arp inspection filter STATIC_SERVERS vlan 10

ネットワークアーキテクトとしての視点

現代のインフラでは、L2レベルの防壁だけで完結させるべきではない。

  • RTT削減とTCP最適化: セキュリティ機能による処理遅延は微々たるものだが、大規模環境ではパケットのトラバース数が増える。TCP Window Scaling や SACK を活用し、経路上の微小な遅延をバッファチューニングで吸収する設計が求められる。
  • ヘッダー圧縮とセキュリティ: トランスポート層のセキュリティ(TLSハンドシェイク)において、TLS 1.3 の0-RTT機能などを活用する場合、ARPやDHCPの信頼性が担保されていないと、中間者攻撃によるセッションハイジャックのリスクがより深刻化する。

DAIは単なる「ARP対策」ではない。それは、ゼロトラストネットワークに向けた、L2層における「信頼の強制」そのものである。

パケットは嘘をつかない。しかし、パケットを流すネットワーク機器は、誰がそのパケットを操っているのかを常に疑い、検証し続けなければならない。それが、インフラエンジニアとしての矜持である。

コメント

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