Logwatch - Enviando relatórios via e-mail
Quando o assunto é segurança, devemos considerar a importância dos relatórios do sistema, tanto para tomadas de decisões corretivas quanto
preventivas. Neste artigo, vou mostrar a configuração segura do Logwatch e o envio dos logs gerados por ele via e-mail.
preventivas. Neste artigo, vou mostrar a configuração segura do Logwatch e o envio dos logs gerados por ele via e-mail.
Parte 2: Logwatch
Logwatch, o agente gerador de log
O Logwatch é um sistema de análise de logs customizável, que age acessando os logs do sistema criando um report das áreas especificadas no arquivo de configuração.O Logwatch é muito simples, de fácil instalação e configuração, rodando na maioria dos sistemas Unix-like.
Site oficial:
Para instalá-lo, use:
# apt-get install logwatch
Teste seu funcionamento emitindo o comando logwatch no terminal:
# logwatch
Se tudo tiver certo, ele vai gerar um relatório extraindo informações dos logs do seu sistema.
Enviando logs por e-mail
Analisar logs é uma tarefa que precisa ser vista e praticada pelos sysadmins como algo crucial, uma vez que através dela, podemos identificar ou corrigir problemas antes dos mesmos tomarem proporções que dificultem ou impossibilitem um reparo do erro.Muitas vezes, por falta de tempo ou a falta de experiência do sysadmin em analisar cada log, esta tarefa é colocada em último plano, um erro grave.
Pensando nisso, escrevi o script a seguir para automatizar o envio por e-mail dos logs gerados pelo Logwatch, trazendo praticidade à tarefa de analise de logs.
Segue abaixo, a ultima peça do nosso canivete suíço, o script que gera o log e o envia por e-mail:
#!/bin/sh
# Script para envio dos logs do sistema de forma periódica e automática.
# Desenvolvido em Shell script.
# Autor: Alex Sandro Silva
# Twitter: @alexhctp
# Email: alexhctp[at]hotmail[dot]com - alexhctp[at]gmail[dot]com
# CONFIGURACOES LOCAIS
LOGGEN='/usr/sbin/logwatch'
MAIL='/usr/bin/mutt'
LOGDIR='/tmp/logs/'
MAIL='/usr/bin/mutt'
# DATE=`date +%y%m%d`
DATE=`date +%Y-%m-%d`
HOME='/root/'
# MENSAGEM=/root/mensagem.txt #aprendendo uma forma de dar um echo buscando o conteúdo de um arquivo de texto, se alguem souber, conta ae, rsrs
if [ -d $LOGDIR ]
then
rm -r $LOGDIR
exit 0
elif [ -d $HOME ]
then
mkdir $LOGDIR
$LOGGEN > $LOGDIR/log_$DATE.log
echo 'Logs e estatisticas enviadas automaticamente ao sysadmin' | $MAIL -s 'Estatisticas e Logs diarios - NOME DA FILIAL' -a $LOGDIR\log* -- ti@seuemail.com
rm -R $LOGDIR
exit 0
fi
# Script para envio dos logs do sistema de forma periódica e automática.
# Desenvolvido em Shell script.
# Autor: Alex Sandro Silva
# Twitter: @alexhctp
# Email: alexhctp[at]hotmail[dot]com - alexhctp[at]gmail[dot]com
# CONFIGURACOES LOCAIS
LOGGEN='/usr/sbin/logwatch'
MAIL='/usr/bin/mutt'
LOGDIR='/tmp/logs/'
MAIL='/usr/bin/mutt'
# DATE=`date +%y%m%d`
DATE=`date +%Y-%m-%d`
HOME='/root/'
# MENSAGEM=/root/mensagem.txt #aprendendo uma forma de dar um echo buscando o conteúdo de um arquivo de texto, se alguem souber, conta ae, rsrs
if [ -d $LOGDIR ]
then
rm -r $LOGDIR
exit 0
elif [ -d $HOME ]
then
mkdir $LOGDIR
$LOGGEN > $LOGDIR/log_$DATE.log
echo 'Logs e estatisticas enviadas automaticamente ao sysadmin' | $MAIL -s 'Estatisticas e Logs diarios - NOME DA FILIAL' -a $LOGDIR\log* -- ti@seuemail.com
rm -R $LOGDIR
exit 0
fi
Sintam-se à vontade para mudar, sugerir melhorias ou correções no script.
Automatizando o processo com o Cron
Para terminar, agendamos uma tarefa com o Cron para que todos os dias um log seja enviado ao sysadmin. Para isso, edite o Crontab adicionando a entrada a seguir:# nano /etc/crontab
Insira:
# Envio de automatico de logs do sistema por email
59 23 * * * root /root/sendMail.sh
59 23 * * * root /root/sendMail.sh
Pronto... agora é só criar o vício de analisar os seus relatórios do sistema, uma vez que a falta de tempo, não mais será desculpa para deixar de fazê-lo.
Espero ter ajudado.
Comentários com criticas e sugestões são bem-vindos.
Abraço a todos. ;)
Referências
- Enviar e-mail pelo terminal com mutt [Artigo]
- PROGRAMAÇÃO BOURNE-SHELL « www.moredata.eu
- Utilizando o crontab « www.devin.com.br
- Utilizando o crontab « www.unitednerds.org
- http://sourceforge.net/projects/logwatch