Archivo etiqueta procmail
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.
Qmail+Procmail+SpamAssassin+Qmail-Scanner en Gentoo Linux
Basándome en la guías de OVH y otra documentación he creado esta pequeña ayuda para poder realizar de forma sencilla y amigable las modificaciones en nuestra Release 2 sobre Gentoo Linux. Lo primero de todo es instalar el procmail que es el programa que se encargará de filtrar todo el correo de entrada y que nos permitirá crear reglas y acciones para dicho filtrado. En Gentoo gracias al comando emerge es bastante sencillo.
emerge procmail
Una vez instalado tenemos que crear el fichero /etc/procmailrc si este no existiera. Este fichero es muy importante ya que contiene las configuraciones, reglas de filtrado y acciones a realizar al recibir los mensajes. Mi fichero procmailrc funcionando:
LOGFILE=/var/log/procmail.log VERBOSE=on DROPPRIVS=yes # spamassassin solo chequeará los mensajes menores de 250KB. :0fw: spamassassin.lock * < 256000 |/usr/bin/spamc -f # Aquí indicamos que debemos hacer con el SPAM. # Si descomentamos /dev/null serán eliminados. :0H: * ^X-Spam-Status: Yes #/dev/null # Una vez hecho esto direccionamos el correo a su buzón. :0w |/home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
bien … ahora procedemos a crear nuestro fichero de log donde se guardarán los mensajes que han sido filtrados por procmail y le otorgamos permisos de escritura.
touch /var/log/procmail.log chmod 777 /var/log/procmail.log
una vez hecho esto procedemos a cambiar el fichero de configuracion .qmail-default de cada uno de los dominios en los que deseamos usar las reglas de filtrado e incluimos la siguiente linea:
vi /home/vpopmail/domains/dominio.com/.qmail-default | /var/qmail/bin/preline /usr/bin/procmail -pm /etc/procmailrc
La configuración del spamassassin la podemos localizar en:
/etc/mail/spamassassin/local.cf
He incluido la siguientes reglas para marcar los mensajes de SPAM:
# nos envia los mensajes marcados y su puntuación rewrite_header Subject *****SPAM*****(_SCORE_)** # nos envía el mensaje de SPAM como adjunto, # y un análisis de todas las puntuaciones que ha recibido. report_safe 1 # la puntuación mínima del mensaje para que sea tratado como SPAM. required_score 5.0
Ahora solo tenemos que reiniciar el Qmail y el spamassasin.
/etc/init.d/qmail restart /etc/init.d/spamd reload
He tenido que comprobar que el Qmail-Scanner está funcionando correctamente. Para ello me creo una redirección de mi dominio local o localhost que es a donde irán todos los correos escaneados por el Qmail-Scanner:
vi /home/vpopmail/domains/localhost/.qmail-default #incluir esta linea con su dirección de email. &nospam@micorreo.com
de esta manera también recibo los mensajes de aviso de virus, spam, etc que ha procesado el qmail scanner … Para monitorizar en tiempo real el log de mensajes que voy recibiendo solo debo usar el comando tail -f y esperar la recepción o envío de nuevos mensajes.
tail -f /var/log/qmail/current
Guías y otra documentación utilizada:
http://guias.ovh.es/Release2Procmail
http://www.freebsd.org/…/mail-procmail.html