Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

VPNのユニキャストリバースパス転送チェック

ユニキャスト RPF(スイッチ)について

IP スプーフィング、および一部のタイプの DoS(サービス拒否)攻撃および DDoS(分散型サービス拒否)攻撃から保護するために、RPF(ユニキャスト リバース パスフォワーディング)では、パケットが正規のパスから受信していることを検証します。これは、信頼できないイングレスインターフェイスに到着する各パケットの送信元アドレスを確認し、その送信元アドレスの転送テーブルエントリーと比較することで実現します。パケットが有効なパス(送信者が宛先に到達するために使用するパス)からの場合、デバイスはパケットを宛先アドレスに転送します。有効なパスからではない場合、デバイスはパケットを破棄します。IPスプーフィングは、防御されていない限り、実際にパケットが宛先向けに意図されていない場合、侵入者がIPパケットを本物のトラフィックとして宛先に渡す効果的な方法になります。

ユニキャスト RPF は、IPv4 および IPv6 プロトコル ファミリー、および仮想プライベート ネットワーク(VPN)アドレス ファミリーでサポートされています。ユニキャスト RPF は、トンネル ソースとして設定されたインターフェイスではサポートされていません。これは、トンネルから出るトランジットパケットにのみ影響します。

メモ:RPF チェックは、QFX シリーズおよび EX シリーズ スイッチ上の vxlan 対応インターフェイスではサポートされていません。

ユニキャスト RPF、 ストリクト モード、ルーズ モードは 2 つの モードがあります。デフォルトはストリクト モードです。これは、受信インターフェイスがパケットのユニキャスト 送信元アドレスへの最適なリターン パスである場合にのみ、スイッチがパケットを転送することを意味します。ストリクト モードは、特に信頼できないインターフェイス(信頼できないユーザーやプロセスがネットワーク セグメントにパケットを配置できる場合)、対称的にルーティングされたインターフェイス( ユニキャスト RPF を有効にするタイミングを参照)で便利です。厳密なユニキャスト RPF の詳細については、 RFC 3704、 http://www.ietf.org/rfc/rfc3704.txt の マルチホーム ネットワークのイングレス フィルタリング を参照してください。

選択したカスタマーエッジ インターフェイスでストリクト モード ユニキャスト RPF を有効にするには:

[インターフェイスの編集]user@switch# set interface-name unit 0 family inet rpf-check

もう1つのモードはルーズモードです。これは、ルーティングテーブルに対応するプレフィックスを持つ送信元アドレスがパケットにあるかどうかをチェックしますが、受信インターフェイスがパケットのユニキャスト送信元アドレスへの最適なリターンパスであるかどうかは確認しません。

ユニキャスト RPF ルーズ モードを有効にするには、次のように入力します。

[インターフェイスの編集]user@switch# set interface-name unit 0 family inet rpf-check mode loose

メモ:ジュニパーネットワークス EX3200、EX4200、EX4300 イーサネット スイッチでは、ユニキャスト RPF が任意のインターフェイスで設定されている場合、スイッチはすべてのインターフェイスにユニキャスト RPF を グローバルに適用します。詳細については、 EX3200、EX4200、およびEX4300スイッチでのユニキャストRPF実装の制限を参照してください。

スイッチのユニキャスト RPF の概要

ユニキャスト RPF は、アドレスのスプーフィングを起こした可能性のある IP パケットの転送を軽減するイングレス フィルターとして機能します。デフォルトでは、ユニキャスト RPF はスイッチ インターフェイスでは無効になっています。スイッチは、ユニキャスト 送信元アドレスに戻る最適なリターン パスを決定するアクティブ なパス方法のみをサポートしています。アクティブなパスメソッドは、転送テーブルで最適なリバースパスエントリーを探します。最適なリターン パスを決定する際に、ルーティング プロトコル固有の方法を使用して指定された代替ルートは考慮されません。

転送テーブルに、パケットをユニキャスト ソースに戻すために使用するインターフェイスとして受信インターフェイスがリストされている場合、それは最適なリターン パス インターフェイスです。

ユニキャスト RPF の実装

ユニキャスト RPF パケット フィルタリング

