ユニキャスト RPF の概要
ユニキャスト RPF 機能を使用すると、ネットワークに改変または偽造(スプーフィング)された IPv4 ソース アドレスが注入されて引き起こされる問題を、検証可能な IP ソース アドレスを持たない IPv4 パケットを廃棄することにより緩和します。たとえば、Smurf や Tribal Flood Network(TFN)など、いくつかの一般的なサービス拒絶(DoS)攻撃は、偽造の送信元 IPv4 または IPv6 アドレスやすぐに変更される送信元 IPv4 または IPv6 アドレスを利用して、攻撃を突き止めたりフィルタリングしたりする手段を妨ぐことができます。ユニキャスト RPF では、送信元アドレスが有効で IP ルーティング テーブルと一致するパケットだけを転送することにより、攻撃を回避します。
インターフェイス上でユニキャスト RPF を有効にすると、はそのインターフェイス上で受信されたすべての入力パケットを検証することにより、送信元アドレスと送信元インターフェイスがルーティング テーブル内に存在しており、さらにパケット受信場所のインターフェイスとマッチすることを確認します。この送信元アドレス検査は転送情報ベース(FIB)に依存しています。
ユニキャスト RPF は、FIB のリバース ルックアップを実行することにより、 インターフェイスでの受信パケットがそのパケットの送信元への最良リターン パス(リターン ルート)で着信していることを確認します。パケットが最適なリバース パス ルートのいずれかから受信された場合、パケットは通常どおりに転送されます。パケットを受信したインターフェイス上にリバース パス ルートがない場合、攻撃者によって送信元アドレスが変更される可能性があります。ユニキャスト RPF がそのパケットのリバース パスを見つけられない場合は、パケットはドロップされます。
![]() Note |
ユニキャスト RPF では、コストが等しいすべての「最良」リターン パスが有効と見なされます。つまり、複数のリターン パスが存在していても、各パスのルーティング コスト(ホップ カウントや重みなど)が他のパスと等しく、そのルートが FIB 内にある限り、ユニキャスト RPF は機能します。ユニキャスト RPF は、Enhanced Interior Gateway Routing Protocol(EIGRP)バリアントが使用されていて、送信元 IP アドレスに戻る同等でない候補パスが存在する場合にも機能します。 |
ユニキャスト RPF プロセス
ユニキャスト RPF には、キーの実装原則がいくつかあります。
-
パケットは、パケットの送信元に対する最適なリターン パス(ルート)があるインターフェイスで受信される必要があります(このプロセスは対称ルーティングと呼ばれます)。FIB に受信インターフェイスへのルートと一致するルートが存在する必要があります。スタティック ルート、ネットワーク文、ダイナミック ルーティングによって FIB にルートが追加されます。
-
受信側インターフェイスでの IP 送信元アドレスは、そのインターフェイスのルーティング エントリと一致する必要があります。
-
ユニキャスト RPF は入力機能であり、接続のアップストリーム エンドのデバイスの入力インターフェイスだけに適用されます。
ダウンストリーム ネットワークにインターネットへの他の接続があっても、ダウンストリーム ネットワークにユニキャスト RPF を使用できます。
![]() Caution |
攻撃者が送信元アドレスへの最良パスを変更する可能性があるので、加重やローカル プリファレンスなどのオプションの BGP 属性を使用する際には、十分に注意してください。変更によって、ユニキャスト RPF の操作に影響が出ます。 |
ユニキャスト RPF と ACL を設定したインターフェイスでパケットが受信されると、Cisco NX-OS ソフトウェアは次の動作を行います。
Procedure
Step 1 |
インバウンド インターフェイスで入力 ACL をチェックします。 |
Step 2 |
ユニキャスト RPF を使用し、FIB テーブル内のリバース ルックアップを実行することにより、そのパケットが送信元への最良リターン パスで着信したことを確認します。 |
Step 3 |
パケットの転送を目的として FIB ルックアップを実行します。 |
Step 4 |
アウトバウンド インターフェイスで出力 ACL をチェックします。 |
Step 5 |
パケットを転送します。 |
グローバル統計
Cisco NX-OS デバイスがユニキャスト RPF チェックの失敗によりインターフェイスでパケットをドロップするたびに、その情報が転送エンジン(FE)単位でデバイスにおいてグローバルにカウントされます。ドロップされたパケットのグローバル統計からは、ネットワーク上での攻撃の可能性に関する情報を得ることができますが、攻撃の送信元となるインターフェイスは特定されません。ユニキャスト RPF チェックの失敗によりドロップされたパケットのインターフェイス単位の統計情報は利用できません。