Proteger su servidor del spam
El spam es un problema grave para su negocio y puede afectar su tiempo y recursos para solucionarlo. La mejor manera de resolver este problema, por supuesto, es nunca tenerlo en primer lugar. La forma número uno de ayudar a prevenir el spam es asegurarse de que todos los CMS (como WordPress, Joomla y Drupal), incluidos los temas y los complementos, estén actualizados en su servidor VPS o servidor dedicado. Esto puede parecer demasiado simple, pero hay innumerables ocasiones en las que un complemento desactualizado permite a los piratas informáticos destruir un dominio seguro.
Otra forma en la que puede protegerse contra el spam es hacer cumplir contraseñas seguras, ya sea preguntando manualmente o estableciendo una configuración que obligue a los usuarios a tener una letra mayúscula y minúscula, un símbolo y un número en su contraseña. En WHM, puede forzar la seguridad de la contraseña en Centro de seguridad>> Configuración de seguridad de la contraseña . Aquí puede solicitar a los usuarios que tengan al menos una cierta seguridad para todas sus contraseñas de cPanel.
Si es cliente de Liquid Web, algo que puede considerar son nuestros paquetes de protección de servidor.
Rastrear quién envía spam
Pero digamos que lo peor ya pasó. ¿Cómo hace para rastrear quién está enviando spam y cómo se envía el spam?
La primera herramienta que tiene está en WHM en Correo electrónico>> Administrador de cola de correo .
Mail Queue Manager le permite ver la cola de correo electrónico y discernir qué correos electrónicos se envían. Tendrá la tentación de eliminar todos los correos electrónicos no deseados de inmediato, pero espere. Primero, desea averiguar quién lo está enviando y qué tipo de spam está ocurriendo:un compromiso de contraseña o spam de secuencias de comandos. Si bien hay otras formas en que se puede enviar spam, estos son los dos métodos principales que vemos con respecto a los servidores de spam.
Para comenzar, debe revisar de dónde provienen los correos electrónicos a través del Administrador de colas de correo. Querrás seleccionar un pequeño período de tiempo reciente para revisar los correos electrónicos que se enviaron. Una vez que tenga esos resultados, querrá ver el asunto del correo electrónico. Pregúntese:
- ¿Suena como spam?
- ¿A quién se envía?
- ¿Conoces el receptor?
Una vez que haya comprobado que el correo electrónico es spam, querrá mirar los encabezados del correo electrónico. Si bien los encabezados pueden parecer confusos, estamos aquí para desglosar las partes importantes:
El siguiente es un encabezado de ejemplo de cómo puede verse un correo electrónico de spam:
1g8rz7-1001y8-3K-H username 609 500 <[email protected]> 1538853089 2 -received_time_usec .072187 -ident username -received_protocol local -body_linecount 241 -max_received_linelength 499 -auth_id username -auth_sender [email protected] -allow_unqualified_recipient -allow_unqualified_sender -local XX 1 [email protected] 209P Received: from username by domain.com with local (Exim 4.91) (envelope-from <[email protected]>) id 1g8rz7-0001y8-2K for [email protected]; Sat, 06 Oct 2018 15:11:29 -0400 030T To: [email protected] 033 Subject: NEW SUBJECT 058 X-PHP-Script: domain.com/index.php for xxx.xxx.xxx.xxx 050 X-PHP-Originating-Script: 609:class-phpmailer.php 037 Date: Sat, 6 Oct 2018 10:11:23 +0000 041F From: username <[email protected]> 035R Reply-To: [email protected] 063I Message-ID: <[email protected]> 068 X-Mailer: PHPMailer 5.2.22 (https://github.com/PHPMailer/PHPMailer) 018 MIME-Version: 1.0 039 Content-Type: text/html; charset=UTF-8
Las partes importantes están resaltadas en azul:
-auth_id username -auth_sender [email protected]
y
058 X-PHP-Script: domain.com/index.php for xxx.xxx.xxx.xxx 050 X-PHP-Originating-Script: 609:class-phpmailer.php
Cuenta de correo electrónico comprometida
Las dos primeras líneas resaltadas indican que se envió a través de un remitente autenticado "[email protected]". Si auth_sender estaba en blanco, pasaría a la siguiente sección Secuencias de comandos no deseadas . Si esto está completo, querrá cambiar la contraseña de esa cuenta de correo electrónico. También deben ejecutar escaneos de malware locales en cualquier dispositivo que tenga acceso a la cuenta de correo electrónico, ya que pueden tener malware en su computadora que robó la contraseña. Una vez que se haya completado, puede continuar con la siguiente sección llamada Eliminación de spam en la cola .
Secuencias de comandos no deseadas
Las líneas a continuación indican el dominio del remitente y que un script (class-phpmailer.php ) generó el correo electrónico.
058 X-PHP-Script: domain.com/index.php for xxx.xxx.xxx.xxx 050 X-PHP-Originating-Script: 609:class-phpmailer.php
A partir de este punto, querrá encontrar el script buscando el nombre del archivo en la raíz del documento del dominio.
Primero, deberá conectarse SSH al servidor como root.
Para encontrar el archivo, ejecutará el siguiente comando reemplazando “phpmailer.php ” con el nombre de la secuencia de comandos que encontró y agregue la raíz del documento para el dominio (por lo general, esto se encuentra en /home/{username}/public_html ).
find /doc/root/for/the/domain -name “phpmailer.php” -type f
Una vez que haya localizado la ubicación del archivo malicioso, querrá deshabilitarlo o eliminarlo. Para deshabilitar el archivo, ejecutará el siguiente comando.
Importante:esto puede interrumpir la funcionalidad del sitio web, pero detendrá el envío de spam y es importante que lo haga para evitar que su IP se incluya en la lista negra.
chmod 000 /name/of/file/to/be/disabled
También querrá verificar si hay malware adicional en la cuenta. Una de las mejores herramientas para hacer esto es Maldet. Aquí está el enlace para revisar Cómo configurar el escáner Maldet.
Una vez que haya instalado el software y lo haya configurado correctamente, querrá ejecutar un escaneo manual de un directorio. Para hacer esto, ingresará al servidor mediante SSH y ejecutará el siguiente comando, después de editarlo para mostrar la raíz del documento real del dominio (por lo general, se encuentra en /home/{username}/public_html ).
maldet -b -a /document/root/for/the/domain
Una vez que haya hecho eso, puede verificar el progreso del escaneo ejecutando el siguiente comando
tail /usr/local/maldetect/event_log
Cuando haya terminado, puede ver el informe ejecutando lo siguiente reemplazando las x con el número de informe:
maldet --report xxxxx-xxxxx.xxxx
Desde aquí puede deshabilitar los archivos individualmente como lo hizo antes:
chmod 000 /name/of/file/to/be/disabled
Borrado de spam en la cola
Una vez que haya detenido el envío de correo no deseado, ya sea cambiando la contraseña de la cuenta o deshabilitando el script de envío de correo no deseado, querrá borrar la cola. Lo primero que debe hacer es borrar los correos electrónicos no deseados. Querrá usar el siguiente comando para eliminar los correos electrónicos potencialmente no deseados que reemplazan {email_address} con la dirección de correo electrónico que estaba enviando spam o el dominio que estaba enviando los correos electrónicos de spam.
Importante:esto eliminará todos los correos electrónicos relacionados con la dirección de correo electrónico o el dominio.
grep -R --include='*-H' 'auth_id' /var/spool/exim/input | grep {email_address} | cut -d: -f1 | cut -d/ -f7 | cut -d- -f1-3 | xargs -n 1 exim -Mrm
Una vez completado, querrá borrar todos los correos electrónicos que se han devuelto al servidor, con el siguiente comando.
exim -bpr | grep '<>' | awk '{print $3}' | xargs -I % exim -Mrm %
Finalmente, continúe monitoreando el servidor para asegurarse de que no haya dos fuentes de envío de correo no deseado, pero más allá de esto, ha detenido con éxito el envío de correo no deseado en el servidor.