この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章の内容は、次のとおりです。
DAI 機能の詳細については、次の項を参照してください。
ダイナミック ARP インスペクション(DAI)とは、有効な ARP 要求と応答だけが中継されるようにするための機能です。信頼できないポート上でのすべての ARP 要求と応答は、この機能によって代行受信されます。代行受信されたパケットが有効な IP-to-MAC アドレス バインディングを持つことが検証されると、ローカル ARP キャッシュが更新されるか、適切な宛先にパケットが転送されます。 この機能がイネーブルのときは、無効な ARP パケットはドロップされます。
ARP では、IP アドレスを MAC アドレスにマッピングすることで、レイヤ 2 ブロードキャスト ドメイン内の IP 通信を実現します。 たとえば、ホスト B がホスト A に情報を送信しようとして、ホスト B の ARP キャッシュにホスト A の MAC アドレスがないという場合、 ARP の用語では、ホスト B が送信者、ホスト A はターゲットになります。
ホスト B は、ホスト A の IP アドレスに関連付けられた MAC アドレスを取得するため、このブロードキャスト ドメイン内の全ホストに対してブロードキャスト メッセージを送信します。 このブロードキャスト ドメイン内のホストはすべて ARP 要求を受信し、ホスト A は MAC アドレスで応答します。
Release 4.2(1)SV2(1.1) からは、IP アドレスと MAC アドレスのペアに基づくトラフィックのフィルタリングではなく、送信元 IP アドレスにのみ基づいてトラフィックをフィルタリングできます。 詳細については、送信元 IP によるフィルタリングのイネーブル化を参照してください。
ARP スプーフィング攻撃とは、要求されていない ARP 応答を送りつけてホストのキャッシュを更新するというものです。それ以降は、攻撃者が検出されて ARP キャッシュ内の情報が修正されない限り、トラフィックは攻撃者を介して転送されます。
この図では、ホスト A、B、C はインターフェイス A、B、C を介してデバイスに接続されており、これらのインターフェイスはすべて同じサブネット上にあります。 カッコ内は、各ホストの IP アドレスと MAC アドレスを示します。 たとえば、ホスト A は IP アドレス IA と MAC アドレス MA を使用します。
ホスト A がホスト B に IP データを送信する必要がある場合、ホスト A は IP アドレス IB に関連付けられた MAC アドレスを求める ARP 要求をブロードキャストします。 デバイスおよびホスト B がこの ARP 要求を受信すると、IP アドレス IA および MAC アドレス MA を持つホストを表すバインディングが、デバイスおよびホスト B の ARP キャッシュに追加されます。
ホスト B が応答すると、IP アドレス IB および MAC アドレス MB を持つホストを表すバインディングが、デバイスとホスト A の ARP キャッシュに追加されます。
ホスト C は、次の 2 つの ARP 応答を偽造してブロードキャストすれば、ホスト A とホスト B を欺く(スプーフィング)ことができます。
このような応答を受け取ると、ホスト B は、IA に送られるはずであったトラフィックの宛先 MAC アドレスとして MC を使用します。つまり、そのトラフィックはホスト C によって代行受信されます。 同様に、ホスト A とデバイスは、IB に送られるはずのトラフィックの宛先 MAC アドレスとして MC を使用します。
ホスト C は IA および IB の本当の MAC アドレスを知っているので、代行受信したトラフィックを転送できます。
DAI は、ARP の要求と応答を検証するための機能です。具体的には、次のような処理を実行します。
DAI によって ARP パケットの有効性を判断するときの基準となる有効な IP-to-MAC バインディングは、Dynamic Host Configuration Protocol(DHCP)スヌーピング バインディング データベースに保存されています。 このデータベースは、VLAN とデバイスに対して DHCP スヌーピングがイネーブルになっている場合に、DHCP スヌーピング機能によって構築されます。 このデータベースには、管理者が作成したスタティック エントリが格納されていることもあります。
信頼できるインターフェイス上で受信された ARP パケットは、一切の検査なしで転送されます。 信頼できないインターフェイス上では、デバイスは有効性を確認できたパケットだけを転送します。
管理者は、ARP パケットの宛先 MAC アドレス、送信元 MAC アドレス、および IP アドレスの検証をイネーブルまたはディセーブルにすることができます。
DAI によって、インターフェイスは「信頼できる」と「信頼できない」に分類されます。
一般的なネットワークでは、インターフェイスは次のように設定されます。
この設定では、デバイスからネットワークに送信される ARP パケットはすべて、セキュリティ検査をバイパスします。 VLAN 内、またはネットワーク内のその他の場所では、他の検査を実行する必要はありません。
注意 |
信頼状態の設定は、慎重に行ってください。 信頼すべきインターフェイスを信頼できないインターフェイスとして設定すると、接続が失われる場合があります。 |
次の図では、デバイス A およびデバイス B の両方が、ホスト 1 およびホスト 2 を収容する VLAN 上で DAI を実行していると仮定します。 ホスト 1 およびホスト 2 が、デバイス A に接続されている DHCP サーバから IP アドレスを取得すると、デバイス A だけがホスト 1 の IP アドレスと MAC アドレスをバインドします。 デバイス A とデバイス B 間のインターフェイスが信頼できない場合は、ホスト 1 からの ARP パケットはデバイス B ではドロップされ、ホスト 1 およびホスト 2 の間の接続は切断されます。
信頼できないインターフェイスを信頼できるインターフェイスとして設定すると、ネットワークにセキュリティ ホールが生じる可能性があります。 デバイス A が DAI を実行していなければ、ホスト 1 はデバイス B の ARP キャッシュを簡単にポイズニングできます(デバイス間のリンクが信頼できるものとして設定されている場合はホスト 2 も同様)。 この状況は、デバイス B が DAI を実行している場合でも発生する場合があります。
DAI は、DAI が稼働するデバイスに接続されているホスト(信頼できないインターフェイス上)がネットワーク内の他のホストの ARP キャッシュをポイズニングしないように保証します。ただし、DAI が稼働するデバイスに接続されているホストのキャッシュがネットワークの他の部分のホストによってポイズニングされるのを防ぐことはできません。
(注) |
ネットワークの設定によっては、VLAN 内の一部のデバイスで ARP パケットを検証できない場合もあります。 |
パラメータ |
デフォルト |
---|---|
VLAN |
VLAN は DAI の対象としては設定されません。 |
VSD 内ではない vEthernet インターフェイスの信頼状態 |
信頼しない |
VSD 内の vEthernet インターフェイスの信頼状態 |
信頼できる |
イーサネット ポート チャネルの信頼状態 |
信頼できる |
信頼できないインターフェイスに対する着信 ARP パケット レート制限 |
15 パケット/秒(pps) |
信頼できるインターフェイスに対する着信 ARP パケット レート制限 |
無制限 |
レート制限バースト間隔 |
1 秒 |
DAI error-disabled 状態インターフェイスの検出と回復 |
error-disabled 状態の検出と回復は設定されません。 |
有効性検査 |
検査は実行されません。 |
VLAN 統計情報 |
ARP 要求および応答の統計情報 |
デフォルトでは、VLAN は DAI の対象としては設定されません。
この手順を開始する前に、次のことを確認してください。
switch# configure terminal switch(config)# ip arp inspection vlan 13 switch(config)# show ip arp inspection vlan 13 switch(config)# copy running-config startup-config
この手順を開始する前に、次の情報を知っている必要があります。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# interface vethernet 3 switch(config-if)# ip arp inspection trust switch(config-if)# show ip arp inspection interface vethernet 3 switch(config-if)# copy running-config startup-config switch(config)# port-profile vm-data switch(config-port-profile)# ip arp inspection trust switch(config-port-profile)# show port-profile vm-data switch(config-port-profile)# copy running-config startup-config
デフォルトでは、vEthernet インターフェイスの状態は「信頼できない」です(VSD に属している場合を除く)。 vEthernet インターフェイスから信頼できるという指定を削除し、デフォルトの信頼できないという指定に戻すには、次の手順を実行します。
インターフェイスが信頼できない状態である場合は、すべての ARP 要求および応答の検証が行われ、IP-MAC アドレス バインディングが有効な場合にのみ、ローカル キャッシュが更新されてパケットが転送されます。 パケットの IP-MAC アドレス バインディングが無効な場合は、パケットがドロップされます。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# config t switch(config)# interface vethernet 3 switch(config-if)# default ip arp inspection trust switch(config-if)# show ip arp inspection interface vethernet 3 switch(config-if)# copy running-config startup-config
ここでは、ARP 要求と応答のレート制限を設定する手順を説明します。
この手順を開始する前に、次のことを知っておく必要があります。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# interface vethernet 3 switch(config-if)# ip arp inspection limit rate 30 switch(config-if)# show running-config dhcp switch(config-if)# copy running-config startup-config
switch# configure terminal switch(config)# port-profile vm-data switch(config-port-prof)# ip arp inspection limit rate 30 switch(config-port-prof)# show running-config dhcp switch(config-port-prof)# copy running-config startup-config
ここでは、ARP 要求と応答のレート制限を設定する手順を説明します。
この手順を開始する前に、次のことを知っておく必要があります。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# interface vethernet 3 switch(config-if)# default ip arp inspection limit rate switch(config)# show running-config dhcp switch(config)# copy running-config startup-config
デフォルトでは、インターフェイスは DAI error-disabled 回復を行うようには設定されません。
インターフェイスを error-disabled 状態から手動で回復するには、次の順でコマンドを実行します。
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# errdisable detect cause arp-inspection switch(config)# errdisable recovery cause arp-inspection switch(config)# errdisable recovery interval 30 switch(config)# show running-config | include errdisable switch(config-if)# copy running-config startup-config
検証の対象は次のアドレスです。デフォルトでは、これらの検証はディセーブルになっています。
(注) |
管理者が検証の設定を行うと、それまでの検証設定は上書きされます。 |
この手順を開始する前に、EXEC モードで CLI にログインする必要があります。
switch# configure terminal switch(config)# ip arp inspection validate src-mac dst-mac ip switch(config)# show running-config dhcp switch(config)# copy running-config startup-config
次のいずれかのコマンドを使用して、設定を確認します。
コマンド |
目的 |
---|---|
show running-config dhcp |
DAI の設定を表示します。 |
show ip arp inspection |
DAI のステータスを表示します。 |
show ip arp inspection interface vethernet interface-number |
特定のインターフェイスの信頼状態および ARP パケット レートを表示します。 |
show ip arp inspection vlan vlan-ID |
特定の VLAN の DAI 設定を表示します。 |
DAI をモニタするには、次のいずれかのコマンドを使用します。
コマンド |
目的 |
---|---|
show ip arp inspection statistics |
DAI の統計情報を表示します。 |
show ip arp inspection statistics vlan vlan-ID |
指定されている VLAN の DAI 統計情報を表示します。 |
clear ip arp inspection statistics |
DAI 統計情報をクリアします。 |
この例では、次の 2 つの VEM が存在するネットワークで DAI を設定する方法を示します。
DAI がイネーブルでないときは、VM 2 が VM 1 の ARP キャッシュに偽の情報を送る(スプーフィング)こともできてしまいます。その方法は、ARP 要求が生成されていないけれどもパケットを送信するというものです。 このパケットを受け取った VM 1 は、自身のトラフィックを、真正な Web サーバではなく VM 2 の Web サーバに送信します。
DAI がイネーブルならば、VM 2 が VM 1 の ARP キャッシュをスプーフィングしようとして、要求されていないにもかかわらず送信した ARP パケットは、ドロップされます。その IP-to-MAC バインディングが不正であることが、DAI によって検出されるからです。 ARP キャッシュをスプーフィングする試みは失敗に終わり、VM 1 は真正な Web サーバに接続されます。
(注) |
DAI によって着信 ARP 要求および ARP 応答の IP-to-MAC アドレス バインディングを検証するには、DHCP スヌーピング データベースが必要です。 IP アドレスを動的に割り当てられた ARP パケットを許可するには、DHCP スヌーピングをイネーブルにする必要があります。 |
switch# configure terminal switch(config)# ip arp inspection vlan 1 switch(config)# show ip arp inspection vlan 1 Source Mac Validation : Disabled Destination Mac Validation : Disabled IP Address Validation : Disabled Vlan : 1 ----------- Configuration : Enabled Operation State : Active n1000v(config)#
switch# show ip arp inspection statistics vlan 1 Vlan : 1 ----------- ARP Req Forwarded = 0 ARP Res Forwarded = 0 ARP Req Dropped = 0 ARP Res Dropped = 0 DHCP Drops = 0 DHCP Permits = 0 SMAC Fails-ARP Req = 0 SMAC Fails-ARP Res = 0 DMAC Fails-ARP Res = 0 IP Fails-ARP Req = 0 IP Fails-ARP Res = 0 switch#
VM 1 が 2 つの ARP 要求を送信し、この要求で指定された IP アドレスは 10.0.0.1、MAC アドレスは 0002.0002.0002 であるとします。要求が両方とも許可されたことは、次のコマンド出力で確認できます。
switch# show ip arp inspection statistics vlan 1 Vlan : 1 ----------- ARP Req Forwarded = 2 ARP Res Forwarded = 0 ARP Req Dropped = 0 ARP Res Dropped = 0 DHCP Drops = 0 DHCP Permits = 2 SMAC Fails-ARP Req = 0 SMAC Fails-ARP Res = 0 DMAC Fails-ARP Res = 0 IP Fails-ARP Req = 0 IP Fails-ARP Res = 0
VM 2 が IP アドレス 10.0.0.3 を指定して ARP 要求を送信しようとすると、このパケットはドロップされ、エラー メッセージがログに記録されます。
00:12:08: %SW_DAI-4-DHCP_SNOOPING_DENY: 2 Invalid ARPs (Req) on vEthernet3, vlan 1.([0002.0002.0002/10.0.0.3/0000.0000.0000/0.0.0.0/02:42:35 UTC Fri Jul 13 2008])
switch# show ip arp inspection statistics vlan 1 switch# Vlan : 1 ----------- ARP Req Forwarded = 2 ARP Res Forwarded = 0 ARP Req Dropped = 2 ARP Res Dropped = 0 DHCP Drops = 2 DHCP Permits = 2 SMAC Fails-ARP Req = 0 SMAC Fails-ARP Res = 0 DMAC Fails-ARP Res = 0 IP Fails-ARP Req = 0 IP Fails-ARP Res = 0 switch#
標準 |
タイトル |
---|---|
RFC-826 |
『An Ethernet Address Resolution Protocol』 http://tools.ietf.org/html/rfc826http://tools.ietf.org/html/rfc826 |
この表には、機能の追加によるリリースの更新内容のみが記載されています。
機能名 |
リリース | 機能情報 |
---|---|---|
ライセンスの変更 |
4.2(1)SV2(1.1) |
DAI を高度な機能として使用できるようになりました。 機能をイネーブルにするには、feature dhcp コマンドを使用します。 |
送信元 IP によるフィルタリングのイネーブル化 |
4.2(1)SV2(1.1) |
Cisco Nexus 1000V スイッチで、送信元 IP に基づくフィルタリングをイネーブルにできるようになりました。 |
DAI |
4.0(4)SV1(2) |
この機能が導入されました。 |