В моих файлах iptables и syslog есть следующая конфигурация:
IPTABLES
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -j DROP
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
SYSLOG-NG
destination d_iptables { file("/var/log/iptables/iptables.log"); };
filter f_iptables { facility(kern) and match("IN=" value("MESSAGE")) and match("OUT=" value("MESSAGE")); };
filter f_messages { level(info,notice,warn) and
not facility(auth,authpriv,cron,daemon,mail,news) and not
filter(f_iptables); };
log { source(s_src); filter(f_iptables); destination(d_iptables); };`
Я перезапускаю syslog-ng, но журнал не записывается.
Хорошо, после долгих мучений я наконец-то заставил его работать, вот финальная конфигурация, я надеюсь, что это кому-то поможет.
iptables
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:LOGNDROP - [0:0]
:OUTPUT ACCEPT [63:18352]
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s 85.25.146.0/24 -j DROP
-A INPUT -j DROP
syslog.confg
destination d_iptables { file("/var/log/iptables.log"); };
filter f_iptables { match("iptables denied" value("MESSAGE")); };
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail) and not filter(f_iptables); };
# not facility(auth,authpriv,cron,daemon,mail,news) and not filter(f_iptables); };
filter f_kern { facility(kern) and not filter(f_iptables); };
log { source(s_src); filter(f_iptables); destination(d_iptables); };
Ваша конфигурация syslog-ng мне кажется прекрасной, но ваша конфигурация iptables - нет. В -j LOG
строка появляется после строки, которая удаляет все, поэтому она никогда не будет достигнута.
Вы должны переместить строку LOG непосредственно перед тем событием, которое вы хотите зарегистрировать. Если вы хотите регистрировать все, ставьте это первым. Если вы хотите регистрировать все, что НЕ ПРИНЯТО, поместите это после всех ПРИНЯТИЙ.