この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、Dynamic Address Resolution Protocol(ARP; アドレス解決プロトコル)Inspection(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 スプーフィング攻撃を受けると、レイヤ 2 ネットワークに接続されたホスト、スイッチ、およびルータの ARP キャッシュに偽りの情報が送信されるので、これらの機器に影響が及ぶ可能性があります。図 13-1 に、ARP キャッシュ ポイズニングの例を示します。
図 13-1 では、ホスト 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 を欺く(スプーフィング)ことができます。
• IP アドレス IA と MAC アドレス MC を持つホストの応答
• IP アドレス IB と MAC アドレス MC を持つホストの応答
このような応答を受け取ると、ホスト B は、IA に送られるはずであったトラフィックの宛先 MAC アドレスとして MC を使用します。つまり、そのトラフィックはホスト C によって代行受信されます。同様に、ホスト A とデバイスは、IB に送られるはずのトラフィックの宛先 MAC アドレスとして MC を使用します。
ホスト C は IA および IB の本当の MAC アドレスを知っているので、代行受信したトラフィックを転送できます。
DAI は、ARP の要求と応答を検証するための機能です。具体的には、次のような処理を実行します。
• 信頼できないポートを経由したすべての ARP 要求および ARP 応答を代行受信します。
• ARP キャッシュの更新やパケットの転送を行う前に、そのパケットに対応する有効な IP-to-MAC バインディングが存在することを確認します。
DAI によって ARP パケットの有効性を判断するときの基準となる有効な IP-to-MAC バインディングは、Dynamic Host Configuration Protocol(DHCP)スヌーピング バインディング データベースに保存されています。このデータベースは、VLAN とデバイスに対して DHCP スヌーピングがイネーブルになっている場合に、DHCP スヌーピング機能によって構築されます。このデータベースには、管理者が作成したスタティック エントリが格納されていることもあります。
信頼できるインターフェイス上で受信された ARP パケットは、一切の検査なしで転送されます。信頼できないインターフェイス上では、デバイスは有効性を確認できたパケットだけを転送します。信頼できるインターフェイスの詳細については、「インターフェイスの信頼状態とネットワーク セキュリティ」を参照してください。
管理者は、ARP パケットの宛先 MAC アドレス、送信元 MAC アドレス、および IP アドレスの検証をイネーブルまたはディセーブルにすることができます。詳細については、「ARP パケットの検証」を参照してください。
DAI によって、インターフェイスは「信頼できる」と「信頼できない」に分類されます。
一般的なネットワークでは、インターフェイスは次のように設定されます。
• 信頼できない(Untrusted):ホストに接続されているインターフェイス
• 信頼できる(Trusted):デバイスに接続されているインターフェイス
この設定では、デバイスからネットワークに送信される ARP パケットはすべて、セキュリティ検査をバイパスします。VLAN 内、またはネットワーク内のその他の場所では、他の検査を実行する必要はありません。信頼できるインターフェイスの設定方法については、「信頼できる vEthernet インターフェイスの設定」を参照してください。
図 13-2 では、デバイス A とデバイス B の両方が VLAN に対して DAI を実行しているとします。この VLAN には、ホスト 1 とホスト 2 が含まれています。ホスト 1 およびホスト 2 が、デバイス A に接続されている DHCP サーバから IP アドレスを取得すると、デバイス A だけがホスト 1 の IP/MAC アドレスをバインドします。デバイス A とデバイス B 間のインターフェイスが信頼できない場合は、ホスト 1 からの ARP パケットはデバイス B ではドロップされ、ホスト 1 およびホスト 2 の間の接続は切断されます。
図 13-2 DAI をイネーブルにした VLAN での ARP パケット検証
信頼できないインターフェイスを信頼できるインターフェイスとして設定すると、ネットワークにセキュリティ ホールが生じる可能性があります。デバイス A が DAI を実行していなければ、ホスト 1 はデバイス B の ARP キャッシュを簡単にポイズニングできます(デバイス間のリンクが信頼できるものとして設定されている場合はホスト 2 も同様)。この状況は、デバイス B が DAI を実行している場合でも起こりえます。
DAI は、DAI が稼動するデバイスに接続されているホスト(信頼できないインターフェイス上)がネットワーク内の他のホストの ARP キャッシュをポイズニングしないように保証します。ただし、DAI が稼動するデバイスに接続されているホストのキャッシュがネットワークの他の部分のホストによってポイズニングされるのを防ぐことはできません。
(注) ネットワークの設定によっては、VLAN 内の一部のデバイスで ARP パケットを検証できない場合もあります。
詳細については、IETF 標準 RFC-826『 An Ethernet Address Resolution Protocol 』(http://tools.ietf.org/html/rfc826)を参照してください。
詳細については、「DHCP スヌーピングの設定」を参照してください。
• Cisco Nexus 1000V 上で稼動しているソフトウェアが DAI をサポートしている。
• VEM 機能レベルが、DAI をサポートするリリースに更新されている。
VEM 機能レベルの設定方法については、『 Cisco Nexus 1000V Software Upgrade Guide, Release 4.2(1)SV1(5.1) 』を参照してください。
• DAI は入力セキュリティ機能であり、出力検査は行いません。
• ホストが接続されているデバイスが DAI をサポートしていない場合や、そのデバイスで DAI がイネーブルになっていない場合は、DAI の効果はありません。1 つのレイヤ 2 ブロードキャスト ドメインだけを標的とする攻撃を防ぐには、DAI が有効なドメインと、そうではないドメインとを分離させてください。これにより、DAI が有効なドメイン内のホストの ARP キャッシュをセキュリティ保護できます。
• DAI によって、着信 ARP 要求および ARP 応答内の IP-to-MAC アドレス バインディングが検証されます。スタティック エントリが設定されていない場合は、DAI が設定されている VLAN に対して DHCP スヌーピングもイネーブルにする必要があります。詳細については、「DHCP スヌーピングの設定」を参照してください。
• DAI がサポートされるのは、vEthernet インターフェイスとプライベート VLAN ポートです。
• DAI が ARP パケットの有効性を判断するためにダイナミック IP-MAC アドレス バインディングを使用するように設定する場合は、DHCP スヌーピングが設定されていることを確認します。詳細については、「DHCP スヌーピングの設定」を参照してください。
• 仮想サービス ドメイン(VSD)サービス VM ポートは、デフォルトで信頼できるポートとなっています。管理者が VSD ポートを「信頼できない」と設定しても、DAI では信頼できるポートとして扱われます。
表 13-1 に、DAI のデフォルトを示します。
|
|
---|---|
• 「信頼できる vEthernet インターフェイスの設定」
• 「vEthernet インターフェイスの信頼できないインターフェイスへのリセット」
• 「errdisable ステートのインターフェイスの検出と回復」
この手順を開始する前に、次のことを確認または実行する必要があります。
• デフォルトでは、VLAN は DAI の対象としては設定されません。
• DHCP スヌーピングがイネーブルになっている必要があります。詳細については、「DHCP 機能のイネーブル化またはディセーブル化」を参照してください。
2. [ no ] ip arp inspection vlan list
|
|
|
---|---|---|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
この手順を開始する前に、次のことを確認または実行する必要があります。
• デフォルトでは、vEthernet インターフェイスの状態は「信頼できない」です(VSD に属している場合を除く)。
• インターフェイスが信頼できない状態である場合は、すべての ARP 要求および応答の検証が行われ、IP-MAC アドレス バインディングが有効な場合にのみ、ローカル キャッシュが更新されてパケットが転送されます。パケットの IP-MAC アドレス バインディングが無効な場合は、パケットがドロップされます。
• 信頼できるインターフェイスで受信された ARP パケットは、転送されますが、検証は行われません。
• 信頼できるインターフェイスの設定は、次のどちらでも行うことができます。
– インターフェイスが割り当てられている既存のポート プロファイル
信頼できるインターフェイスの設定をポート プロファイルで行う場合は、ポート プロファイルが作成済みで名前がわかっていることが必要です。
2. interface vethernet interface-number
3. [ no ] ip arp inspection trust
vEthernet インターフェイスから信頼できるという指定を削除し、デフォルトの信頼できないという指定に戻すには、次の手順を実行します。
この手順を開始する前に、次のことを確認または実行する必要があります。
• デフォルトでは、vEthernet インターフェイスの状態は「信頼できない」です(VSD に属している場合を除く)。
• インターフェイスが信頼できない状態である場合は、すべての ARP 要求および応答の検証が行われ、IP-MAC アドレス バインディングが有効な場合にのみ、ローカル キャッシュが更新されてパケットが転送されます。パケットの IP-MAC アドレス バインディングが無効な場合は、パケットがドロップされます。
2. interface vethernet interface-number
3. default ip arp inspection trust
この手順を開始する前に、次のことを確認または実行する必要があります。
• トランク ポートでは集約が行われるので、トランク ポートのレート上限は高く設定してください。
• 着信パケットのレートが設定レートを超えると、インターフェイスは自動的に errdisable 状態になります。
• インターフェイスのレート制限は、次のどちらでも行うことができます。
2. interface vethernet interface-number
3. ip arp inspection limit { rate pps [ burst interval bint ] | none }
この手順を開始する前に、次のことを確認または実行する必要があります。
• インターフェイスのレート制限は、次のどちらでも行うことができます。
2. interface vethernet interface-number
3. default ip arp inspection limit { rate pps [ burst interval bint ] | none }
この手順を開始する前に、次のことを確認または実行する必要があります。
• デフォルトでは、インターフェイスは DAI errdisable 回復を行うようには設定されません。
2. [no] errdisable detect cause arp-inspection
3. [ no ] errdisable recovery cause arp-inspection
4. errdisable recovery interval timer-interval
|
|
|
---|---|---|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
この手順を開始する前に、次のことを確認または実行する必要があります。
• 検証の対象は次のアドレスです。デフォルトでは、これらの検証はディセーブルになっています。
イーサネット ヘッダー内の宛先 MAC アドレスを ARP 本体のターゲット MAC アドレスと比較し、MAC アドレスが無効であるパケットをドロップします。
ARP 本体を検査し、無効な、および予期しない IP アドレス(0.0.0.0、255.255.255.255、IP マルチキャスト アドレスなど)を検出します。送信元 IP アドレスの検証は、ARP 要求と応答の両方で行われます。ターゲット IP アドレスは ARP 応答でだけチェックされます。
ARP 要求および応答について、イーサネット ヘッダー内の送信元 MAC アドレスを ARP 本体の送信者 MAC アドレスと比較し、MAC アドレスが無効である場合はパケットをドロップします。
2. [ no ] ip arp inspection validate {[ src-mac ] [ dst-mac ] [ ip ]}
DAI の設定を表示して確認するには、次のコマンドを使用します。
|
|
---|---|
コマンド出力の詳しい説明については、『 Cisco Nexus 1000V Command Reference, Release 4.2(1)SV1(5.1) 』を参照してください。
|
|
---|---|
コマンド出力の詳しい説明については、『 Cisco Nexus 1000V Command Reference, Release 4.2(1)SV1(5.1) 』を参照してください。
この例では、次の 2 つの VEM が存在するネットワークでの DAI を設定する方法を示します。
• 一方の VEM は、真正な Web サーバと DHCP サーバをホスティングしています。
• 他方の VEM は、クライアント仮想マシン(VM 1)と、不正な Web サーバが存在する仮想マシン(VM 2)をホスティングしています。VM 1 は、vEthernet インターフェイス 3 に接続されています。このインターフェイスはデフォルトで信頼できない状態となっており、VLAN 1 に属しています。VM 2 は、vEthernet 10 と VLAN 1 に接続されています。
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 スヌーピングをイネーブルにする必要があります。コンフィギュレーションについては、「DHCP スヌーピングの設定」を参照してください。
ステップ 1 VLAN 1 で DAI をイネーブルにし、設定を確認します。
ステップ 2 DAI がパケットを処理する前、およびあとの統計情報を調べます。
VM 1 が 2 つの ARP 要求を送信し、この要求で指定された IP アドレスは 10.0.0.1、MAC アドレスは 0002.0002.0002 であるとします。要求が両方とも許可されたことは、次のコマンド出力で確認できます。
VM 2 が IP アドレス 10.0.0.3 を指定して ARP 要求を送信しようとすると、このパケットはドロップされ、エラー メッセージがログに記録されます。
DAI の実装に関する詳細情報については、次の項を参照してください。
• 「関連資料」
• 「標準」
|
|
---|---|
DAI および DHCP のコマンド:すべてのコマンド構文、コマンド モード、コマンド履歴、デフォルト値、使用上の注意事項、例 |
『Cisco Nexus 1000V Command Reference, Release 4.2(1)SV1(5.1) 』 |
|
|
---|---|
『 An Ethernet Address Resolution Protocol 』(http://tools.ietf.org/html/rfc826) |
表 13-2 に、DAI 機能のリリース履歴を示します。
|
|
|
---|---|---|