◆ uRPFとは
uRPF(Unicasat Reverse Path Forwarding)とは、ルータ上のルーティングテーブルの仕組みを利用した
パケットフィルタリングの技術のことです。uRPFは、ルータのインターフェースに着信してくるパケットの
送信元IPアドレスをチェックして、その送信元IPアドレスがルーティングテーブルに存在しているかを確認
して、存在する場合は正常にパケット転送を行い、存在しない場合はパケットをドロップします。
ルータは、本来は「あて先IPアドレス」を見てパケットのフォワーディングを行うのですが、uRPFでは
この本来の動作に加えて「送信元IPアドレス」も確認し、以下の2パターンの確認を行うことができます。
@ 送信元IPアドレスのルート情報がルーティングテーブルに存在するかどうかを確認
A @の確認に加えて、パケットが着信したインターフェイスのみを介して送信元IPに到達できるかを確認
上図では@の確認方法で不正なパケットをドロップさせました。下図ではAの確認方法にすることによって
不正なパケットをドロップさせています。Aの確認方法は、@の確認方法よりも、よりセキュアとなります。
◆ uRPF - コンフィグ設定
uRPFはパケットフィルタリングの技術であるとはいえACLを使用しません。適用したいインターフェースを
指定して、uRFPを1行で設定することができます。※ 機種によって設定できるコマンド引数が異なります。
◆ uRPFの設定
(config)# interface interface-id
(config-if)# ip verify unicast source reachable-via [ any | rx ] [ allow-default ]
コマンド引数 |
説明 |
any |
Looseモード。ルータは任意のインターフェースを介して送信元IPに到達できるかを確認。 |
rx |
strictモード。ルータは着信したインターフェースを介して送信元IPに到達できるかを確認。 |
allow-default |
オプション設定。送信元IPをアドレスをチェックする場合にデフォルトルートも照合。 |
◆ uRPFをGi0/0に適用 - Looseモードの設定(allow-defaultオプションも指定)
Cisco(config)# interface GigabitEthernet0/0
Cisco(config-if)# ip verify unicast source reachable-via any allow-default
|
uRPFが有効化されていること、uRPFで破棄されたパケット数はsh ip interfaceで確認することができます。
また、uRPFドロップとドロップ抑制のグローバルなルータ統計情報についてはsh ip trafficで確認できます。
◆ uRPFの適用例
下図でuRPFがGi0/0に適用されていない場合、PCが「200.1.1.1」に通信した後にその戻りのトラフィックは
そのPC(192.168.1.1)に戻らず不正端末(1.1.1.1)に戻されてしまいます。uRPFを適用することによって
送信元IPアドレスは「192.168.1.x」以外からである場合には不正なパケットと見なされてドロップされます。
このように、uRPFでは送信元IPアドレスの偽装パケットの転送を防ぐことができます。
|