Buscador

Loading

lunes, 15 de julio de 2013

Detectar y Eliminar SPAM en CPanel Automaticamente

Un modo que me a funcionado es monitorear la cola de correo (queue) y si esta crece mucho lanzar una alerta y/o vaciar por cola por completo,  en mi caso profiero batallar que 3-5 correos buenos se pierdan y el cliente tenga que reenviarlos  a que mi servidor quede boletinado y todos las cuentas de correo tengan problemas.

para exim hay 2 tareas por hacer.

1)- eliminar los correos congelados (frozen), la mayoría provienen de spam y boletines que su cuenta no recibe, solo envia;  estos los elimino todos los días a las 4-5AM;  la finalidad es que estos no proporcionen falsas alertas.

Para ello ejecutamos en cron:
exiqgrep  -i -f | xargs exim -Mrm

2)- Ver si la cola de correo creció mucho para lanzar una alerta preventiva o de acción ejecutada que es vaciar la cola de correo;  crearemos la carpeta /root/exim y ahi pondremos todos nuestros archivos

Para ello creamos 2 archivos que tendran el titulo de los correos de advertencia, en mi caso los llame titulo_amarillo.txt, titulo_rojo.txt.

El contenido de estos archivos puede ser algo como:

Notificacion: Servidor 1 tiene 100 o mas correos en cola
Favor de revisar manualmente

Este texto es parte de la alerta que nos llegara al nuestro email

Ahora creamos el script /root/exim/monitore.sh  y le damos permisos de ejecucion por ejemplo chmod 755 /root/exim/monitore.sh

y con contenido: (personalizan lo de rojo)

#alerta por email
alerta_amarilla=100
#vaciar toda la cola y alerta por email
alerta_roja=400

cola=`exim -bp | exiqsumm | grep TOTAL | awk '{print $1}'`
echo "COLA ="
echo $cola;

if [ "$cola" -ge "$alerta_amarilla" ];
then
#guarda cola actual
 exim -bp > /root/exim/cola_actual.txt

if [ "$cola" -ge "$alerta_roja" ];
then
echo "roja"
#elimina todo el queue
exiqgrep  -i | xargs exim -Mrm
cat /root/exim/titulo_rojo.txt /root/exim/cola_actual.txt  > /root/exim/mensaje_rojo.txt

mail -s "Alerta Roja" yo@micorreo.com < /root/exim/mensaje_rojo.txt


else
echo "amarilla"
cat /root/exim/titulo_amarillo.txt /root/exim/cola_actual.txt  > /root/exim/mensaje_amarillo.txt

mail -s "Alerta Amarilla" yo@micorreo.com < /root/exim/mensaje_amarillo.txt


fi


else

echo "todo bien"

fi


Listo, ahora solo agregamos /root/exim/monitore.sh  a cron cada 5min y listo.




No hay comentarios:

Publicar un comentario en la entrada