Dynamic ARP Inspection



 ダイナミックARP検査とは

 ダイナミックARP検査とは、ネットワーク内のARPパケットを検査するセキュリティ機能です。この機能をCatalyst
 スイッチ上のVLANに実装させることにより、そのVLAN内でやり取りされるARPパケットは監視されることになり
 IPアドレスとMACアドレスのバインディングが不正なARPパケットをCatalystスイッチが代行受信して破棄します。



 ARPキャッシュポイズニングとは

 下図において、例えば悪意のあるホストCがIPアドレス(192.168.0.1)とMACアドレス(0000.0000.000c)が関連
 付けられている偽造ARP ReplyをブロードキャストすることでARPキャッシュをポイズニングすることができます。
 ホストBは(192.168.0.1)宛のトラフィックにホストCのMACアドレス( 0000.0000.000c)を使用してEthernet上の
 通信を行うため、本来ホストAが受信すべきトラフィックをホストCが不正に受信することになります。この結果、
 ホストCは man-in-the-middle 攻撃ができます。ダイナミックARP検査はこれを防止することができるのです。


    

 


 ダイナミックARP検査の動作

 ダイナミックARP検査により、有効なARP RequestおよびARP Replyのみがスイッチ上で転送されることが保証
 されます。ダイナミックARP検査が有効にされたVLAN上では、Catalystスイッチは以下のアクティビティを実行。

 @ 信頼できないポート ( no ip arp inspection trust ) 上のすべての [ ARP Request ] および [ ARP Reply ] を代行受信します。
 A 代行受信された各パケットに有効なIPアドレスとMACアドレスのバインディングがあるかどうかを確認します。
 B Catalyst上で保持しているバインディングデータベース上に存在しない組み合わせである場合、その無効なARPを破棄します。



 ダイナミックARP検査で使用される2種類のデータベース

 ダイナミックARP検査の際に使用されるIPアドレスとMACアドレスのバインディング情報は、ネットワーク上で
 DHCPを使用している場合、DHCPスヌーピングバインディングデータベースに保存されている情報に基づいて
 ARPパケットの有効性を判断します。従い、DHCP環境でダイナミックARP検査を発動させるためには、併せて
 DHCPスヌーピングを有効にする必要があります。一方、非DHCP環境においては、Catalyst上でスタティック
 に設定されたIPアドレスとMACアドレスの関連付けに対してARPパケットの有効性を判断することができます。
 その場合、DHCPスヌーピングを有効にする必要はなく、Catalyst上で [ arp access-list ] の定義を行います。

 オプションの設定による「追加のチェック」として、パケット内のIPアドレスが無効であるか、またはARPパケット
 内のMACアドレスがイーサネットヘッダーで指定されているアドレスと一致しない場合に、ARPパケットを破棄
 するようにダイナミックARP検査を行うよう [ ip arp inspection validate ] コマンドにより設定することもできます。




 インターフェースの信頼状態

 ダイナミックARP検査では、信頼できるI/Fに着信したパケットにはARP検査を行わず、信頼しないI/Fに着信
 したパケットに対してARP検査を行います。ダイナミックARP検査をVLAN上で有効にした場合、そのVLANの
 すべてのI/Fでは、デフォルトで信頼しない( no ip arp inspection trust ) 状態にあります。一般的な設定では
 ホストポートに接続するすべてのI/Fを [ unturst ] にして、スイッチに接続する I/F を [ trust ] に設定します。

 下図では、スイッチAとBの両方においてホストAとホストBのVLAN上でダイナミックARP検査を行っています。
 ホストA、BはDHCPによりIPアドレスが割り当てられる場合、ホストAのIPアドレスとMACアドレスがバインド
 された情報 ( DHCPスヌーピングバインディングデータベースの情報 ) は、スイッチAにしか保持されません。
 その結果、スイッチAとBを接続するI/Fが [ untrust ] である場合、ホストAからのARPパケットはスイッチBに
 よって破棄されるので、ホストAとホストBは通信することができません。従い、スイッチ間のtrustは必要です。

   

 但し、ダイナミックARP検査が行われていないスイッチに接続している、スイッチのI/Fを trust にしてしまうと
 ARPキャッシュポイズニングを行われる可能性があるため、ダイナミックARP検査が行われていないスイッチ
 に接続する場合はそのI/Fを先ず [ untrust ] に設定します。そして、ダイナミックARP検査が行われていない
 スイッチ上のホストが非DHCP環境である場合、その情報をもとに [ arp access-list ] によりARP検査を行う。
 ※ [ arp-access-list ] で定義されたデータベースは、DHCPスヌーピングデータベース内のエントリよりも優先度が高くなります。

   

 


ダイナミックARP検査 - Ciscoコンフィグ →

ネットワークエンジニアとして

Copyright(C) 2002-2008 Cool. All Rights Reserved