Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Log remoto com o rsyslog
Colaboração: Flavio Alexandre dos Reis
Data de Publicação: 18 de maio de 2010
Logs são arquivos texto gerados pelo sistema e que podem ajudar a descobrir problemas na execução de softwares, problemas de hardware. Tentativas de invasão podem ser descobertas com análise dos logs. É muito importante deixar esses arquivos seguros e intactos. Em uma auditoria de sistemas esses logs serão importantes, portanto, logs nunca devem ser alterados, somente o root deverá ter acesso a eles.
Nesse documento será apresentado um exemplo de como gerar log em hosts clientes e destiná-los a servidores remotos, centralizando a gravação dos logs.
Para executar o exemplo foram utilizadas duas máquinas com Ubuntu 9.10, e o aplicativo usado como exemplo para gerar o log remoto foi o agendador de tarefas (cron).
Configurações no Cliente
Primeiro passo, verificar se o rsyslog está instalado.
# aptitude search rsyslog i rsyslog - enhanced multi-threaded syslogd
Observe que o rsyslog está instalado. Se a primeiro letra for um (p) o aplicativo está disponível mas não instalado.
Para instalar
# apttude install rsyslog
Faça o mesmo processo em todas as máquinas, sejam clientes ou servidores.
Editando o arquivo de configuraçao no cliente.
# vim /etc/rsyslog.conf
Observe a diretiva "IncludeConfig". Ela indica que todos os arquivos .conf localizados em`` /etc/rsyslog.d`` serão adicionados. Isso facilita na organização do arquivo.
# Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf
Observe o caminho indicado e acesse o diretório.
# cd /etc/rsyslog.d # vim 50-default.conf
Observe as linhas referentes ao cron.
Agora entra o conceito de facilidade.nível destino.
Resumindo:
- Facilidade: Qual aplicação será logada.
- Nível: Qual a criticidade onde o log será gerado, o "*" mostra todas.
- Destino: Destino. Aqui temos várias opções, arquivo, usuário (s), terminal, outro host.
A linha será alterada e destinada a um host remoto (nosso servidor de logs).
Por padrão essa linha vem comentada, faça a seguinte alteração.
Antes:
;cron.* /var/log/cron.log
Depois:
cron.* @192.168.220.34
Onde: 192.168.220.34 é o servidor que irá receber os logs.
Salve as alterações e feche o arquivo.
Reinicie o rsyslog para que as alterações façam afeito.
# invoke-rc.d rsyslog restart
As configurações no cliente estão encerradas, voltaremos no cliente posteriormente.
Configurações no servidor
Conforme falado no inicio, verifique se rsyslog está instalado
# aptitude search rsyslog
Primeiro passo e ativar a gravação do log remoto, se o arquivo não existir poderá ser criado e inserido a seguinte diretiva.
# vim /etc/default/rsyslog SYSLOGD="-r"
No arquivo /etc/rsyslog.conf será necessário observar alguns detalhes. O syslog, quando configurado para receber log remotamente, deverá estar com a porta 514 liberada.
Observe se as diretivas abaixo estão ativas no servidor, essas diretivas habilitam a escuta do log remoto.
# vim /etc/rsyslog.conf # provides UDP syslog reception $ModLoad imudp $UDPServerRun 514
Observe a diretiva "IncludeConfig"
# Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf
Salve as alterações e feche o arquivo.
Agora será configurado o arquivo que receberá o log do cliente.
# cd /etc/rsyslo.d # vim 50-default.conf
Observe as linhas referentes ao cron
Antes:
;cron.* /var/log/cron.log
Depois:
cron.* /var/log/cron.log
Salve as alterações e feche o arquivo.
Reinicie o rsyslog
# invoke-rc.d rsyslog restart
Pode-se executar um check-list para Verificar se o serviço está disponível. Esse passo é muito importante para saber se as configurações surtiram efeito. Aqui foi utilizado o netstat fazendo um filtro na porta 514.
# netstat -putan | grep 514 udp 0 0 0.0.0.0:514 0.0.0.0:* 9380/rsyslogd udp6 0 0 :::514 :::* 9380/rsyslogd
Conferindo os log gerados pelo cliente.
Acesse o terminal 2 ( ctrl + alt + f2 ) e execute a seguinte linha de comando.
# tail -f /var/log/cron.log
Acesse o terminal 3 ( ctrl + alt + f3 ) e execute a seguinte linha de comando.
# tcpdump port 514 -i eth0 -n -vv
No cliente reinicie o cron
# invoke-rc.d cron restart
Volte ao terminal 2 e observe a saída do log.
# tail -f /var/log/cron.log Apr 12 23:49:42 reisfa-vostro cron[3050]: (CRON) INFO (pidfile fd = 3) Apr 12 23:49:42 reisfa-vostro cron[3051]: (CRON) STARTUP (fork ok) Apr 12 23:49:42 reisfa-vostro cron[3051]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
Volte ao terminal 3 e observe a saída do log.
# tcpdump port 514 -i eth0 -n -vv tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 00:46:51.198563 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 102) 192.168.220.36.38980 > 192.168.220.34.514: SYSLOG, length: 74 Facility cron (9), Severity info (6) Msg: Apr 13 00:46:52 reisfa-vostro cron[2909]: (C[|syslog] 00:46:51.198579 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 98) 192.168.220.36.38980 > 192.168.220.34.514: SYSLOG, length: 70 Facility cron (9), Severity info (6) Msg: Apr 13 00:46:52 reisfa-vostro cron[2910]: (C[|syslog] 00:46:51.200372 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 131) 192.168.220.36.38980 > 192.168.220.34.514: SYSLOG, length: 103 Facility cron (9), Severity info (6) Msg: Apr 13 00:46:52 reisfa-vostro cron[2910]: (C[|syslog]
Todas as atividades do efetuadas no cron serão logadas.
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
Opinião dos Leitores
22 Mai 2012, 16:38
04 Mai 2011, 08:39
Só algumas coisinhas erradas:
No segundo campo de código, está errado:
# apttude install rsyslog
Deveria ser:
# aptitude install rsyslog
E lá quase no final, nessa parte:
# vim /etc/rsyslog.conf
# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
Você poderia ter usado TCP, porque a maioria do pessoal que usa Cloud Server vai ter problemas usando UDP se a máquina fonte for uma EC2.
Obrigado.
02 Fev 2011, 09:32
Parabéns..abraços!!!