スイッチでユニキャスト RPF を有効にすると、スイッチは次の方法でトラフィックを処理します。

  • スイッチがそのパケットのユニキャスト 送信元アドレスへの最適なリターン パスであるインターフェイス上のパケットを受信した場合、スイッチはパケットを転送します。

  • スイッチからパケットのユニキャスト 送信元アドレスへの最適なリターン パスが受信インターフェイスではない場合、スイッチはパケットを破棄します。

  • スイッチが、転送テーブルにルーティング エントリーを持たない送信元 IP アドレスを持つパケットを受信した場合、スイッチはパケットを破棄します。

ブートストラップ プロトコル(BOOTP)と DHCP リクエスト

ブートストラップ プロトコル(BOOTP)と DHCP リクエスト パケットはブロードキャスト MAC アドレスで送信されるため、スイッチはユニキャスト RPF チェックを実行しません。スイッチは、ユニキャスト RPF チェックを実行せずに、すべての BOOTP パケットと DHCP リクエスト パケットを転送します。

デフォルトルート処理

送信元への最適なリターンパスがデフォルトルート(0.0.0.0)で、デフォルトルートが を reject指す場合、スイッチはパケットを破棄します。デフォルトルートが有効なネットワークインターフェイスを指す場合、スイッチはパケットに対して通常のユニキャストRPFチェックを実行します。

メモ:

EX4300 では、スイッチがユニキャスト RPF ストリクト モードで設定されている場合、デフォルト ルートは使用されません。

ユニキャスト RPF を有効にするタイミング

ネットワーク インターフェイスに到着するトラフィックが、インターフェイスが到達できるネットワーク上にあるソースから送信されるようにする場合は、ユニキャスト RPF を有効にします。信頼できないインターフェイスでユニキャスト RPF を有効にして、スプーフィングされたパケットをフィルタリングできます。たとえば、ユニキャスト RPF の一般的なアプリケーションは、インターネットから発生する DoS/DDoS 攻撃からエンタープライズ ネットワークを防御するのに役立ちます。

ユニキャスト RPF は対称的にルーティングされたインターフェイスでのみ有効にし、トラフィック ソースに可能な限り近い方では、なりすましトラフィックが増殖したり、ユニキャスト RPF が有効になっていないインターフェイスに到達したりする前にトラフィックを停止します。EX3200、EX4200、EX4300 スイッチではユニキャスト RPF がグローバルに有効になっているため、図 1 に示すように、これらのスイッチでユニキャスト RPF を有効にする前にすべてのインターフェイスが対称的にルーティングされていることを確認します。非対称にルーティングされたインターフェイスでユニキャスト RPF を有効にすると、正規のソースからのパケットがフィルタリングされます。対称的にルーティングされたインターフェイスは、送信元と宛先の間の両方向で同じルートを使用します。

ユニキャスト RPF は、EX3200、EX4200、EX4300 スイッチでグローバルに有効になっており、これらのデバイスでは、スイッチでユニキャスト RPF を有効にする前 にすべてのインターフェイスが 対称的にルーティングされていることを確認します。非対称にルーティングされたインターフェイスでユニキャスト RPF を有効にすると、正規のソースからのパケットがフィルタリングされます。

図 1:対称的にルーティングされたインターフェイス Symmetrically Routed Interfaces

以下のスイッチ インターフェイスは対称的にルーティングされる可能性が高いため、ユニキャスト RPF を有効にする場合の候補となります。

  • お客様へのサービスプロバイダエッジ

  • サービス プロバイダへのカスタマー エッジ

  • ネットワーク外の単一のアクセス ポイント(通常はネットワーク境界)

  • リンクが 1 つだけのターミナル ネットワーク

