web-dev-qa-db-ja.com

ipoptsを使用して、pfまたはiptablesファイアウォールのソースIPベースのブロッキングを回避できますか?

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が公開されている場合、そのような周回航海は実行可能またはもっともらしい攻撃ですか?もしそうなら、これを防ぐことができますか?

3
Brian M. Hunt

着信パケットの場合、パケットフィルタリング(367行目のpf_testの呼び出し)は、 ip_input.c のオプション処理(384行目のip_dooptionsの呼び出し)の前に実行されます。

発信パケットの場合、ルーティング(170行目から開始)は、 ip_output.c のパケットフィルタリング(691行目のpf_testの呼び出し)の前に実行されます。

したがって、パケットフィルタリングが正しく機能している場合、いいえ、ソースルーティングはファイアウォールを迂回しません。これは、着信パケットの場合はフィルタリング後までソースルーティングが適用されず、発信パケットの場合はソースルーティングが適用された後にフィルタリングが行われるためです。

2
this.josh

これらの特定のファイアウォールをバイパスできるかどうかは具体的にはわかりませんが、私の表面的な印象は、特にこれらの種類の脅威のために、ほとんどのファイアウォールがソースルーティングをブロックしているということです。

2
D.W.