uRPF(データプレーンのスプーフィング防止保護)

こんにちは、尊敬されるコミュニティ。



SECURE試験(642-637)の準備として、uRPF(ユニキャストリバースパスフォワーディング)テクノロジについてお話ししたいと思います。



このテクノロジーは、OSIモデルの第3レベルのスプーフィング防止ツールであり、データプレーンを保護するためのテクノロジーの1つとして使用されます。 より正確には、ルーターインターフェイスに到達するパケット内の送信者のIPアドレスの改ざんを防ぐことができます。 結局、攻撃者は、送信されたパケットで別のネットワークから盗まれたIPアドレス、または特定の用途に割り当てられた範囲(127.0.0.0/8など)の不正なIPアドレスを使用できます。







包括的なスプーフィング防止保護を実装する場合、以下を使用することをお勧めします。





uRPFテクノロジーの詳細。 インターフェイスでuRPFを有効にすると、CEF FIBからのデータを使用してパケット送信者のIPアドレスが自動的にチェックされます。 したがって、CEFの使用は必須です。 この場合、RIBと、それに応じてFIBには正しいルーティング情報のみが含まれているという事実に依存します。



uRPFには、緩やかと厳密の2つのタイプがあります。



Loose uRPFが設定されたインターフェイスにパケットが到着すると、FIBにそのようなネットワークに関するエントリが存在するかどうかがチェックされ、そのエントリの送信者のIPアドレスがメンバーになります。 そのようなレコードがない場合、パケットは削除されます。それ以外の場合、パケットはFIBに従ってリダイレクトされます。

厳密なuRPFが設定されたインターフェイスにパケットが到着すると、送信者のIPアドレスが再度チェックされ、パケットが到着したインターフェイスがFIBのエントリと一致しない場合(たとえば、そのような送信者が別のインターフェイスの背後にある場合)、パケットは削除されます。 それ以外の場合、FIBのエントリに従ってリダイレクトされます。



設定例、一般的なトポロジ情報:









まず、CEFが有効になっていることを確認するか、 ip cefコマンドを使用して有効にします。





主な構成:





ip verify unicast source reachable-via rx allow-default allow-self-ping 」、「 ip verify unicast source reachable-via rx 」コマンドの主要部分には、ルーテッドポートでの厳密なuRPFが含まれています。つまり、Fa0 / 0インターフェイスに到着するパケットは送信者のIPアドレスが実際にFIB内にあり、パケットが到着したインターフェースを介して実際にアクセス可能なネットワークである場合、リダイレクトされ、そうでない場合は削除されます。 allow-default引数は、このインターフェイスを介してデフォルトルートが利用可能であることを指定します。 つまり、このインターフェイスに入るパケットは、他のインターフェイスを介してFIB経由でアクセスできるネットワークを除き、任意の送信者IPアドレスを持つことができます。 引数 " allow-self-ping "は、同じルーターからこのインターフェースにpingを許可します。 そして最後の引数は、「許可」ルールが一部のアドレスおよび/またはブロックされたパケットをログに記録することを許可するACL番号です。

ip verify unicast source reachable-via any 」コマンドは、uRPFインターフェイスでルーズモードを有効にします。 このモードでは、送信者ネットワーク情報がFIBにあるパケットはスキップされます。 このモードでは、引数「 allow-default 」は使用されません。これは、インターフェイスを介したすべてのパケットの転送を許可するためです。



ACLを使用してuRPFテクノロジーによってブロックされたパケットをロギングする例:





uRPFおよび非対称ルーティング



実際のトポロジでは、ルーター上のルートは対称ではないため、つまり、特定のポート(FIBに基づく)を介して特定のネットワークにパケットを送信する特定のルーターは、完全に異なるインターフェイスを介して応答パケットを受信できます。 この状況では、厳密なuRPFがそのようなパケットをブロックします。

この問題を解決するには2つの方法があります。 まず、緩やかなuRPFを使用できます。次に、ロギングに使用したものと同じACLを使用して、厳密なuRPFで特定のIPアドレス範囲のチェックを除外できます(もちろん、非対称ルートを含む範囲のみ)。



uRPF通知の設定例:





URPF通知は、snmpを介して送信できます。 「 IP検証ドロップレート計算ウィンドウ秒」は、uRPFドロップレートが計算される期間を決定します。つまり、この期間が経過すると、ドロップレートがわかります。

IP検証ドロップレート計算間隔秒」は、uRPFドロップレート計算プロセス間の時間間隔を定義します。

ip verify drop-rate notify hold-down seconds」コマンドは、uRPFドロップレート通知を送信する間の最小時間を決定します。

IP検証ユニキャスト通知しきい値パケット/秒」は、ドロップレートの超過に関する通知をいつ送信するかを決定するパケット/秒のしきい値を定義します。

Snmp trap ip verify drop-rate 」-最後のコマンドは、syslogサブシステムだけでなく、snmpプロトコルでのドロップレートを超えたときに、ルーターに通知を送信させます。



インターフェイスでドロップされたパケットの統計を表示する場合は、 show ip interface iface_nameコマンドを使用できます。





ISRルーターは、IOS 12.4(20)T以降のuRPFとuRPF通知の両方をサポートしていることも強調したいと思います。



All Articles