Esto se puede aplicar no solo para ssh sino para cualquier servicio que deseemos. Los cambios los realizaré en un Ubuntu Maverik pero es transcribible a cualquier distribución o unix que use rsyslogd. Lo primero es decirle que cuando encuentre una línea de log que contenga ssh nos lo escriba en un archivo aparte. Creamos el siguiente archivo y escribimos el siguiente contenido
sudo vim /etc/rsyslog.d/49-ssh.conf
:msg,contains,"ssh" /var/log/ssh.log
Ahora reiniciamos rsyslog y ya tenemos nuestros logs de ssh en /var/log/ssh.log
sudo reload rsyslog
Lo que nos queda es crear la rotación de logs para que en cada tiempo indicado cree un backup y vacie el archivo, guardando tantos backups como queramos. Para ello configuraremos logrotate, que es el encargado de estas funciones. Creamos el siguiente archivo con este contenido
sudo vim /etc/logrotate.d/ssh
/var/log/ssh.log
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
postrotate
reload rsyslog >/dev/null 2>&1 || true
endscript
}
Con lo que conseguimos que rote cada semana, conserve 4 backups, los comprima dejando uno sin comprimir y recargue rsyslog después de cada rotación. Para más información de todas la opciones disponibles de logrotate podemos consultar
man logrotate
No hay comentarios:
Publicar un comentario