私は現在以下を持っています人形ファイアウォール設定:
firewall { '100 drop insecure outgoing HTTP traffic':
chain => 'OUTPUT',
dport => 80,
proto => tcp,
action => reject,
}
その結果、次のようなルールが発生します。
$ sudo iptables --list-rules OUTPUT | grep ^-A
-A OUTPUT -p tcp -m multiport --dports 80 -m comment --comment "100 drop insecure outgoing HTTP traffic" -j REJECT --reject-with icmp-port-unreachable
パケットロギングの一般的な解決策は、各ソースチェーンに対して別々のログチェーンを作成し、そのチェーンにジャンプするようですが、これは少なくともルールセットの複雑さを倍増し、ロジックに従うのがより困難になります。したがって:パケットを破棄したのと同じルールでパケットを記録できますか?
答え1
iptables "LOG"拡張子を使用する回避策があります。からman 8 iptables-extensions
:
これは「非終了対象」です。つまり、ルール巡回は次のルールから続行されます。したがって、拒否されたパケットを記録するには、同じ一致基準を持つ2つの別々のルールを使用します。まず、ターゲットLOGとDROP(またはREJECT)を使用してください。
人形から:
firewall { '100 log insecure outgoing HTTP traffic':
chain => 'OUTPUT',
dport => 80,
proto => tcp,
jump => 'LOG',
} ->
firewall { '101 drop insecure outgoing HTTP traffic':
chain => 'OUTPUT',
dport => 80,
proto => tcp,
action => reject,
}
または単純にiptables
:
$ sudo iptables --list-rules OUTPUT | grep ^-A
-A OUTPUT -p tcp -m multiport --dports 80 -m comment --comment "100 log insecure outgoing HTTP traffic" -j LOG
-A OUTPUT -p tcp -m multiport --dports 80 -m comment --comment "101 drop insecure outgoing HTTP traffic" -j REJECT --reject-with icmp-port-unreachable
あまりきれいではありませんが、少なくとも単純です。