/etc/syslog.conf
を構成するにはどうすればよいですか iptables
に関するログ情報を保存するためのファイル 特定のファイルで。
これらの情報を個別に保存したいので、必要なものを簡単かつ迅速に抽出できます。
承認された回答:
syslog
iptables
のマニュアルページをご覧ください 。 LOG
というターゲットが表示されます やりたいことができます。
例
-
LOG
のログレベルを設定します 4に。# DROP everything and Log it iptables -A INPUT -j LOG --log-level 4 iptables -A INPUT -j DROP
-
syslog.conf
を構成します これらのメッセージを別のファイルに書き込むため。# /etc/syslog.conf kern.warning /var/log/iptables.log
-
syslogdを再起動します。
Debian / Ubuntu
$ sudo /etc/init.d/sysklogd restart
Fedora / CentOS / RHEL
$ sudo /etc/init.d/syslog restart
注: このロギング方法は、固定優先度と呼ばれます。それらは、数字または名前(1,2,3,4、..)または(DEBUG、WARN、INFOなど)のいずれかです。
rsyslog
たまたまrsyslog
を使用している場合 、次のようにプロパティベースのフィルタを作成できます:
# /etc/rsyslog.conf
:msg, contains, "NETFILTER" /var/log/iptables.log
:msg, contains, "NETFILTER" ~
次に、ログに記録するiptablesルールにスイッチを追加します。
–log-prefix NETFILTER
別の方法として、このタイプのプロパティフィルターを使用してメッセージをログに記録することもできます。
:msg, startswith, "iptables: " -/var/log/iptables.log
& ~
:msg, regex, "^[ *[0-9]*.[0-9]*] iptables: " -/var/log/iptables.log
& ~
注: この2番目の方法では、iptables
を変更する必要はありません。 。
参考資料
- iptablesにメッセージを別のログファイルに記録するように強制する
- rsyslogでiptablesメッセージをログに記録する