iptables logando para arquivo diferente via syslog-ng

2

Eu tenho a seguinte configuração em meus arquivos iptables e 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); };'

Eu reinicio o syslog-ng e o log não está escrito.

    
por rahrahruby 06.04.2012 / 23:22

2 respostas

2

Seu syslog-ng config parece bom para mim, mas sua configuração do iptables não é. A linha -j LOG aparece depois de uma linha que DROP tudo, portanto nunca será alcançada.

Você deve mover a linha LOG para diretamente antes do evento que deseja registrar. Se você quiser registrar tudo, coloque-o primeiro. Se você quiser registrar tudo que não é ACEITAR, coloque depois de todos os ACCEPTs.

    
por 13.04.2012 / 10:47
2

Ok, depois de muita dor eu finalmente consegui trabalhar, aqui está a configuração final, espero que ajude alguém.

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); };
    
por 27.04.2012 / 01:57

Tags