Onde posso encontrar o arquivo de log do iptables e como posso alterar sua localização?

48

Eu tenho esta regra no meu iptables:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

Minha pergunta é:

Onde está o arquivo de log do iptables e como posso mudar isso?

pylover
fonte

Respostas:

62

Esses logs são gerados pelo kernel, então eles vão para o arquivo que recebe registros de kernel: /var/log/kern.log.

Se você deseja redirecionar esses logs para um arquivo diferente, isso não pode ser feito através do iptables. Isso pode ser feito na configuração do programa que despacha logs: rsyslog. Na regra iptables, adicione um prefixo que não seja usado por nenhum outro log do kernel:

iptables -A INPUT -s 192.168.11.0/24 -j LOG --log-prefix='[netfilter] '

Seguindo o exemplo definido por 20-ufw.conf, crie um arquivo em /etc/rsyslog.d/my_iptables.confcontendo

:msg,contains,"[netfilter] " /var/log/iptables.log
Gilles 'SO- parar de ser mau'
fonte
Eu não tenho instalado ufw, por isso não posso encontrar os logs de syslog, kern.log ou iptables.log
pylover
3
@pylover UFW foi apenas um exemplo. Eu sei que você não tem iptables.log, o objetivo da minha resposta é mostrar como criá-lo. Você pode não ter /var/log/kern.logse estiver executando uma versão diferente do Ubuntu (acho que versões recentes não usam mais esse arquivo e inserem os logs do kernel /var/log/syslog), mas isso não importa. Ah, mas se você estiver executando uma versão mais antiga do Ubuntu, poderá ser necessário instalar o rsyslogpacote.
Gilles 'SO- stop be evil'
Para fazer isso funcionar na 12.10, tive que ajustar o arquivo rsyslog.d para ter o seguinte caractere adicional: ": msg, contains," [netfilter] "- / var / log / iptables.log"
Daniel
2
mais uma coisa, eu precisava para nomear o arquivo como 00-my_iptables.conf, caso contrário ainda iptables foram entrando em kern.log
Valentin Kantor
2
Talvez você também tenha mencionado o & stopcomando. Dessa forma, você evita duplicatas no kern.logarquivo, duplicatas que podem prejudicar sua capacidade de ver outros logs importantes do kernel.
Alexis Wilke
12

Sei que é tarde demais e a resposta já está marcada como aceita. Eu só tenho um pedaço de informação nova para dar.

O arquivo de log da LOGação é encontrado em /var/log/syslog(Ubuntu e SOs similares) ou /var/log/messages(CentOS e SOs similares).

palhaço
fonte
5

Se você estiver com problemas para encontrar o arquivo certo, tente o seguinte:

find /var/log -mmin 1

Ele encontrará qualquer arquivo modificado nos últimos 1 minuto dentro /var/loge abaixo. Você pode descobrir que o -j LOGpode atualizar mais do que apenas um único arquivo.

Por exemplo no Ubuntu 18, tanto o /var/log/kern.loge /var/log/syslogsão impactados com registro netfilter.

prosti
fonte