削除されたパッケージを/var/log/messages
。
これを達成するために、設定ファイルの最後に次の2行を追加しました。
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-INPUT-Dropped: " --log-level 4
-A OUTPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-OUTPUT-Dropped: " --log-level 4
これはデフォルトで INPUT および OUTPUT チェーンが DROP として構成されているために機能するため、パッケージが以前のルールと一致しない場合は記録および削除されます。
ただし、カスタムファイルに書き込むことはできません。正常にログインしましたが、/var/log/messages
ログインしたいです/var/log/iptables.log
。/etc/rsyslog.d/iptables.conf
次の内容でファイルを作成しました。
:msg, contains, "IPTables-INPUT-Dropped: " - /var/log/iptables.log
& ~
その後、rsyslogを再起動し/etc/init.d/rsyslog restart
、破棄されることがわかっているいくつかのパケットを送信しました。ただし、iptables.logには記録されず、まだ記録されています/var/log/messages
。
どの構成がありませんか?
解決済み 問題は、2つの間にスペースがあってはいけないということです。-そして/
答え1
問題は - と / の間にスペースがあってはならないということです。
答え2
これは以下を使用して達成できます。
syslogでiptablesログインを無効にするには、次の変更を行います/etc/rsyslog.d/50-default.conf
。
*.*;auth,authpriv.none;kern.*=!kern.warning -/var/log/syslog
別々のファイルを記録します。
kern.=warning -/var/log/iptables.log
その後、再起動またはsyslog
記録rsyslog
してください。tail
/etc/init.d/rsyslog restart
それsyslog
も動作rsyslog
します
答え3
これは使用される別の方法ですulogd
。カーネルロギングメカニズムの使用を中止するので、このメカニズムを使用することをお勧めします-m LOG
(ログを埋める重大な副作用もありますdmesg
)。
まず、ulogdが必要です。モジュールをapt-get install ulogd
編集して(最初の行を/etc/ulogd.conf
削除して)、このモジュールを有効にできます。#
plugin="/usr/lib/ulogd/ulogd_LOGEMU.so"
この部分を変更/追加してください[LOGEMU]
。
[LOGEMU]
file="/var/log/iptables.log"
sync=1
次に、を使用してulogdを再起動します/etc/init.d/ulogd restart
。その後、iptablesルールには使用しないでください-j LOG
。-j ULOG
ULOGモジュールには概念がないため、--log-level
これらのオプションを削除できます。--ulog-prefix
代わりに使用されます--log-prefix
。
答え4
ulogdの作業ソリューション
a)このモジュールが有効になっていることを確認してください
modprobe nf_log_ipv4
cp /etc/modules /etc/modules.bak
echo nf_log_ipv4 >> /etc/modules
b)/etc/ulogd.confファイルを編集してこれらのプラグインを有効にします(コメント解除#)。
plugin="/usr/lib64/ulogd/ulogd_inppkt_NFLOG.so"
plugin="/usr/lib64/ulogd/ulogd_filter_IFINDEX.so"
plugin="/usr/lib64/ulogd/ulogd_filter_IP2STR.so"
plugin="/usr/lib64/ulogd/ulogd_filter_PRINTPKT.so"
plugin="/usr/lib64/ulogd/ulogd_output_LOGEMU.so"
plugin="/usr/lib64/ulogd/ulogd_raw2packet_BASE.so"
最初のコメントの #stack の前に次の行を追加します。
stack=firewall11:NFLOG,base1:BASE,ifi1:IFINDEX,ip2str1:IP2STR,print1:PRINTPKT,emu11:LOGEMU
最後に、ファイルの末尾に次の行を追加します。
[firewall11]
group=11
[emu11]
file="/var/log/iptables.log"
sync=1
c)今、私はファイアウォールの代わりにiptablesスクリプトを使用する既存の方法を好みます。 iptablesスクリプトは、ロギングにこの行を使用します。
# Log
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A FORWARD -j NFLOG
iptables -A LOGGING -j NFLOG --nflog-prefix "[firewall-drop]:" --nflog-group 11
iptables -A LOGGING -j DROP
d) 最後の部分
touch /var/log/iptables.log
systemctl restart ulogd
このコマンドが利用可能であることを確認する
tail -f /var/log/iptables.log
イベントの後に、nmap portscanまたはシステムのTelnet(無効またはファイアウォールがあることが望ましい)といういくつかの行が表示されます。