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

Generar número aleatorio en java script con rango de valores

Número aleatorio en java script con rango de valores Les comparto esta funcion para  generar un número aleatorio en javascript, y este num...