Combate el SPAM, de entrada y de salida, en Servidores cPanel con EXIM

El spam siempre es molesto, si administras servidores sabrás de lo que hablo. Es por ello que me he animado a compartir algunos tips que les ahorrará dolores de cabeza con el spam en servidores con cPanel.

cPanel tiene mucho desarrollo y un gran trabajo, pues esta equipado con muchas herramientas bastante eficientes, personalmente me gusta cPanel, y una de las aplicaciones para combatir el spam de entrada en nuestros servidores se llama: Greylisting

Greylisting defiende a los usuarios de correo electrónico contra el spam. Cuando está habilitado, el servidor de correo rechazará temporalmente cualquier correo electrónico de un remitente que el servidor no reconozca. Si el correo electrónico es legítimo, el servidor de origen volverá a intentarlo después de un retraso. Una vez transcurrido el tiempo suficiente, el servidor aceptará el correo electrónico.

Sugerencia: Activen Greylisting con la opción «Bypass Greylisting for Hosts with Valid SPF Records» para que así nuestro servidor aceptara los emails que contengan un correcto registro SPF.

Adicionalmente es altamente recomendable que compilen apache con el addon de PHP Mail-Header, para que cuando se use la función mail() este agregue la cabecera X-PHP-Script en el email, y permite rastrear, en el caso que exista, el script que envia spam. Esto lo puedes hacer desde EasyApache o ejecutando el siguiente comando desde el terminal SSH:

/scripts/easyapache

Mi servidor está enviado mucho spam, que puedo hacer?

El primer consejo será siempre revisar el log (/var/log/exim_mainlog) para verificar que sucede, pero el siguiente comando ssh te ayudará a identificar qué usuario está enviado spam:

ps -C exim -fH eww | grep home

Una vez resuelto esto, puedes ver los encabezados de los correos en «Main >> Email >> Mail Queue Manager» e identificar si son generados por algun script php. También puedes usar el antivirus que incorpora cpanel (ClamAntiVirus) o un script como maldet para identificar scripts maliciosos.

Conoce cómo instalar Maldet en cPanel y sacarle el máximo provecho a ClamAV.

También puedes revisar la cola de mensajes con el siguiente comando por SSH:

exim -bp

Y puedes ver el encabezado de un mensaje, via SSH, con el siguiente comando:

exim -Mvh <Message-id>

Recomendaciones para evitar el spam de ENTRADA:

  1. Habilita Spam Assassin
  2. Habilita las listas RBL para EXIM en Exim Configuration Manager

Recomendaciones para evitar el spam de salida:

  1. Limitar la cantidad de envíos de email por hora en «Tweak Settings» en la pestaña «Mail» en la opción «Max hourly emails per domain»
  2. Habilita la opción Sender Verification en «Exim Configuration Manager» en la pestaña «Mail» activando la opción «Sender Verification».
  3. En «Tweak Settings» tienes la opción «Maximum percentage of failed or deferred messages a domain may send per hour» que te permitirá definir un % de rebote aceptable. El envío de spam genera muchos rebotes, mientras que una cuenta que no haga spam tendrá un bajo % de rebotes, por lo que sugeriría fijar esta opción en 10%
  4. Instalar Maldet y escanear tu servidor periódicamente con una tarea programada.

Si usas CSF (ConfigServer Security Firewall para cPanel) recuerda revisar la opción «Check Server Security» para aumentar la seguridad del servidor.