Ipopts、特にIP ソースルーティング を使用して、pfまたはiptablesでのソースベースのブロッキングを回避できますか?
たとえば、OpenBSDのpfでは:
block in all # default deny
block out all
pass in on dc0 from 10.0.0.0/8 to 10.1.1.1
Dc0を介したTCP/IPパケットのIPソースルーティングを使用して、ファイアウォールルールを(いわば)迂回し、10/8以外のネットワークから10.1.1.1と通信できますか?
可能であっても、dc0が公開されている場合、そのような周回航海は実行可能またはもっともらしい攻撃ですか?もしそうなら、これを防ぐことができますか?
着信パケットの場合、パケットフィルタリング(367行目のpf_testの呼び出し)は、 ip_input.c のオプション処理(384行目のip_dooptionsの呼び出し)の前に実行されます。
発信パケットの場合、ルーティング(170行目から開始)は、 ip_output.c のパケットフィルタリング(691行目のpf_testの呼び出し)の前に実行されます。
したがって、パケットフィルタリングが正しく機能している場合、いいえ、ソースルーティングはファイアウォールを迂回しません。これは、着信パケットの場合はフィルタリング後までソースルーティングが適用されず、発信パケットの場合はソースルーティングが適用された後にフィルタリングが行われるためです。
これらの特定のファイアウォールをバイパスできるかどうかは具体的にはわかりませんが、私の表面的な印象は、特にこれらの種類の脅威のために、ほとんどのファイアウォールがソースルーティングをブロックしているということです。