回答:
ユニキャストリバースパスフォワーディング(RPF)は3つの異なるモードで機能し、特にスプーフィングされたIPアドレスからのルーターの攻撃ベクトルを減らすのに役立つ可能性があります。
(config-if)#ip verify unicast source reachable-via rx
厳密モードでは、ルーターは着信パケットの送信元IPアドレスを検査して、一致するルートの転送情報ベース(FIB)テーブルと照合します。その送信元IPアドレスへのルートが、それが受信されたインターフェイスを介して到達可能である場合、パケットは受信されます。デフォルトでは、デフォルトルートはストリクトモードでは考慮されません(上記で設定)。
特定のインターフェイスでユニキャストRPFストリクトモードを設定すると、ルータはそのインターフェイスで自分自身をpingできなくなります。
#sh ip int bri | ex unas|Int
FastEthernet0/0 11.0.11.1
#ping 11.0.11.1
.....
Success rate is 0 percent (0/5)
URPFドロップパケットの確認:
#show ip int fa0/0 | i ^ [1-9]+ verification drops
5 verification drops
#show ip traffic | i unicast
0 no route, 5 unicast RPF, 0 forced drop
この動作は、allow-self-ping
構文を追加することで変更できます。
(config-if)#ip verify unicast source reachable-via rx allow-self-ping
さらに、質問で述べたように、ストリクトモードでは、着信パケットの送信元IPアドレスをデフォルトルートに対してチェックできます。これは次の構文で有効になりますallow-default
。
ストリクトモードでは、構文を追加allow-default
するだけで、受信したものとは異なるインターフェイスを経由するルートを持つ着信パケットの送信元IPアドレスからの受信のみが防止されます。これは、ルータにアクセスリストまたはヌルルートが設定されていないことを前提としています。受信したインターフェイスから到達可能なすべてのルーティング可能な送信元アドレスは、特定のルートまたはデフォルトルートと一致します。
ただし、nullルートを使用する場合、URPFチェックがデフォルトルートに到達する前に、最も具体的なルートが最初に評価され、既知の悪意のあるIP範囲のブラックリストとして機能します。
例 -3.0.0.0/8から送信されたすべてのトラフィックは、URPFチェックによってドロップされます。
(config-if)#ip verify unicast source reachable-via rx allow-default
(config)#ip route 3.0.0.0 255.0.0.0 null 0
Bad-Source-RTR#ping 11.0.11.1 so l1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.0.11.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
.....
Success rate is 0 percent (0/5)
さらに、allow-default
構文を追加する代わりに、アクセス制御リスト(ACL)を指定して、許可および拒否されるアドレスの構造化リストを作成できます。受信したインターフェイスから到達可能で、定義されたACLで一致するアドレスは、それに応じてドロップまたは許可されます。
!
access-list 23 permit 3.0.0.0 0.255.255.255
access-list 23 deny 4.0.0.0 0.255.255.255 log
access-list 23 permit any
!
(config)#int fa0/0
(config-if)#ip verify unicast source reachable-via rx 23
最後に、allow-default
構文でACLを指定できますが、効果はありません。パケットは、allow-default
オプションで指定されたACLに対してチェックされません。
#ip verify unicast source reachable-via rx allow-default ?
<1-199> A standard IP access list number
<1300-2699> A standard IP expanded access list number
R1(config-if)#ip verify unicast source reachable-via any
ルーズモードでは、ルーターは着信パケットの送信元IPアドレスを検査し、一致するルートのFIBテーブルと照合します。その送信元IPアドレスへのルートに到達できる場合、パケットが受信されたインターフェイスに関係なく、パケットを受信できます。デフォルトでは、デフォルトルートはルーズモードでは考慮されません(上記で構成)。
ルーズモードとストリクトモードには、同様の構成オプションがあります。主な違いは、使用される構文(any
対rx
)と、受信パケットのソースIPアドレスが、それが受信されたインターフェースを介して到達可能かどうかです。
(config-if)#ip verify unicast source reachable-via any ?
<1-199> A standard IP access list number
<1300-2699> A standard IP expanded access list number
allow-default Allow default route to match when checking source address
allow-self-ping Allow router to ping itself (opens vulnerability in
verification)
VRFモードは、特定のVRFでルーズモードまたはストリクトモードのいずれかを利用でき、eBGPネイバー用に設定されたVRFテーブルに対して着信パケットの送信元IPアドレスを評価します。
参考資料:
Cisco URPFホワイトペーパー
ユニキャストReverse Path Forwarding
URPF構成ガイドについて