Administrar bem um firewall implica em avaliar constantemente os arquivos de log. Por default no Ubuntu 18 os logs do iptables são gravados no arquivo /var/log/syslog. Contudo neste arquivo também são gravadas diversas outras informações. Se seu firewall gera muita mensagem, fica difícil achar uma mensagem de outro serviço (por exem plo, do DNS), da mesma forma também não dá para descartar os arquivos syslog antigos que ficam muito grandes.
Isso pode atrapalhar as coisas e dificultar a verificação dos logs.
Se você deseja alterar o arquivo no qual o iptables registra, é necessário configurar as regras do iptables para gerar um prefixo de log.
O gerenciador de logs do ubuntu é rsyslog. Podemos configurá-lo para pegar o prefixo gerado pelo iptables e enviar todas as linhas com este prefixo para um arquivo de log personalizado, contendo apenas as informações de log do iptables.
As minhas linhas gerados pelo iptables tem o seguinte formato. Note que não estou utilizando um prefixo no log do iptables. e que dá para distinguir as linhas, pois todas contém a palavra: NETFILTER.
Para isto, crie um arquivo de configuração vazio (todos os comandos a seguir são dados como root ou via sudo) com o seu editor favorito:
Reinicie o rsyslog:
Isso pode atrapalhar as coisas e dificultar a verificação dos logs.
Se você deseja alterar o arquivo no qual o iptables registra, é necessário configurar as regras do iptables para gerar um prefixo de log.
O gerenciador de logs do ubuntu é rsyslog. Podemos configurá-lo para pegar o prefixo gerado pelo iptables e enviar todas as linhas com este prefixo para um arquivo de log personalizado, contendo apenas as informações de log do iptables.
As minhas linhas gerados pelo iptables tem o seguinte formato. Note que não estou utilizando um prefixo no log do iptables. e que dá para distinguir as linhas, pois todas contém a palavra: NETFILTER.
Mar 5 16:21:26 afirewall kernel: [ 1249.242830] NETFILTER NEW IN PACKET:IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.53 LEN=71 TOS=0x00 PREC=0x00 TTL=64 ID=43478 DF PROTO=UDP SPT=58264 DPT=53 LEN=51 Mar 5 16:21:26 afirewall kernel: [ 1249.242863] NETFILTER NEW IN PACKET:IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.53 LEN=71 TOS=0x00 PREC=0x00 TTL=64 ID=43479 DF PROTO=UDP SPT=58264 DPT=53 LEN=51Então precisamos configurar o rsyslog para tratar de forma diferente as linhas geradas pelo iptables.
Para isto, crie um arquivo de configuração vazio (todos os comandos a seguir são dados como root ou via sudo) com o seu editor favorito:
Entre as duas linhas a seguir neste arquivo e grave-o:
:msg, contains, "NETFILTER " -/var/log/iptables.log & ~Salve o arquivo e saia do editor. A primeira linha verifica os dados do log para a palavra "NETFILTER " e os anexa ao arquivo /var/log/iptables.log. Note que você pode utilizar no iptables prefixos diferentes para regras diferentes e assim ter diversos arquivos. No meu caso, só quero colocar tudo em um arquivo chamado iptables.log. A segunda linha simplesmente interrompe o processamento das informações de log, para que elas não sejam registradas em /var/log/syslog.
Reinicie o rsyslog:
Pronto! O syslog agora está gravando as mensagens do iptables no arquivo desejado.
Comentários
Postar um comentário