← Retornar aos Artigos

Logwatch.


Em servidores uma das partes mais importantes é ter o registro de tudo que acontece, existe um software que envia para você via e-mail (local) ou (externo) um log diário de tudo que acontece. Apresento o logwatch. Vamos começar instalando este software no Debian e partimos para a parte da configuração.

Lembrando que em qualquer distribuição GNU/Linux o logwatch está disponivel, porém estamos focados em servidores aonde a maior parte é Debian/based

# apt update
# apt install logwatch

O arquivo de configuração está localizado em /usr/share/logwatch/default.conf/logwatch.conf. Porém editar este arquivo vai lhe gerar uma dor de cabeça futura, pois o arquivo será substituido em atualizações. Vamos fazer uma cópia para outro local e editar.

# cp -v /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

Após feito a cópia vamos editar o arquivo que acabamos de copiar /etc/logwatch/conf/logwatch.conf e modificar as linhas.

# vim /etc/logwatch/conf/logwatch.conf

MailTo = root

com MailTo você vai definir para qual e-mail será enviado o relatório. Lembre-se se você setar para uso externo algum servidor como Postfix, Sendmail precisa estar configurado. Vou setar para slackjeff@local que é um email do meu usuário comum.

MailTo = slackjeff@local 

MailFrom = Logwatch

MailFrom vai indiciar qual será o e-mail que vai enviar a log, por padrão vou deixar este default.

Range = yesterday

Qual o intervalo entre o envio do relatório? Você tem 3 opção: All, Today, Yesterday. Use o padrão yesterday.

Detail = Low

Este é o nivel de detalhes, use pelo menos em Medium ou o máximo High.

Service = All

Por padrão é enviado relatório de todos serviços disponiveis no logwatch, você pode ver estes serviços no diretório /usr/share/logwatch/scripts/services
afpd              fetchmail      pam_unix             smartd
amavis            freeradius     php                  sonicwall
arpwatch          ftpd-messages  pix                  spamassassin
audit             ftpd-xferlog   pluto                sshd
automount         http           pop3                 sshd2
autorpm           http-error     portsentry           sssd
barracuda         identd         postfix              stunnel
bfd               imapd          postgresql           sudo
cisco             init           pound                syslogd
citadel           in.qpopper     proftpd-messages     syslog-ng
clamav            ipop3d         puppet               systemd
clamav-milter     iptables       pureftpd             tac_acc
clam-update       kernel         qmail                tivoli-smc
courier           knockd         qmail-pop3d          up2date
cron              lvm            qmail-pop3ds         vdr
denyhosts         mailscanner    qmail-send           vpopmail
dhcpd             mdadm          qmail-smtpd          vsftpd
dirsrv            modprobe       raid                 windows
dnf-rpm           mod_security2  resolver             xntpd

... CONTINUA ....

Supondo que queremos enviar relatórios apenas do sudo, ssh e apache/nginx e dpkg. Primeiramente comentamos a linha (Service = All) e adicionamos:

Service = sudo
Service = sshd2
Service = http
Service = dpkg

Desta forma iriamos receber somente logs dos serviços setados acima. Vamos fazer agora um teste para ver se realmente funciona;

$ logwatch --range today