Archivo etiqueta logs
LogWatch – análisis y reportes del sistema.
Por admin - Administración, Linux - Lunes, 10 agosto 2009
LogWatch realiza un análisis y reporte de los LOGS del sistema que suelen estar localizados en /var/log/ y se suele ejecutar cada noche enviandonos un correo con los resultados obtenidos. Los registros que se llevan a cabo en un sistema Linux como Gentoo son manejados por el demonio syslogd-ng y su archivo de configuración suele estar localizado en /etc/syslog-ng/syslog-ng.conf.
LogWatch es bastante útil para saber que está haciendo tu servidor cada día sin tener que leerse decenas de LOGS ya que proporciona una bonito resumen de cada servicio del sistema, tales como los paquetes instalados, emails enviados por tu servidor, errores de autentificación, estadísticas de apache, espacio en disco, información sobre posibles ataques, etc …
# tan sencillo como hacer un emerge. emerge logwatch
logwatch se configura de forma automática para ser ejecutado todas las noches y se crea dicha tarea en:
/etc/cron.daily/00-logwatch
El fichero de configuración le podemos localizar en:
/usr/share/logwatch/default.conf/logwatch.conf
El mail por defecto es enviado al usuario root y para que sea más accesible su lectura podemos redireccionarlo a un correo externo creando un alias en /var/qmail/alias/.qmail-root
/usr/share/logwatch/default.conf/logfiles
Contiene información sobre los registros de logs y sus características.
/usr/share/logwatch/default.conf/services
Contiene los ficheros de configuración específicos por cada servicio.
En Gentoo tendremos un problema con la configuración que viene por defecto ya que algunos servicios estarán fallando al crear dicho reporte. Para ello nos crearemos un fichero llamado /etc/logwatch/conf/override.conf para personalizarlo a nuestro gusto. Si una configuración esta definida en este ficheroo ignorará la que esté definida en el fichero de configuración inicial.
El ejecutable o script del programa esta localizado en:
/usr/sbin/logwatch.pl
En la página del programa podemos encontrar documentación detallada para crearnos nuestros propios ficheros de configuraciones.
Podemos testear el funcionamiento de Logwatch indicándole un servicio determinado:
/usr/sbin/logwatch --service qmail --print --range today --debug 10
Página Web Oficial:
http://www2.logwatch.org:8080/
Howto fail2ban en Gentoo Linux
Fail2Ban es un framework escrito en Python, el cual es capaz de correr en sistemas Linux y con firewalls ya funcionando como iptables, TCP Wrapper, etc … Es libre y se distribuye bajo licencia GNU. Su objetivo es leer logs del sistema y banear aquellas IPs que intentan loguear en el sistema un número determinado de veces. Para instalarlo necesitamos tener Python 2.3 o superior.
Instalación y ficheros de configuración.
# Como ya sabemos las instalaciones en Gentoo Linux son sencillas. emerge fail2ban. # el fichero de configuración esta localizado en /etc/fail2ban/fail2ban.conf # el fichero donde configuraremos los parámetros a configurar está en /etc/fail2ban/jail.conf # y los directorios de acciones y filtros a realizar en /etc/fail2ban/action.d/ /etc/fail2ban/filter.d/
# del fichero de configuración fail2ban.conf lo más importante es indicarle la ruta donde se guardará el log. logtarget = /var/log/fail2ban.log # el tiempo en segundos de baneo a una IP. bantime = 600 # el número de fallos antes de ejecutar un Ban a IP. maxretry = 3
A continuación muestro 2 ejemplos del fichero jail.conf para comprobar los accesos en los protocolos SSH y FTP usando IPtables.
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] mail-whois[name=SSH, dest=su@email.net] logpath = /var/log/auth.log maxretry = 3 [proftpd-iptables] enabled = true filter = proftpd action = iptables[name=ProFTPD, port=ftp, protocol=tcp] mail-whois[name=ProFTPD, dest=su@email.net] logpath = /var/log/auth.log maxretry = 3
true indica que deseamos activarlo, que el puerto y protocolo a usar será ssh o ftp, y que nos enviará un email en el caso de que se ejecute un Ban. Es muy importante indicarle el LOG donde chequeará tanto los fallos como el numero de intentos antes de proceder a banear una IP.
Puesta en marcha y comprobaciones varias.
# Para iniciar fail2ban ejecutamos fail2ban-client start # y para cargar nuevas configuraciones fail2ban-client reload # tambien debemos incluirlo para que se inicie como demonio al arrancar el sistema rc-update add fail2ban default # y chequearemos que está trabajando correctamente. ps -ef
Rotar logs en Gentoo Linux con logrotate
Por admin - Administración, Linux - Domingo, 29 marzo 2009
Logrotate nos facilita la administración de aquellos sistemas que generen un gran número de archivos de registro. Permite seleccionar el tipo de rotación, compresión, eliminación, e incluso el envío por correo de archivos de registro. Cada uno de estos archivos de registro pueden ser creados diariamente, semanalmente, mensualmente o cuando son demasiados voluminosos.
El fichero de configuración de logrotate lo podemos localizar en /etc/logrotate.conf
# Ficheros de configuración para Gentoo Linux
# Ver man logrotate para más detalles
# Rotar logs semanalmente
weekly
#daily
# mantener 4 semanas los logs
rotate 4
# crear nuevos logs despues de rotar los viejos
create
# los ficheros se comprimirán para ahorrar espacio
compress
# ficheros a incluir en la rotación de logs
include /etc/logrotate.d
notifempty
nomail
noolddir
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
El directorio donde están especificados todos los ficheros que harán rotación de logs están en el directorio /etc/logrorate.d/
drwxr-xr-x 2 root root 4096 mar 27 13:12 . drwxr-xr-x 48 root root 4096 mar 29 20:40 .. -rw-r--r-- 1 root root 173 feb 26 2008 apache -rw-r--r-- 1 root root 159 jun 2 2006 clamav -rw-r--r-- 1 root root 310 feb 26 2008 elog-save-summary -rw-r--r-- 1 root root 74 jun 2 2006 emerge -rw-r--r-- 1 root root 453 abr 8 2008 mysql -rw-r--r-- 1 root root 85 mar 27 13:12 procmail -rw-r--r-- 1 root root 478 jun 2 2006 syslog-ng -rw-r--r-- 1 root root 221 jun 2 2006 webmin
Para comprobar su funcionamiento lo primero que hice fué crearme un fichero para rotar el procmail.log ya que este me ocupaba demasiado espacio en disco. Para ello me cree un fichero llamado /etc/logrotate.d/procmail y le indiqué que deseaba rotar /var/log/procmail.log semalmente y guardar 4 semanas de registros.
/var/log/procmail.log {
weekly
rotate 4
copytruncate
compress
notifempty
missingok
}
Podemos indicarle que ejecute un comando post-rotación de la siguiente manera:
/var/log/procmail.log {
weekly
rotate 4
copytruncate
compress
notifempty
missingok
postrotate
/etc/init.d/qmail restart
endscript
}
Para comprobar que logrotate está funcionando correctamente ejecutamos las siguientes lineas.
# debug mode /usr/sbin/logrotate -d /etc/logrotate.conf # fuerza la rotacion de logs /usr/sbin/logrotate -f /etc/logrotate.conf
En Gentoo Linux el propio cron dentro de sus tareas diarias en /etc/cron.daily/ ya tiene configurado la rotación de logs por lo que no tendremos que hacer nada más para que todo funcione correctamente.