Script para borrar el mail queue de Postfix

5 Comments

Hace unos meses atras, un cliente con un servidor de correo Postfix corriendo sobre RedHat (o Debian, no recuerdo) empezo a tener problemas con el mail queue (la cola de correo). Al parecer la PC de un usuario estaba infectada con algun spambot, el cual estaba enviando una inmensa cantidad de spam por medio del servidor de correo de la compa�ia.

Vacunar la PC infectada solo fue el principio, ya que en la cola del MTA Postfix todavia estaban los +20,000 correos que el spam bot habia enviado, que hacer para borrar todos esos correos?

Por un lado el servidor estaba trabajando a toda capacidad para procesar la cola de correo, esto incluye el spam y los correos legitimos de los demas usuarios.
Entonces para poder trabajar tranquilamente bajamos el demonio de postfix sobre Redhat (CentOS, Fedora, SuSE) ejecutando el siguiente comando:

postfix.redhat:~# service postfix stop

Si utilizan Debian (Knoppix, Ubuntu, etc) pueden bajar el servicio de postfix asi;

postfix.deathbian:~# /etc/init.d/postfix stop

Ya con el servidor de correo apagado, creamos el archivo /root/postfix_queue.sh con el siguiente contenido:

mailq | tail +2 | grep -v '^ *(' | awk  'BEGIN { RS = "" }
# $7=sender, $8=recipient1, $9=recipient2
{ if ($8 == "[email protected]" && $9 == "")
      print $1 }
' | tr -d '*!' | postsuper -d -

Luego le damos los permisos de ejecucion:

postfix.deathbian:~# chmod 755 /root/postfix_queue.sh
archivo: /root/postfix_queue.sh

mailq | tail +2 | awk 'BEGIN { RS = "" }
# $7=sender, $8=recipient1, $9=recipient2
{ if ($7 == "[email protected]" && $9 == "")
print $1 }
' | tr -d '*!' | postsuper -d -

Y claro ejecutamos nuestro script,

postfix.redhat:~# /root/postfix_queue.sh

Y vean como automagicamente desaparecen los miles de correso de la cola.

Asi que cuando sufran otro ataque de spam, con la ayuda del script anterior ya pueden eliminar la cola de correo del Postfix facilmente. Por cierto, si alguien utiliza este script, que me haga el favor de pasarme la salida del mismo, ya que no utilizo postfix, y bueno mis filtros no dejan pasar ni virus ni spam.

5 Replies to “Script para borrar el mail queue de Postfix”

  1. Se pueden borrar en forma segura con este comando

    exim4 -Mrm `ls /var/spool/exim4/input/ | grep — -H$ | cut -c 1-16`

    Slds,
    Adrian.

  2. No entiendo muy bien el sentido del articulo.

    Lo que hace ese script, que se encuentra en “man postsuper”, es borrar los mensajes encolados con una determinada dirección.

    Si quieres borrar la cola, por qué no haces postsuper -d ALL ?

  3. Aparte de borrar la cola de correos y vacunar al cliente, seria bueno que tu configuracion de correo en el servidor no haga relay, sino que solo envie correos de usuarios autenticados,

    Poner un firewall o una DMZ que filtre el trafico entre tu servidor de correo y sus clientes tambien podria prevenir el ingreso y egreso de spam

    slds,

Deja tus preguntas o comentarios