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/servicesafpd 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