Criar um syslog de rede com syslog-ng

Neste caso estive a configurar uma máquina de linux Fedora para receber os logs de uma firewall Cisco através de syslog.

Para isso usei o servidor de syslog syslog-ng. Vou vos mostrar como foi configurado. Esta configuração funciona para qualquer syslog de rede.

Primeiro instalei o syslog-ng

yum install syslog-ng

Depois passei às configurações, editei o ficheiro /etc/syslog-ng/syslog-ng.conf

source net {unix-stream("/dev/log"); udp(ip(0.0.0.0) port(514)); };
destination meulogfile { file("/var/log/meulog.log" create_dirs(yes) ); };
filter meulogserver { host("192.168.1.254"); };
log { source(net); filter(meulogserver); destination(meulogfile); };

Adicionamos cada uma das linhas na sua secção, isto é, adicionamos a linha começada por source na parte onde temos configurações de sources, a destination na secção de destination e por aí.

Agora falando um pouco de cada linha:

  • Ná primeira linha vamos dar um nome à source por onde vamos escutar, demos o nome de net e dissemos que vamos escutar em qualquer ip do nosso servidor (0.0.0.0) na porta 514.
  • A segunda é referente ao ficheiro de destino do log que neste caso escolhi como /var/log/meulog.log
  • Na terceira linha vamos dizer de que ip vem o syslog que no meu caso é a firewall com o ip 192.168.1.254
  • A ultima linha é onde vou juntar todas as configurações anteriores, vou criar o log com a source, filter e destination que criei antes…

Agora é só iniciar o serviço de syslog-ng e verificar se o log está a crescer… Para iniciar o serviço usamos o seguinte comando:

/etc/init.d/syslog-ng start

Assim temos um syslog de um equipamento de rede diretamente para um ficheiro de log com o syslog-ng.