EX3200、EX4200、EX4300スイッチでは、すべてのインターフェイスまたは1つのインターフェイスのみでユニキャストRPFを明示的に有効にすることをお勧めします。混乱を避けるために、一部のインターフェイスでのみ有効にしないでください。

  • ユニキャスト RPF を 1 つのインターフェイスのみで明示的に有効化すると、明示的に有効化したすべてのインターフェイスでユニキャスト RPF を明示的に無効にする必要があるため、将来無効にすることを選択した場合に容易になります。2 つのインターフェイスでユニキャスト RPF を明示的に有効にし、1 つのインターフェイスでのみ無効にすると、ユニキャスト RPF はスイッチ上で暗黙的に有効のままです。このアプローチの欠点は、ユニキャスト RPF が明示的に有効になっているインターフェイスでのみユニキャスト RPF が有効になっていることを示すフラグがスイッチに表示されるため、ユニキャスト RPF はすべてのインターフェイスで有効になっているにもかかわらず、このステータスは表示されません。

  • すべてのインターフェイスでユニキャスト RPF を明示的に有効にすると、すべてのインターフェイスに正しいステータスが表示されるため、スイッチでユニキャスト RPF が有効になっているかどうかを簡単に知ることができます。(ユニキャスト RPF を明示的に有効にしたインターフェイスのみが、ユニキャスト RPF が有効になっていることを示すフラグを表示します。このアプローチの欠点は、ユニキャスト RPF を無効にする場合、すべてのインターフェイスで RPF を明示的に無効にする必要があるということです。ユニキャスト RPF が任意のインターフェイスで有効になっている場合、すべてのインターフェイスで暗黙的に有効になります。

ユニキャスト RPF を有効にしない場合

通常、以下の場合、ユニキャスト RPF は有効にしません。

  • スイッチ インターフェイスはマルチホームです。

  • スイッチ インターフェイスは信頼できるインターフェイスです。

  • BGPはプレフィックスを伝送しており、これらのプレフィックスの一部は、そのポリシーの下でアドバタイズされていないか、ISPによって受け入れされていません。(この場合の効果は、不完全なアクセス リストを使用してインターフェイスをフィルタリングするのと同じです)。

  • スイッチ インターフェイスはネットワーク コアに面しています。コアに面したインターフェイスは、通常、非対称にルーティングされます。

非対称にルーティングされたインターフェイスは、 図2に示すように、異なるパスを使用して送信元と宛先の間でパケットを送受信します。これは、インターフェイスがパケットを受信した場合、そのインターフェイスがソースに戻る最良のリターンパスとして転送テーブルのエントリーと一致しないことを意味します。受信インターフェイスがパケットの送信元への最適なリターン パスでない場合、ユニキャスト RPF は、有効な送信元から来た場合でも、スイッチがパケットを破棄します。

図 2:非対称ルーテッド インターフェイス Asymmetrically Routed Interfaces
メモ:

スイッチ インターフェイスが非対称にルーティングされている場合、EX3200、EX4200、EX4300 スイッチではユニキャスト RPF を有効にしないでください。これらのスイッチのすべてのインターフェイスでユニキャスト RPF がグローバルに有効になっているためです。スイッチが転送したいトラフィックを破棄するリスクなしでユニキャスト RPF を有効にするには、すべてのスイッチ インターフェイスを対称的にルーティングする必要があります。

EX3200、EX4200、EX4300 スイッチでのユニキャスト RPF 実装の制限事項

EX3200、EX4200、EX4300のスイッチでは、ユニキャストRPFをグローバルに実装します。インターフェイス単位でユニキャスト RPF を有効にすることはできません。ユニキャスト RPF は、デフォルトでグローバルに無効になっています。

  • 任意のインターフェイスでユニキャスト RPF を有効にすると、リンク アグリゲーション グループ(LAG)、統合型ルーティングおよびブリッジング(IRB)インターフェイス、RVI(Routed VLAN Interface)など、すべてのスイッチ インターフェイスで自動的に有効になります。

  • ユニキャスト RPF を有効にしたインターフェイス(またはインターフェイス)でユニキャスト RPF を無効にすると、すべてのスイッチ インターフェイスで自動的に無効になります。

メモ:

明示的に有効になっているすべてのインターフェイスでユニキャスト RPF を明示的に無効にするか、ユニキャスト RPF はすべてのスイッチ インターフェイスで有効なままにする必要があります。

QFXスイッチ、OCXスイッチ、EX3200、EX4200スイッチは、等価コストマルチパス(ECMP)トラフィックでユニキャストRPFフィルタリングを実行しません。ユニキャスト RPF チェックでは、パケット ソースへの最適なリターン パスは 1 つだけ検査されますが、ECMP トラフィックは複数のパスで構成されるアドレス ブロックを使用します。これらのスイッチでユニキャスト RPF を使用して ECMP トラフィックをフィルタリングすると、ユニキャスト RPF フィルターが ECMP アドレス ブロック全体を検査しないため、スイッチが転送したいパケットを破棄する可能性があります。

例:ユニキャスト RPF の設定(ルーター上)

この例では、カスタマーエッジインターフェイス上のユニキャストRPFを設定して、受信トラフィックをフィルタリングすることで、サービス拒否(DoS)攻撃や分散型サービス拒否(DDoS)攻撃からイングレスインターフェイスを防御する方法を示しています。

要件

デバイスの初期化以外の特別な設定は必要ありません。

概要

この例では、デバイスAはOSPFを使用してデバイスDに接続するリンクのプレフィックスをアドバタイズしています。デバイスBにはユニキャストRPFが設定されています。OSPF は、デバイス B とデバイス C 間のリンクとデバイス A とデバイス C 間のリンクで有効になっていますが、デバイス A とデバイス B 間のリンクでは有効ではありません。そのため、デバイス B はデバイス C を介してデバイス D へのルートを学習します。

DHCP または BOOTP が使用されている環境でイングレス フィルタリングを使用する場合、送信元アドレスが 0.0.0.0 で宛先アドレスが 255.255.255.255 のパケットが、必要に応じてルーターのリレー エージェントに到達できるようにする必要があります。

この例には、不合格フィルターも含まれています。パケットがユニキャスト RPF チェックに失敗した場合、失敗したフィルターが評価され、とにかくパケットを受け入れる必要があるかどうかを判断します。この例の不合格フィルターにより、デバイス B のインターフェイスは動的ホスト構成プロトコル(DHCP)パケットを受信できます。このフィルターは、送信元アドレスが 0.0.0.0 で宛先アドレスが 255.255.255.255 のすべてのパケットを受け入れます。

トポロジ

図 3 は、サンプル ネットワークを示しています。

図 3:ユニキャスト RPF サンプル トプール Unicast RPF Sample Topoolgy

構成

CLI クイックコンフィギュレーション

この例を迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更し、コマンドを 階層レベルの CLI [edit] にコピー アンド ペーストします。

デバイスA

デバイスB

デバイスC

デバイスD

デバイスE

デバイスAの設定

手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、 設定モードでのCLIエディターの使用を参照してください。

デバイスAを設定するには:

  1. インターフェイスを設定します。

  2. OSPFを設定します。

  3. ルーティングポリシーを設定します。

  4. デバイスAの設定が完了したら、設定をコミットします。

デバイスBの設定

手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLIのナビゲーションについては、 設定モードでのCLIエディターの使用を参照してください。

デバイスBを設定するには:

  1. インターフェイスを設定します。

  2. OSPFを設定します。

  3. ユニキャスト RPF を設定し、オプションのフェイル フィルターを適用します。

  4. (オプション)パケットが RPF チェックに失敗した場合に評価される失敗フィルターを設定します。

  5. (オプション)RPF チェックで考慮されるアクティブなパスのみを設定します。

    これはデフォルトの動作です。

  6. デバイスBの設定が完了したら、設定をコミットします。

結果

show routing-optionsshow interfacesshow protocols、および のコマンドをshow firewall発行して、設定をshow policy-options確認します。出力結果に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

デバイスA

デバイスB

CLIクイック設定に示すように、デバイスC、デバイスD、およびデバイスEの設定を入力します。

検証

設定が正しく機能していることを確認します。

ユニキャスト RPF が有効になっていることを確認します。

目的

デバイス B のインターフェイスで、ユニキャスト RPF が有効になっていることを確認します。

アクション
意味

uRPF フラグは、ユニキャスト RPF がこのインターフェースで有効になっていることを確認します。

送信元アドレスがブロックされていることを確認する

目的

デバイス B が予期しない送信元アドレスからのトラフィックをブロックしていることを確認するには、 コマンドを ping 使用します。

アクション

デバイス A から、送信元アドレスに 10.0.0.17 を使用して、デバイス B のインターフェイスを ping します。

意味

予想通り、ping 操作は失敗します。

送信元アドレスのブロックが解除されていることを確認する

目的

RPF チェックが ping 非アクティブ化されている場合、デバイス B がトラフィックをブロックしないようにするには、 コマンドを使用します。

アクション
  1. インターフェイスの 1 つで RPF チェックを無効にします。

  2. ping 操作を再実行してください。

意味

予想通り、ping 操作は成功します。