この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章の内容は、次のとおりです。
ARP では、IP アドレスを MAC アドレスにマッピングすることで、レイヤ 2 ブロードキャスト ドメイン内の IP 通信を実現します。 たとえば、ホスト B がホスト A に情報を送信しようとして、ホスト B の ARP キャッシュにホスト A の MAC アドレスがないという場合、 ARP の用語では、ホスト B が送信者、ホスト A はターゲットになります。
ホスト B は、ホスト A の IP アドレスに関連付けられた MAC アドレスを取得するため、このブロードキャスト ドメイン内の全ホストに対してブロードキャスト メッセージを送信します。 ブロードキャスト ドメイン内の全ホストはこの ARP 要求を受信し、これに対してホスト A は自身の MAC アドレスを返します。
ARP では、たとえ ARP 要求を受信していなくても、ホストからの応答が可能なので、ARP スプーフィング攻撃と ARP キャッシュ ポイズニングが発生する可能性があります。 攻撃が開始されると、攻撃を受けたデバイスからのすべてのトラフィックは、攻撃者のコンピュータを経由してルータ、スイッチ、またはホストに送信されるようになります。
ARP スプーフィング攻撃は、サブネットに接続されているデバイスの ARP キャッシュに偽りの情報を送信することにより、レイヤ 2 ネットワークに接続されているホスト、スイッチ、ルータに影響を及ぼす可能性があります。 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 を持つホストの ARP バインディングを、それぞれの ARP キャッシュ内に書き込みます。たとえば、IP アドレス IA は MAC アドレス MA にバインドされます。 ホスト B が応答すると、デバイスとホスト A は、IP アドレス IB および MAC アドレス MB を持つホストのバインディングを、それぞれの ARP キャッシュ内に書き込みます。
ホスト C は、バインディングを伴う 2 つの偽造 ARP 応答をブロードキャストすることにより、デバイス、ホスト A、ホスト B の ARP キャッシュをポイズニングできます。偽造 ARP 応答の 1 つは、IP アドレス IA と MAC アドレス MC を持つホストの応答、もう 1 つは IP アドレス IB と MAC アドレス MC を持つホストの応答です。 これにより、ホスト B とデバイスは、IA を宛先とするトラフィックの宛先 MAC アドレスとして、MAC アドレス MC を使用します。つまり、ホスト C がこのトラフィックを代行受信することになります。 同様に、ホスト A とデバイスは、IB を宛先とするトラフィックの宛先 MAC アドレスとして MAC アドレス MC を使用します。
ホスト C は IA および IB に関連付けられた本物の MAC アドレスを知っているため、正しい MAC アドレスを宛先として使用することで、代行受信したトラフィックをこれらのホストに転送できます。 このトポロジでは、ホスト C は、ホスト A からホスト B へのトラフィック ストリーム内に自身を割り込ませています。これは、man-in-the-middle 攻撃の典型的な例です。
DAI を使用することで、有効な ARP 要求および応答だけがリレーされるようになります。 DAI がイネーブルになり適切に設定されている場合、Cisco Nexus デバイスは次のアクティビティを実行します。
信頼できないポートを経由したすべての ARP 要求および ARP 応答を代行受信します。
代行受信した各パケットが、IP アドレスと MAC アドレスの有効なバインディングを持つことを確認してから、ローカル ARP キャッシュを更新するか、または適切な宛先にパケットを転送します。
無効な ARP パケットはドロップします。
DAI によって ARP パケットの有効性を判断するときの基準となる有効な IP-to-MAC バインディングは、Dynamic Host Configuration Protocol(DHCP)スヌーピング バインディング データベースに保存されています。 このデータベースは、VLAN とデバイス上で DHCP スヌーピングがイネーブルにされている場合に、DHCP スヌーピングによって構築されます。 また、このデータベースにはユーザが作成するスタティック エントリも保存できます。 ARP パケットを信頼できるインターフェイス上で受信した場合は、デバイスはこのパケットを検査せずに転送します。 信頼できないインターフェイス上では、デバイスは有効性を確認できたパケットだけを転送します。
DAI では、パケット内の IP アドレスが無効な場合に ARP パケットをドロップするのか、または ARP パケット本体の MAC アドレスがイーサネット ヘッダーに指定されたアドレスと一致しない場合に ARP パケットをドロップするのかを設定できます。
DAI は、デバイスの各インターフェイスに信頼状態を関連付けます。 信頼できるインターフェイス上で受信されたパケットは、DAI のすべての有効性検査をバイパスしますが、信頼できないインターフェイス上で受信されたパケットには、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 内の一部のデバイスで DAI が稼働し、他のデバイスでは稼働していない場合は、DAI が稼働しているデバイス上のインターフェイスの信頼状態を次のガイドラインに従って設定します。
ホスト、または DAI を実行していないデバイスに接続されているインターフェイス
DAI を実行しているデバイスに接続されているインターフェイス
DAI が稼働していないデバイスからのパケットのバインディングを検証するには、DAI が稼働しているデバイスに ARP ACL を設定します。 バインディングの有効性を判断できない場合は、DAI が稼働しているデバイスを DAI が稼働していないデバイスからレイヤ 3 で隔離します。
(注) |
ネットワークの設定によっては、VLAN 内の一部のデバイスで ARP パケットを検証できない場合もあります。 |
Cisco NX-OS は処理された DAI パケットについてのログ エントリのバッファを維持しています。 各ログ エントリには、受信側の VLAN、ポート番号、送信元および宛先 IP アドレス、送信元および宛先 MAC アドレスといったフロー情報が記録されます。
ログに記録するパケットのタイプを指定することもできます。 デフォルトでは、Cisco Nexus デバイスは DAI がドロップしたパケットだけを記録します。
ログ バッファがあふれると、デバイスは最も古い DAI ログ エントリを新しいエントリで上書きします。 バッファ内の最大エントリ数を設定できます。
(注) |
Cisco NX-OS は、ログに記録される DAI パケットに関するシステム メッセージを生成しません。 |
次の表に、DAI のライセンス要件を示します。
製品 |
ライセンス要件 |
---|---|
Cisco NX-OS |
DAI にはライセンスは必要ありません。 ライセンス パッケージに含まれていない機能はすべて Cisco NX-OS システム イメージにバンドルされており、追加費用は一切発生しません。 Cisco NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。 |
DAI に関する注意事項と制約事項は次のとおりです。
DAI は入力セキュリティ機能であり、出力検査は行いません。
DAI は、DAI をサポートしないデバイス、またはこの機能がイネーブルにされていないデバイスに接続されているホストに対しては、効果がありません。 man-in-the-middle 攻撃は 1 つのレイヤ 2 ブロードキャスト ドメインに限定されるため、DAI が有効なドメインを、DAI が実行されないドメインから切り離す必要があります。 これにより、DAI が有効なドメイン内のホストの ARP キャッシュをセキュリティ保護できます。
DAI では、DHCP スヌーピング バインディング データベース内のエントリを使用して、着信 ARP 要求および ARP 応答内の IP アドレスと MAC アドレスのバインディングを確認します。 DAI が ARP パケットの有効性を判断するのにスタティック IP-MAC アドレス バインディングを使用するように設定する場合、DHCP スヌーピングの設定はイネーブルにするだけで済みます。 DAI が ARP パケットの有効性を判断するのにダイナミック IP-MAC アドレス バインディングを使用するように設定する場合は、DAI を設定した VLAN と同じ VLAN に DHCP スヌーピングを設定する必要があります。
feature dhcp コマンドを使用して DHCP 機能をイネーブルにすると、I/O モジュールが DHCP を受信する前、または DAI の設定前に約 30 秒の遅延が発生します。 この遅延は、DHCP 機能がディセーブルになった設定から、DHCP 機能がイネーブルになった設定に変更するために使用する方式には関係なく発生します。 たとえば、ロールバック機能を使用して、DHCP 機能をイネーブルにする設定に戻した場合、ロールバックを完了してから約 30 秒後に I/O モジュールが DHCP と DAI 設定を受信します。
DAI は、アクセス ポート、トランク ポート、ポート チャネル ポート、およびプライベート VLAN ポートでサポートされます。
ポート チャネルに対する DAI の信頼設定によって、そのポート チャネルに割り当てたすべての物理ポートの信頼状態が決まります。 たとえば、ある物理ポートを信頼できるインターフェイスとして設定し、信頼できないインターフェイスであるポート チャネルにその物理ポートを追加した場合、その物理ポートは信頼できない状態になります。
ポート チャネルから物理ポートを削除した場合、その物理ポートはポート チャネルの DAI 信頼状態の設定を保持しません。
ポート チャネルの信頼状態を変更すると、デバイスはそのチャネルを構成するすべての物理ポートに対し、新しい信頼状態を設定します。
ARP パケットが有効かどうかを判定するために DAI でスタティック IP-MAC アドレス バインディングを使用するように設定する場合は、DHCP スヌーピングがイネーブルになっていること、およびスタティック IP-MAC アドレス バインディングを設定していることを確認します。
ARP パケットが有効かどうかを判定するために DAI でダイナミック IP-MAC アドレス バインディングを使用するように設定する場合は、DHCP スヌーピングがイネーブルになっていることを確認します。
パラメータ |
デフォルト |
---|---|
DAI |
すべての VLAN でディセーブル。 |
インターフェイスの信頼状態 |
すべてのインターフェイスが untrusted。 |
有効性検査 |
検査は実行されません。 |
ログ バッファ |
DAI をイネーブルにした場合は、拒否または廃棄されたすべての ARP パケットが記録されます。 ログ内のエントリ数は 32 です。 システム メッセージ数は、毎秒 5 つに制限されます。 ロギングレート インターバルは、1 秒です。 |
VLAN 単位のロギング |
拒否または廃棄されたすべての ARP パケットが記録されます。 |
VLAN に対して DAI をイネーブルまたはディセーブルにすることができます。 デフォルトでは、DAI はすべての VLAN でディセーブルです。
DAI をイネーブルにする場合は、次の点を確認してください。
レイヤ 2 インターフェイスの DAI インターフェイス信頼状態を設定できます。 デフォルトでは、すべてのインターフェイスは信頼できません。
デバイスは、信頼できるレイヤ 2 インターフェイス上で受信した ARP パケットを転送しますが、検査は行いません。
信頼できないインターフェイス上では、デバイスはすべての ARP 要求および ARP 応答を代行受信します。デバイスは、ローカル キャッシュをアップデートして、代行受信したパケットを適切な宛先に転送する前に、そのパケットの IP-MAC アドレス バインディングが有効かどうかを検証します。 そのパケットのバインディングが無効であると判断すると、デバイスはそのパケットをドロップし、ロギングの設定に従ってログに記録します。
DAI をイネーブルにする場合は、DHCP 機能がイネーブルであることを確認します。
ARP パケットの追加検証をイネーブルまたはディセーブルにできます。 デフォルトでは、ARP パケットの追加検証はイネーブルになりません。 追加検証が設定されていない場合、送信元 MAC アドレス、ARP パケットの IP/MAC バインディング エントリと照合する送信元 IP アドレスのチェックは、イーサネット送信元 MAC アドレス(ARP 送信者の MAC アドレスではない)と ARP 送信者の IP アドレスを使用して実行されます。
DAI は、IP アドレスと MAC アドレスとの無効なバインディングを持つ ARP パケットを代行受信、記録、および廃棄します。 宛先 MAC アドレス、送信元および宛先 IP アドレス、送信元 MAC アドレスに対し、追加検証をイネーブルにすることができます。
追加検証を実装するには、ip arp inspection validate コマンドで次のキーワードを使用します。
ARP 応答のイーサネット ヘッダー内の宛先 MAC アドレスを、ARP 本体のターゲット MAC アドレスと比較して検査します。 イネーブルにすると、異なる MAC アドレスを持つパケットは無効パケットとして分類され、廃棄されます。
ARP 本文をチェックして、無効な IP アドレスや予期しない IP アドレスがないかを確認します。 アドレスには 0.0.0.0、255.255.255.255、およびすべての IP マルチキャスト アドレスが含まれます。 送信元 IP アドレスはすべての ARP 要求および ARP 応答内で検査され、宛先 IP アドレスは ARP 応答内だけで検査されます。
ARP 要求と応答のイーサネット ヘッダー内の送信元 MAC アドレスを、ARP 本体の送信者 MAC アドレスと比較して検査します。 イネーブルにすると、異なる MAC アドレスを持つパケットは無効パケットとして分類され、廃棄されます。
追加検証をイネーブルにする場合は、次の点に注意してください。
少なくとも 1 つのキーワードを指定する必要があります。 指定するキーワードは、1 つでも、2 つでも、3 つすべてでもかまいません。
各 ip arp inspection validate コマンドにより、それまでに指定したコマンドの設定が置き換えられます。 ip arp inspection validate コマンドによって src -mac および dst-mac 検証をイネーブルにし、2 つめの ip arp inspection validate コマンドで IP 検証をイネーブルにした場合は、2 つめのコマンドを入力した時点で src-mac と dst-mac の検証がディセーブルになります。
DAI のログ バッファ サイズを設定できます。 デフォルトのバッファ サイズは 32 メッセージです。
DAI パケットを記録するかどうかをデバイスが判断する方法を設定できます。 デフォルトでは、デバイスはドロップされる DAI パケットをログに記録します。
DAI の設定情報を表示するには、次のいずれかの作業を行います。
コマンド |
目的 |
---|---|
show running-config arp |
DAI の設定を表示します。 |
show ip arp inspection |
DAI のステータスを表示します。 |
show ip arp inspection interface ethernet |
特定のインターフェイスの信頼状態および ARP パケット レートを表示します。 |
show ip arp inspection vlan |
特定の VLAN の DAI 設定を表示します。 |
show arp access-lists |
ARP ACL を表示します。 |
show ip arp inspection log |
DAI のログ設定を表示します。 |
DAI の統計情報のモニタまたはクリアを行うには、次の表に示すコマンドを使用します。 これらのコマンドの詳細については、Cisco Nexus デバイスの『Security Command Reference』を参照してください。
コマンド |
目的 |
---|---|
show ip arp inspection statistics |
DAI の統計情報を表示します。 |
show ip arp ethernet |
インターフェイス固有の DAI の統計情報を表示します。 |
clear ip arp inspection statistics |
DAI 統計情報をクリアします。 |
2 つのデバイスが DAI をサポートする場合の DAI の設定手順を次に示します。
次の図に、この例のネットワーク構成を示します。 ホスト 1 はデバイス A に、ホスト 2 はデバイス B にそれぞれ接続されています。 両方のデバイスは、これらのホストが置かれている VLAN 1 上で DAI を実行しています。 DHCP サーバはデバイス A に接続されています。 両方のホストは、同一の DHCP サーバから IP アドレスを取得します。 デバイス A はホスト 1 およびホスト 2 のバインディングを持ち、デバイス B はホスト 2 のバインディングを持ちます。 デバイス A のイーサネット インターフェイス 2/3 は、デバイス B のイーサネット インターフェイス 1/4 に接続されています。
DAI では、DHCP スヌーピング バインディング データベース内のエントリを使用して、着信 ARP 要求および ARP 応答内の IP アドレスと MAC アドレスのバインディングを確認します。 IP アドレスを動的に割り当てられた ARP パケットを許可するには、DHCP スヌーピングをイネーブルにする必要があります。
デバイス A で DAI をイネーブルにし、イーサネット インターフェイス 2/3 を信頼できるインターフェイスとして設定するには、次の作業を行います。
デバイス B で DAI をイネーブルにし、イーサネット インターフェイス 1/4 を信頼できるインターフェイスとして設定するには、次の作業を行います。
目次
- ダイナミック ARP インスペクションの設定
- DAI の概要
- ARP
- ARP スプーフィング攻撃
- DAI および ARP スプーフィング攻撃
- インターフェイスの信頼状態とネットワーク セキュリティ
- DAI パケットのロギング
- DAI のライセンス要件
- DAI の前提条件
- DAI の注意事項と制約事項
- DAI のデフォルト設定
- DAI の設定
- VLAN での DAI のイネーブル化とディセーブル化
- レイヤ 2 インターフェイスの DAI 信頼状態の設定
- 追加検証のイネーブル化またはディセーブル化
- DAI のログ バッファ サイズの設定
- DAI のログ フィルタリングの設定
- DAI の設定の確認
- DAI の統計情報のモニタリングとクリア
- DAI の設定例
- 例 1:2 つのデバイスが DAI をサポートする場合
- デバイス A の設定
- デバイス B の設定
この章の内容は、次のとおりです。
- DAI の概要
- DAI のライセンス要件
- DAI の前提条件
- DAI の注意事項と制約事項
- DAI のデフォルト設定
- DAI の設定
- DAI の設定の確認
- DAI の統計情報のモニタリングとクリア
- DAI の設定例
DAI の概要
ARP
ARP では、IP アドレスを MAC アドレスにマッピングすることで、レイヤ 2 ブロードキャスト ドメイン内の IP 通信を実現します。 たとえば、ホスト B がホスト A に情報を送信しようとして、ホスト B の ARP キャッシュにホスト A の MAC アドレスがないという場合、 ARP の用語では、ホスト B が送信者、ホスト A はターゲットになります。
ホスト B は、ホスト A の IP アドレスに関連付けられた MAC アドレスを取得するため、このブロードキャスト ドメイン内の全ホストに対してブロードキャスト メッセージを送信します。 ブロードキャスト ドメイン内の全ホストはこの ARP 要求を受信し、これに対してホスト A は自身の MAC アドレスを返します。
ARP スプーフィング攻撃
ARP では、たとえ ARP 要求を受信していなくても、ホストからの応答が可能なので、ARP スプーフィング攻撃と ARP キャッシュ ポイズニングが発生する可能性があります。 攻撃が開始されると、攻撃を受けたデバイスからのすべてのトラフィックは、攻撃者のコンピュータを経由してルータ、スイッチ、またはホストに送信されるようになります。
ARP スプーフィング攻撃は、サブネットに接続されているデバイスの ARP キャッシュに偽りの情報を送信することにより、レイヤ 2 ネットワークに接続されているホスト、スイッチ、ルータに影響を及ぼす可能性があります。 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 を持つホストの ARP バインディングを、それぞれの ARP キャッシュ内に書き込みます。たとえば、IP アドレス IA は MAC アドレス MA にバインドされます。 ホスト B が応答すると、デバイスとホスト A は、IP アドレス IB および MAC アドレス MB を持つホストのバインディングを、それぞれの ARP キャッシュ内に書き込みます。
ホスト C は、バインディングを伴う 2 つの偽造 ARP 応答をブロードキャストすることにより、デバイス、ホスト A、ホスト B の ARP キャッシュをポイズニングできます。偽造 ARP 応答の 1 つは、IP アドレス IA と MAC アドレス MC を持つホストの応答、もう 1 つは IP アドレス IB と MAC アドレス MC を持つホストの応答です。 これにより、ホスト B とデバイスは、IA を宛先とするトラフィックの宛先 MAC アドレスとして、MAC アドレス MC を使用します。つまり、ホスト C がこのトラフィックを代行受信することになります。 同様に、ホスト A とデバイスは、IB を宛先とするトラフィックの宛先 MAC アドレスとして MAC アドレス MC を使用します。
ホスト C は IA および IB に関連付けられた本物の MAC アドレスを知っているため、正しい MAC アドレスを宛先として使用することで、代行受信したトラフィックをこれらのホストに転送できます。 このトポロジでは、ホスト C は、ホスト A からホスト B へのトラフィック ストリーム内に自身を割り込ませています。これは、man-in-the-middle 攻撃の典型的な例です。
DAI および ARP スプーフィング攻撃
DAI を使用することで、有効な ARP 要求および応答だけがリレーされるようになります。 DAI がイネーブルになり適切に設定されている場合、Cisco Nexus デバイスは次のアクティビティを実行します。
信頼できないポートを経由したすべての ARP 要求および ARP 応答を代行受信します。
代行受信した各パケットが、IP アドレスと MAC アドレスの有効なバインディングを持つことを確認してから、ローカル ARP キャッシュを更新するか、または適切な宛先にパケットを転送します。
無効な ARP パケットはドロップします。
DAI によって ARP パケットの有効性を判断するときの基準となる有効な IP-to-MAC バインディングは、Dynamic Host Configuration Protocol(DHCP)スヌーピング バインディング データベースに保存されています。 このデータベースは、VLAN とデバイス上で DHCP スヌーピングがイネーブルにされている場合に、DHCP スヌーピングによって構築されます。 また、このデータベースにはユーザが作成するスタティック エントリも保存できます。 ARP パケットを信頼できるインターフェイス上で受信した場合は、デバイスはこのパケットを検査せずに転送します。 信頼できないインターフェイス上では、デバイスは有効性を確認できたパケットだけを転送します。
DAI では、パケット内の IP アドレスが無効な場合に ARP パケットをドロップするのか、または ARP パケット本体の MAC アドレスがイーサネット ヘッダーに指定されたアドレスと一致しない場合に ARP パケットをドロップするのかを設定できます。
インターフェイスの信頼状態とネットワーク セキュリティ
DAI は、デバイスの各インターフェイスに信頼状態を関連付けます。 信頼できるインターフェイス上で受信されたパケットは、DAI のすべての有効性検査をバイパスしますが、信頼できないインターフェイス上で受信されたパケットには、DAI の有効性検査が行われます。
一般的なネットワーク構成では、次の注意事項に従ってインターフェイスの信頼状態を設定します。
- 信頼できない
ホストに接続されているインターフェイス
- 信頼できる
デバイスに接続されているインターフェイス
この設定では、デバイスからネットワークに送信される ARP パケットはすべて、セキュリティ検査をバイパスします。 VLAN 内、またはネットワーク内のその他の場所では、他の検査を実行する必要はありません。
注意
信頼状態の設定は、慎重に行ってください。 信頼すべきインターフェイスを信頼できないインターフェイスとして設定すると、接続が失われる場合があります。
図 2. DAI をイネーブルにした VLAN での ARP パケット検証.次の図では、デバイス 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 内の一部のデバイスで DAI が稼働し、他のデバイスでは稼働していない場合は、DAI が稼働しているデバイス上のインターフェイスの信頼状態を次のガイドラインに従って設定します。
- 信頼できない
ホスト、または DAI を実行していないデバイスに接続されているインターフェイス
- 信頼できる
DAI を実行しているデバイスに接続されているインターフェイス
DAI が稼働していないデバイスからのパケットのバインディングを検証するには、DAI が稼働しているデバイスに ARP ACL を設定します。 バインディングの有効性を判断できない場合は、DAI が稼働しているデバイスを DAI が稼働していないデバイスからレイヤ 3 で隔離します。
(注)
ネットワークの設定によっては、VLAN 内の一部のデバイスで ARP パケットを検証できない場合もあります。
DAI パケットのロギング
Cisco NX-OS は処理された DAI パケットについてのログ エントリのバッファを維持しています。 各ログ エントリには、受信側の VLAN、ポート番号、送信元および宛先 IP アドレス、送信元および宛先 MAC アドレスといったフロー情報が記録されます。
ログに記録するパケットのタイプを指定することもできます。 デフォルトでは、Cisco Nexus デバイスは DAI がドロップしたパケットだけを記録します。
ログ バッファがあふれると、デバイスは最も古い DAI ログ エントリを新しいエントリで上書きします。 バッファ内の最大エントリ数を設定できます。
(注)
Cisco NX-OS は、ログに記録される DAI パケットに関するシステム メッセージを生成しません。
DAI の注意事項と制約事項
DAI に関する注意事項と制約事項は次のとおりです。
DAI は入力セキュリティ機能であり、出力検査は行いません。
DAI は、DAI をサポートしないデバイス、またはこの機能がイネーブルにされていないデバイスに接続されているホストに対しては、効果がありません。 man-in-the-middle 攻撃は 1 つのレイヤ 2 ブロードキャスト ドメインに限定されるため、DAI が有効なドメインを、DAI が実行されないドメインから切り離す必要があります。 これにより、DAI が有効なドメイン内のホストの ARP キャッシュをセキュリティ保護できます。
DAI では、DHCP スヌーピング バインディング データベース内のエントリを使用して、着信 ARP 要求および ARP 応答内の IP アドレスと MAC アドレスのバインディングを確認します。 DAI が ARP パケットの有効性を判断するのにスタティック IP-MAC アドレス バインディングを使用するように設定する場合、DHCP スヌーピングの設定はイネーブルにするだけで済みます。 DAI が ARP パケットの有効性を判断するのにダイナミック IP-MAC アドレス バインディングを使用するように設定する場合は、DAI を設定した VLAN と同じ VLAN に DHCP スヌーピングを設定する必要があります。
feature dhcp コマンドを使用して DHCP 機能をイネーブルにすると、I/O モジュールが DHCP を受信する前、または DAI の設定前に約 30 秒の遅延が発生します。 この遅延は、DHCP 機能がディセーブルになった設定から、DHCP 機能がイネーブルになった設定に変更するために使用する方式には関係なく発生します。 たとえば、ロールバック機能を使用して、DHCP 機能をイネーブルにする設定に戻した場合、ロールバックを完了してから約 30 秒後に I/O モジュールが DHCP と DAI 設定を受信します。
DAI は、アクセス ポート、トランク ポート、ポート チャネル ポート、およびプライベート VLAN ポートでサポートされます。
ポート チャネルに対する DAI の信頼設定によって、そのポート チャネルに割り当てたすべての物理ポートの信頼状態が決まります。 たとえば、ある物理ポートを信頼できるインターフェイスとして設定し、信頼できないインターフェイスであるポート チャネルにその物理ポートを追加した場合、その物理ポートは信頼できない状態になります。
ポート チャネルから物理ポートを削除した場合、その物理ポートはポート チャネルの DAI 信頼状態の設定を保持しません。
ポート チャネルの信頼状態を変更すると、デバイスはそのチャネルを構成するすべての物理ポートに対し、新しい信頼状態を設定します。
ARP パケットが有効かどうかを判定するために DAI でスタティック IP-MAC アドレス バインディングを使用するように設定する場合は、DHCP スヌーピングがイネーブルになっていること、およびスタティック IP-MAC アドレス バインディングを設定していることを確認します。
ARP パケットが有効かどうかを判定するために DAI でダイナミック IP-MAC アドレス バインディングを使用するように設定する場合は、DHCP スヌーピングがイネーブルになっていることを確認します。
DAI のデフォルト設定
次の表に、DAI パラメータのデフォルト設定を示します。
表 1 デフォルトの DAI パラメータパラメータ
デフォルト
DAI
すべての VLAN でディセーブル。
インターフェイスの信頼状態
すべてのインターフェイスが untrusted。
有効性検査
検査は実行されません。
ログ バッファ
DAI をイネーブルにした場合は、拒否または廃棄されたすべての ARP パケットが記録されます。
ログ内のエントリ数は 32 です。
システム メッセージ数は、毎秒 5 つに制限されます。
ロギングレート インターバルは、1 秒です。
VLAN 単位のロギング
拒否または廃棄されたすべての ARP パケットが記録されます。
DAI の設定
- VLAN での DAI のイネーブル化とディセーブル化
- レイヤ 2 インターフェイスの DAI 信頼状態の設定
- 追加検証のイネーブル化またはディセーブル化
- DAI のログ バッファ サイズの設定
- DAI のログ フィルタリングの設定
VLAN での DAI のイネーブル化とディセーブル化
手順
レイヤ 2 インターフェイスの DAI 信頼状態の設定
手順レイヤ 2 インターフェイスの DAI インターフェイス信頼状態を設定できます。 デフォルトでは、すべてのインターフェイスは信頼できません。
デバイスは、信頼できるレイヤ 2 インターフェイス上で受信した ARP パケットを転送しますが、検査は行いません。
信頼できないインターフェイス上では、デバイスはすべての ARP 要求および ARP 応答を代行受信します。デバイスは、ローカル キャッシュをアップデートして、代行受信したパケットを適切な宛先に転送する前に、そのパケットの IP-MAC アドレス バインディングが有効かどうかを検証します。 そのパケットのバインディングが無効であると判断すると、デバイスはそのパケットをドロップし、ロギングの設定に従ってログに記録します。
追加検証のイネーブル化またはディセーブル化
手順ARP パケットの追加検証をイネーブルまたはディセーブルにできます。 デフォルトでは、ARP パケットの追加検証はイネーブルになりません。 追加検証が設定されていない場合、送信元 MAC アドレス、ARP パケットの IP/MAC バインディング エントリと照合する送信元 IP アドレスのチェックは、イーサネット送信元 MAC アドレス(ARP 送信者の MAC アドレスではない)と ARP 送信者の IP アドレスを使用して実行されます。
DAI は、IP アドレスと MAC アドレスとの無効なバインディングを持つ ARP パケットを代行受信、記録、および廃棄します。 宛先 MAC アドレス、送信元および宛先 IP アドレス、送信元 MAC アドレスに対し、追加検証をイネーブルにすることができます。
追加検証を実装するには、ip arp inspection validate コマンドで次のキーワードを使用します。
- dst-mac
ARP 応答のイーサネット ヘッダー内の宛先 MAC アドレスを、ARP 本体のターゲット MAC アドレスと比較して検査します。 イネーブルにすると、異なる MAC アドレスを持つパケットは無効パケットとして分類され、廃棄されます。
- ip
ARP 本文をチェックして、無効な IP アドレスや予期しない IP アドレスがないかを確認します。 アドレスには 0.0.0.0、255.255.255.255、およびすべての IP マルチキャスト アドレスが含まれます。 送信元 IP アドレスはすべての ARP 要求および ARP 応答内で検査され、宛先 IP アドレスは ARP 応答内だけで検査されます。
- src-mac
ARP 要求と応答のイーサネット ヘッダー内の送信元 MAC アドレスを、ARP 本体の送信者 MAC アドレスと比較して検査します。 イネーブルにすると、異なる MAC アドレスを持つパケットは無効パケットとして分類され、廃棄されます。
追加検証をイネーブルにする場合は、次の点に注意してください。
少なくとも 1 つのキーワードを指定する必要があります。 指定するキーワードは、1 つでも、2 つでも、3 つすべてでもかまいません。
各 ip arp inspection validate コマンドにより、それまでに指定したコマンドの設定が置き換えられます。 ip arp inspection validate コマンドによって src -mac および dst-mac 検証をイネーブルにし、2 つめの ip arp inspection validate コマンドで IP 検証をイネーブルにした場合は、2 つめのコマンドを入力した時点で src-mac と dst-mac の検証がディセーブルになります。
DAI のログ バッファ サイズの設定
手順
DAI のログ フィルタリングの設定
手順
DAI の設定の確認
DAI の設定情報を表示するには、次のいずれかの作業を行います。
コマンド
目的
show running-config arp
DAI の設定を表示します。
show ip arp inspection
DAI のステータスを表示します。
show ip arp inspection interface ethernet
特定のインターフェイスの信頼状態および ARP パケット レートを表示します。
show ip arp inspection vlan
特定の VLAN の DAI 設定を表示します。
show arp access-lists
ARP ACL を表示します。
show ip arp inspection log
DAI のログ設定を表示します。
DAI の設定例
例 1:2 つのデバイスが DAI をサポートする場合
2 つのデバイスが DAI をサポートする場合の DAI の設定手順を次に示します。
図 3. DAI をサポートする 2 つのデバイス.次の図に、この例のネットワーク構成を示します。 ホスト 1 はデバイス A に、ホスト 2 はデバイス B にそれぞれ接続されています。 両方のデバイスは、これらのホストが置かれている VLAN 1 上で DAI を実行しています。 DHCP サーバはデバイス A に接続されています。 両方のホストは、同一の DHCP サーバから IP アドレスを取得します。 デバイス A はホスト 1 およびホスト 2 のバインディングを持ち、デバイス B はホスト 2 のバインディングを持ちます。 デバイス A のイーサネット インターフェイス 2/3 は、デバイス B のイーサネット インターフェイス 1/4 に接続されています。
DAI では、DHCP スヌーピング バインディング データベース内のエントリを使用して、着信 ARP 要求および ARP 応答内の IP アドレスと MAC アドレスのバインディングを確認します。 IP アドレスを動的に割り当てられた ARP パケットを許可するには、DHCP スヌーピングをイネーブルにする必要があります。
デバイス A の設定
手順
デバイス B の設定
手順