Shorewall: registrando em um arquivo customizado

5

Estou executando um sistema Ubuntu Server 14.04 com um shorewall firewall. Shorewall é essencialmente um front-end para iptables , e é iptables que faz o registro via Netfilter (minha compreensão até agora).

Meu problema é que não consigo entender os documentos do shorewall sobre o registro em log para um destino diferente. Isto é o quão longe eu cheguei:

  • eu instalei e iniciei ulogd
  • Eu defini uma variável em /etc/shorewall/params : LOG=NFLOG
  • Alterei todas as ocorrências de info para $LOG em /etc/shorewall/shorewall.conf
  • Defino o destino do registro em /etc/shorewall/shorewall.conf : LOGFILE=/var/log/shorewall

Isso supostamente faz o seguinte: O Netfilter registra no destino NFLOG (sucessor de ULOG ), o que significa que as mensagens de log do Netfilter são manipuladas por ulogd2 .

O que eu não sei é como posso dizer ulogd2 para escrever todas as mensagens do shorewall para o meu arquivo de log desejado /var/log/shorewall .

A documentação é pouco clara sobre isso, como este tópico do fórum atesta. Esta postagem no blog que eu encontrei é igualmente vaga, em relação ao redirecionamento de log de ulogd2 .

Em resumo:

  1. A minha abordagem para redirecionar as mensagens de log do shorewall para ulogd2 está correta?
  2. Como posso configurar o ulogd2 para redirecionar as mensagens do shorewall para /var/log/shorewall ?

PS: Eu não estou fazendo essa pergunta no AskUbuntu, porque isso é igualmente relevante para outras distribuições Linux.

    
por derabbink 28.04.2014 / 12:33

2 respostas

4

O Ubuntu usa rsyslog para que você possa configurá-lo para filtrar mensagens e gravá-las em arquivos de registro arbitrários, por exemplo, criar um arquivo /etc/rsyslog.d/shorewall.conf

:msg, contains, "Shorewall:" /var/log/shorewall
& ~

Ou se você quiser dividir as coisas um pouco mais

:msg, contains, "Shorewall:cust2net:ACCEPT:" /var/log/shorewallc2na.log
& ~

:msg, contains, "Shorewall:" /var/log/shorewall
& ~

Que coloca todas as mensagens contendo "Shorewall: cust2net: ACCEPT:" em um arquivo de log e qualquer outra mensagem que contenha "Shorewall" em um arquivo de log diferente.

Você precisa reiniciar o rsyslogd para que isso tenha efeito.

    
por 28.04.2014 / 13:09
0

Acho que você esqueceu de atualizar o arquivo policy :

#SOURCE     DEST    POLICY      LOG LEVEL   LIMIT:BURST
$FW         net  ACCEPT
net         all     DROP        $LOG
# The FOLLOWING POLICY MUST BE LAST
all         all     REJECT      $LOG
    
por 14.11.2014 / 15:29