Banner

Combatir correo SPAM en servidores Qmail

Combatir el Spam en los Servidores Qmail

Los síntomas, el servidor funciona lento, hay muchos mensajes en la cola de correo y el correo se entrega muy lento o no se entrega, son casi con total seguridad causados porque el servidor está siendo utilizado para enviar spam.

El spam se genera de muchas maneras, nuestro servidor puede ser el receptor de un spam dirigido a cuentas de correo que aloja el servidor o el servidor puede estar actuando como relay de spam, bien porque lo genera uno de nuestros clientes que tiene autorización para enviar correo, bien hay algun error en la protección de nuestro servidor.

El proceso de detener un spam es fundamentalmente manual y es laborioso.

El primer paso es asegurarnos que la máquina esté bien configurada para no facilitar el envío el envío de spam a través de ella, tal como se describe en la pregunta “xxxxx”.

Conectamos al servidor y comprobamos los mensajes que hay en la cola

 

# /var/qmail/bin/qmail-qstat
messages in queue: 27645
messages in queue but not yet preprocessed: 82

al confirmar que hay muchos mensajes en la cola vamos a intentar averiguar de donde viene el spam. Para ello utilizamos la utilidad qmail-read que muestra los mensajes en cola, quien lo envía y los destinatarios.

 

# /var/qmail/bin/qmail-qread
18 Jul 2005 15:03:07 GMT #2996948 9073 bouncing
done remote Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
done remote Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
done remote Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla

Si un mensaje tiene muchos destinatarios que no son conocidos casi con seguridad que será spam. Elegimos unos cuantos mensajes que parezcan spam y vamos a consultarlos con mas detalle.

El mensaje que hemos localizado en el paso anterior tiene el numero 2996948

 

# find /var/qmail/queue/mess/ -name 2996948

En la primera línea “Received” aparece el primer envío del mensaje, y en las siguientes aparecen cada uno de los servidores por donde ha ido transitando el mensaje. Nos interesa la primera que nos indica donde se ha generado el spam.

 

Received: (qmail 19622 invoked from network); 13 Sep 2005 17:52:36 +0700
Received: from external_domain.com (192.168.0.1)

Las líneas como la anterior indican que el SPAM se está generando desde una dirección exterior (externa_domain.com) con cierta IP. Ahí está el origen del problema y habrá que limitar la recepción de correo desde esta IP y avisar a los usuarios que la utilicen para que revisen su instalación para localizar el ordenador u ordenadores infectados y que detengan el envío de spam.

Para parar estos envios pueden añadirse las direcciones en el fichero “badmailfrom” que está localizado en /usr/local/psa/qmail/control/ en la instalación Plesk o en /var/qmail/control en la instalación desde el RPM.

Si por el contrario la línea Received que encontramos es

Received: (qmail 19514 invoked by uid 10003); 13 Sep 2005 17:48:22 +0700

nos está informando que el spam se está generando en la máquina local a través de un script que ejecuta el usuario con uid 10003

En los pasos anteriores hemos aprendido como identificar el spam en nuestro servidor.

Cuando el SPAM se genera fuera del Servidor. Como combatirlo

En el manual "Como Combatir el spam" hemos aprendido como identificar que nuestro servidor está enviando correo no solicitado o SPAM o otros. Y hemos aprendido como identificar si la fuente del envío es externa a nuestro servidor.

En este manual aprenderemos como limitar el envío de spam desde esta fuente externa.

Hemos identificado los mensajes en la cola de correo con

# /var/qmail/bin/qmail-qread
18 Jul 2005 15:03:07 GMT #2996948 9073 bouncing
done remote Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
done remote Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla

Posteriormente hemos buscado el mensaje y hemos leido su contenido

# find /var/qmail/queue/mess/ -name 2996948

Y por fin hemos encontrado que el origen del spam externo al servidor

Received: (qmail 19622 invoked from network); 13 Sep 2005 17:52:36 +0700
Received: from external_domain.com (195.16.1.1)

Las lineas anteriores nos indican que el mensaje ha sido enviado desde una Ip externa la 195.16.1.1.

Deberíamos revisar el resto de mensajes de spam para estar seguros que es la única IP origen de spam, y sino anotar también las otras.

Ahora que ya sabemos desde donde proviene el spam que nuestro servidor está reenviando vamos a limitar el envío desde estas Ip. Para ello utilizamos el servicio de firewall con la siguiente regla

 iptables -A INPUT -s 195.16.1.1  -j REJECT
Con la instrucción anterior limitamos todo el acceso a nuestro servidor a la IP 195.16.1.1. Repetiremos este comando con el resto de Ip que actuen de origen de spam.

Es muy importante que nos aseguremos de que las Ips son realmente orígenes de spam y no usuarios que envian correo o envian a listas de distribución, ya que la regla de firewall va limitar cualquier acceso desde la IP.

Es posible que el acceso ilegal para reenvío de correo a través de tu servidor se haya producido aprovechando una falla de seguridad del sistema operativo, o desde software servidor, o tal vez porque alguien ha descubierto la contraseña de un usuario real, pero también puede ser que el servidor no esté bien protegido por una mala configuración. Aprovechemos para revisar que la configuración del servidor sea la correcta.

Primero tenemos que comprobar que dentro de cada dominio se rechaza el envío de correo a usuarios inexistentes.

Dentro de cada dominio -> Servicios -> Correo -> Preferencias

Envío de correo a usuario inexistente : Rechazar
Esta operación puede realizarse para todos los dominios a la vez utilizando la facilidad de Operaciones de Grupo que está disponible desde Plesk 7.5.3.

Tenemos que comprobar también que los usuarios necesitan autenticarse para enviar correo.

En Servidor -> Servicios -> Correo - > Preferencias

Reenvíos: Requiere Autorización.

Y por último asegurarnos que en la lista blanca únicamente está la máquina local, configuración necesaria para que funcione el Webmail.

En Servidor -> Servicios -> Correo - > Lista Blanca

Debe aparecer únicamente la IP 127.0.0.1 / 32

Con estas configuraciones tendremos nuestro servidor correctamente protegido frente a futuros ataques de spam.

En este documento te explicaremos como identificar el tipo de spam y como solucionarlo. Esta consulta ha sido desarrollada con información del KB del fabricante de Plesk. Más información en http://kb.swsoft.com