O log de IPtables não está funcionando

0

Eu configurei um iptable simples que deve registrar todos os pacotes descartados em um arquivo. Quando verifico meu arquivo de log, ele está vazio.

Meus iptables:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             #Allow loopback
LOGGING    all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain LOGGING (1 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             LOG level warning prefix "IPTables-Dropped: "
DROP       all  --  anywhere             anywhere

E em /etc/rsyslog.d/90-iptables.conf redireciono as mensagens para outro arquivo:

:msg,contains,"IPTables-Dropped: " /var/log/iptables.log"

Agora mudou para

kern.warning      /var/log/iptables.log

Saída de sudo iptables -v -x -n -L yields:

    Chain INPUT (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
   58254 11751250 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    3937   232480 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
      52     2824 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
      68     3696 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
     114     9187 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
       0        0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    1636   154417 LOGGING    all  --  *      *       0.0.0.0/0            0.0.0.0/0           
      16      668 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy DROP 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 70233 packets, 16508738 bytes)
    pkts      bytes target     prot opt in     out     source               destination         

Chain LOGGING (1 references)
    pkts      bytes target     prot opt in     out     source               destination         
    1641   154653 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "IPTables-Dropped: "
    1640   154613 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0 
    
por Olof 08.02.2017 / 11:33

3 respostas

1

Por convenção, somente os arquivos terminados em .conf em /etc/rsyslog.d são analisados por rsyslogd . O arquivo /etc/rsyslogd.conf padrão contém isso:

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf

A recomendação é alterar o nome do arquivo de /etc/rsyslog.d/iptables.log para /etc/rsyslog.d/iptables.conf . No entanto, considere seguir ainda mais a convenção e incluir um prefixo de ordem de carregamento semelhante aos outros arquivos nesse diretório. ou seja, /etc/rsyslog.d/90-iptables.conf

Nota: testei /etc/rsyslog.d/iptables.conf e funciona bem.

    
por Doug Smythies 10.02.2017 / 00:59
1

Essa é uma pergunta antiga, mas não tem uma resposta aceita ou uma resposta correta, tanto quanto eu posso ver. É feito com a ordem em que os arquivos de configuração de log são carregados no diretório /etc/rsyslog.d/ .

Eu o corriquei prefixando meu arquivo iptables.conf com 10- , para que o nome do arquivo seja:

10-iptables.conf

Isso carrega como uma prioridade mais alta que o arquivo 50-defaults.conf no mesmo diretório, o qual eu suponho que esteja sobrecarregando o comportamento em sua configuração de log do iptables e direcionando o log para o local padrão do arquivo de /var/logs/syslog .

Carrega essas configurações em ordem alfabética, portanto, ao numerá-las, você pode configurar a prioridade de carregamento. Todos os arquivos precisam ter o prefixo .conf , porque é isso que o rsyslog procura ao carregar as configurações do log.

    
por ionised 03.06.2018 / 15:37
0

Isso é porque eles estão logados no kernel.

Você precisa mudar para isso em /etc/rsyslog.conf

kern.warning      /var/log/iptables.log
    
por fugitive 08.02.2017 / 13:17