要約

  • 厳格な逆方向パス転送(RPF)は、到着インターフェースが送信元への最良経路と一致しないと、正当なパケットまで拒否しうる。RFC 3704はこの非対称性を正面から扱った。
  • 実行可能経路RPFは既知の代替経路を許すが、検査を行う各ルーターに経路が一貫して届くことが条件だ。緩和型RPFは非対称経路を通しやすくする代わりに、方向に関する証拠の多くを手放す。

ルーターが見たのは戻り道

二つのプロバイダーにつながるネットワークを考える。あるパケットはプロバイダーBを通って送られ、送信元アドレスもそのネットワークが使う正規のものだ。B側インターフェースで受け取った別のルーターが送信元を引くと、最良の戻り経路はプロバイダーAを指していた。厳格RPFならこのパケットは落ちる。ルーターは送信者を認証したのではなく、到着口と自分の転送表の見方を比べただけである。

2004年3月にBest Current Practice 84として公開されたRFC 3704は、RFC 2827(BCP 38)の入口フィルタリングをマルチホーム環境へ広げた。送信元アドレス詐称を抑える目的は変わらない。変わったのは、ルーターが頼れる経路情報だ。実際に届いた向きと、ルーティングシステムが送信元へ戻るために選ぶ向きは一致しないことがある。

RFC 3704はRPFを一つのスイッチとして扱わない。インターフェースごとのアクセスリストなら許可するプレフィックスを明示できるが、手作業のリストはプロバイダーやプレフィックスの変更に遅れやすい。厳格RPFは転送情報ベース(FIB)で送信元を検索し、最良経路のインターフェースから届いた場合だけ通す。対称な顧客境界では簡潔で動的だが、戻り経路が非対称だったり、正当な経路が未受信またはポリシーで受理されなかったりすると、正常な通信も落とす。

経路を増やせば条件も増える

実行可能経路RPFは、最良経路だけでなく、保持された代替経路も検査に含める。マルチホーム環境では、別の経路が一時的に優先されただけで正当なパケットを拒否する事態を減らせる。

ただし、その一覧はあらゆる経路の完全な地図ではない。RFC 3704は、関連する経路広告が検査ルーターまで一貫して伝わることを前提とする。ルートマップや経路ポリシーによって、あるプロバイダーではプレフィックスが見えても、別のプロバイダーでは欠けることがある。広告がフィルターされればパケットも落ちうる。したがって、ローカルな入口ルールは複数の管理主体の制御判断に依存する。

緩和型RPFは逆の側へ寄る。送信元への経路が存在するかだけを調べ、到着インターフェースとの方向一致は求めない。非対称性には強くなるが、経路制御上存在する詐称アドレスも通る可能性がある。デフォルト経路を含む実装なら、扱いを限定しないかぎり検査はさらに弱くなる。RFC 3704は顧客からプロバイダーへの境界で主要な詐称防止策として使うことには慎重で、上流で未経路・予約アドレスを落とす用途や、相手ネットワークが何らかのフィルターを実施しているか確かめる用途を挙げる。

代替策には、各プロバイダーが顧客プレフィックスを完全に知るようBGPで広告すること、プロバイダー割当ての送信元プレフィックスをそのプロバイダーにだけ流すこと、顧客データベースからアクセスリストを自動生成することがある。どれも作業を別の場所へ配分するが、経路状態を本人確認には変えない。

フィルターは送信元に近いほど、接続先が使ってよいアドレスを具体的に検査できる。離れたルーターに分かるのは、その送信元が到達可能なプレフィックスに属する可能性までだ。複数階層のフィルターは追跡の手掛かりを増やしても、特定の攻撃者や全ネットワークでの導入を証明しない。2020年のRFC 8704はRFC 3704を更新し、強化した実行可能経路uRPFを示した。これは課題が続いていた証拠であり、全事業者の導入やあらゆるトポロジーの解決を示すものではない。

要点は「厳格」か「緩和」かを一律に決めることではない。最良の戻り経路、代替経路の集合、あるいは単なる経路の存在のどれを検査するのかを確かめることだ。判定はルーターの表とチェック地点に左右される。RFC 3704は、経路の完全性をネットワーク間で共有する運用責任として見えるようにした。

出典