web-dev-qa-db-ja.com

iptablesSSH接続ロギング

接続が確立されたときにのみログエントリを書き込むことは可能ですか?私が試してみました:

iptables -I OUTPUT -p tcp --dport 22 -j LOG --log-level notice --log-prefix "outgoing ssh connection"

発信SSH接続をログに記録しますが、これはすべてのパケットをログに記録します。これは、監視目的で少し圧倒されることを想像できるとおりです。 SLES 11 SP3を実行しています。ですから、接続が確立されたときにのみログエントリを書き込む方法を誰かが指摘できれば幸いです。

7
phenom135

トラフィックをログに記録する必要があるLineは、次のように見える可能性があります。

iptables -I OUTPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j LOG --log-prefix "Outgoing SSH connection"

別の端末でログを表示する

while :; do iptables -L OUTPUT -v -n --line-n; sleep 2; done

-m state--stateを使用しています。ただし、--ctstateを使用することをお勧めします

man iptables詳細については。

ログに圧倒されていると感じた場合は、--log-levelの変更を検討してください。 http://www.netfilter.org/ で詳細を確認できます。

5

val0x00ffの--state の使用の提案も コメントのペッターH によって、うまく機能するはずです。

ただし、そのためだけにセッション状態の追跡を導入する必要はありません。 --synフラグを追加して、新しい接続の試行時にのみ設定されるSYNフラグが設定されたパケットのみにルールを一致させることができます。

3
a CVn