Centos 7にiptablesがあります。ファイアウォールが無効になっています。 iptablesイベントをどのように記録しますか? Debianではdmesgオプションですが、centosで設定する方法がわかりません。
すべてのiptablesイベントを記録したいと思います。特別な規定はありません。
答え1
パケットがルールiptables ... -j LOG
と一致すると、カーネルログメッセージが生成されます。標準のシステムログレベル識別子(、、、、、または)のいずれかである可能性があるオプションを使用して、メッセージの重大度レベルを指定できます--log-level <level>
。<level>
emerg
alert
crit
error
warning
notice
info
debug
rsyslog
これらのログメッセージは、重大度レベルが十分に低い場合にrsyslog
完全に削除できるように処理されます。 iptablesログメッセージはカーネルからのものであるため、対応するロギングカテゴリは常にですkern
。したがって、/etc/rsyslog.conf
処理するメッセージの最小重大度レベルと、そのメッセージが保存されるログファイルを確認してください。kern.*
次に、ルールの適切な重大度レベルを設定しますiptables -j LOG
。
または、このiptables ... -j LOG --log-prefix <prefix>
オプションを使用して認識可能なプレフィックスをiptablesメッセージに追加し、高度な機能を使用してrsyslog
iptablesメッセージを別のログファイルに書き込みます。
答え2
私に最適なソリューションを見つけました。警告レベル:
iptables -A INPUT -j LOG --log-prefix "BAD_INPUT: " --log-level 4
iptables -A FORWARD -j LOG --log-prefix "BAD_FORWARD: " --log-level 4
iptables -A OUTPUT -j LOG --log-prefix "BAD_OUTPUT: " --log-level 4
デバッグレベル:
iptables -A INPUT -j LOG --log-prefix "BAD_INPUT: " --log-level 7
iptables -A FORWARD -j LOG --log-prefix "BAD_FORWARD: " --log-level 7
iptables -A OUTPUT -j LOG --log-prefix "BAD_OUTPUT: " --log-level 7
ログは次の場所に保存されます。
/var/log/messages
出力例:
Aug 4 13:22:40 centos kernel: BAD_INPUT: IN= OUT=em1 SRC=192.168.1.23 DST=192.168.1.20 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=59228 SEQ=2
Aug 4 13:23:00 centos kernel: BAD_INPUT: IN=em1 OUT= MAC=a2:be:d2:ab:11:af:e2:f2:00:00 SRC=192.168.2.115 DST=192.168.1.23 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=9434 DF PROTO=TCP SPT=58428 DPT=443 WINDOW=8192 RES=0x00 SYN URGP=0
答え3
CentOS 7はsystemdのジャーナルをデフォルトのロギングシステムとして使用し、カーネルログ(例:iptables)はジャーナリングではなくジャーナリングに渡され、次のように/var/log/messages
(カーネルログを意味する)ジャーナルctlに渡して表示する必要があります。-k
journalctl -k
Journalctlの男のビューここ
または、Web上の多くのチュートリアルのいずれかを使用してすべてのオプションを見つけることができますが、ほとんどの場合、トレースログを使用したり、最後の起動以降のログのみを含めたり、日付-f
別-b
に--since
ログを選択したり、--no-pager
出力時にデフォルトのポケットベルを無効にしたりできます。
ログを生成するには、他の応答で述べたようにiptablesと一緒にタスクを使用する必要があります-j LOG
。--limit
iptables -A INPUT -j LOG -limit 1/s --limit-burst 3 --log-prefix "INPUT REJECTED: " --log-level 4
答え4
/var/log/messages
iptablesはCentOS 7にイベントを記録します。