Cambiar el score de Spamassassin de todos los Emails de un mismo dominio en Plesk

Todos los servidores webs que tienen Plesk y tienen emails creados tienen el mínimo servicio de protección para el SPAM de Spamassassin, pero no tiene la opción para cambiar la puntuación o score que tienen los buzones de email de un mismo dominio, así que aqui teneis un pequeño truco/trip que teneis que ejecutar desde la linea de comandos y como usuario root

ls /var/qmail/mailnames/dominio.com | awk '{print "/usr/local/psa/bin/spamassassin –update "$0"@dominio.com -hits 6"}' | sh 

Error de Plesk con SSL en /var/log/sw-cp-server/error_log

El error que sale continuamente en el log de Plesk /var/log/sw-cp-server/error_log es el siguiente : Error: (connections.c.299) SSL: 1 error:140780E5:SSL routines:SSL23_READ:ssl handshake failure

La solución parece ser un bug de Plesk , aunque estuve googleando un buen rato, no encontré mucho sobre el tema, el caso es que estaba obteniendo este error en /var/log/sw-cp-server/error_log, además aparecía cada 6 minutos por lo que en 3 días con el servidor funcionando, ya tenía dos historicos del archivo comprimidos en .gz.

Finalmente, buscando en la ayuda de Plesk, encontré la forma de que no volviera a aparecer más, la verdad es que no tiene mucha complicación, lo único que tenemos que hacer es, generar un certificado, dependiendo de las necesidades de cada uno, se puede comprar o autogenerarlo, os hago un copy/paste de la solución en la ayuda de Plesk .

En caso de que necesite generar un certificado autofirmado, siga este procedimiento:

1. Vaya a Inicio > Seguridad > Certificados SSL. Se le mostrará una lista de los certificados SSL existentes en su repositorio.
2. Haga clic en Añadir Certificado SSL.
3. Indique las propiedades del certificado:
* Nombre del certificado. Este le ayudará a identificar este certificado en el repositorio.
* Nivel de Encriptación. Escoja el nivel de encriptación para su certificado SSL. Le recomendamos que escoja un valor superior a 1024 bits.
* Indique su ubicación y el nombre de la organización. Los valores introducidos no deben exceder los 64 símbolos permitidos.
* indique el nombre del servidor para el que ha adquirido el certificado SSL. Por ejemplo: your-domain.com
* Introduzca su dirección de email.
4. Haga clic en el botón Autofirmado. Se generará su certificado y se almacenará en el repositorio.

Como luchar contra el SPAM en Plesk con Qmail

Primero compruebe que todos los dominios tienen la opción ‘Correo para usuario inexistente’ definida a ‘Rechazar’ pero no a reenviar. Puede cambiar este ajuste para todos los dominios usando “Operaciones en Grupo” en la página “Dominios” del CP de Parallels Plesk Panel. La prestación ‘Rechazar correo para usuario inexistente’ está disponible a partir de Parallels Plesk Panel 7.5.3.

Asimismo, compruebe que todas las redes e IPs incluidas en la lista blanca son de su confianza.

Compruebe cuántos mensajes hay en la cola de Qmail con:

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

Si la cola tiene demasiados mensajes, intente descubrir la procedencia del SPAM.

Si el correo está siendo enviado por un usuario autorizado pero no desde el script PHP, puede ejecutar el comando que aparece a continuación para descubrir el usuario que envió la mayoría de mensajes (desde Plesk 8). Tenga en cuenta que es necesario tener activada la opción ‘Autorización SMTP’ en el servidor para poder ver estos registros:

# cat /usr/local/psa/var/log/maillog |grep -I smtp_auth |grep -I user |awk ‘{print $11}’ |sort |uniq -c |sort -n

La ruta a ‘maillog’ puede cambiar en función del SO que esté usando.

El próximo paso es la utilidad `qmail-qread`, que puede usarse para leer las cabeceras de los mensajes:

# /var/qmail/bin/qmail-qread
18 Jul 2005 15:03:07 GMT #2996948 9073 bouncing
done remote user1@domain1.com
done remote user2@domain2.com
done remote user3@domain3.com
….

Esta muestra los remitentes y destinatarios de los mensajes. Si el mensaje incluye demasiados destinatarios, probablemente se tratará de SPAM. Ahora intente encontrar este mensaje en la cola por su ID #2996948:

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

examine el mensaje y encuentre la primera línea “Recibido” para saber desde dónde se envió la primera vez, por ejemplo, si encuentra:

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

Significa que este mensaje fue enviado a través de algún CGI por el usuario con UID 10003. Usando este UID puede encontrar el dominio correspondiente:

# grep 10003 /etc/passwd 

Si la línea ‘Recibido’ contiene un UID de un usuario ‘apache’ (por ejemplo “invoked by uid 48″) – significa que el SPAM fue enviado a través de algún script PHP. En este caso, puede intentar conocer el spammer usando la información de los correos spam (direcciones de/para, asunto o cualquier otro dato). Generalmente es muy difícil descubrir la fuente de SPAM. Si está completamente seguro de que en este momento hay algún script enviando SPAM (la cola crece rápidamente sin motivo aparente), puede usar el siguiente script para saber qué scripts PHP se están ejecutando en este momento:

# lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ { if(!str) { str=$1 } else { str=str”,”$1}}END{print str}’` | grep vhosts | grep php

También puede aplicar el artículo 1711, que describe el procedimiento para conocer desde qué dominios se está enviando el correo a través de scripts PHP.

Líneas recibidas como:

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

significan que el mensaje ha sido aceptado y entregado a través de SMTP y que el remitente es un usuario de correo autorizado.