Ubuntu 18.04 LTSでufwを使用しており、両方とも削除を記録したいと思います。そして許可されたパケット(これは多くのログが生成されることを知っています)。
- を使用してufwログレベルを上げてこれを実行できますが、デフォルトでufw logging high
は含まれていないいくつかの追加情報(TCPオプションとシーケンス番号)も記録したいので、この方法は機能しません。
カスタムロギングルールを追加する正しい場所があると思い、/etc/ufw/before.rules
次のようにファイルの末尾にそれを追加しましたCOMMIT
。
-A INPUT -j LOG --log-tcp-options --log-tcp-sequence --log-prefix "[MY_PREFIX] "
-A FORWARD -j LOG --log-tcp-options --log-tcp-sequence --log-prefix "[MY_PREFIX] "
ただし、これは許可されたパケットではなくドロップされたパケットのみを記録します。 iptablesルールの順序に関連しているようですが、before.rules
許可されたパケットのロギングを短絡する他のエントリは表示されません。
いくつかの追加の制限は、アウトバウンド接続またはループバックトラフィックを記録したくないことです。
追加情報と一緒にドロップして受け入れられたパケットを記録する方法についてのアイデアはありますか?
答え1
-A
追加ルールはチェーンの終わりにありますiptables
。
最初に各パケットを記録するには、以下を試してください-I
。
-I INPUT -j LOG --log-tcp-options --log-tcp-sequence --log-prefix "[MY_PREFIX] "
-I FORWARD -j LOG --log-tcp-options --log-tcp-sequence --log-prefix "[MY_PREFIX] "
つまり、これらの問題を解決する最善の方法は、次のようにすることです。新しいチェーン店そして、標準チェーンの代わりにこれらのチェーンを使用するようにルールを変更してください。
(簡単な)例として、2つの新しいターゲットを持つことができます。
iptables -N LOG_DROP
iptables -N LOG_ACCEPT
「基本」ルールを次のように作成します。
iptables -A LOG_DROP -j LOG --log-tcp-options --log-tcp-sequence --log-prefix "[MY_PREFIX] "
iptables -A LOG_DROP -j DROP
iptables -A LOG_ACCEPT -j LOG --log-tcp-options --log-tcp-sequence --log-prefix "[MY_PREFIX] "
iptables -A LOG_ACCEPT -j ACCEPT
その後、ルールに従って次のようにLOG_DROP
「送信」を実行できますDROP
。LOG_ACCEPT
ACCEPT
iptables -A INPUT -p tcp --dport 22 -j LOG_DROP # Log and drop input packets to port 22