No hay nada mejor que despertarse un sábado tranquilamente y encontrarse con que tu proveedor de hosting te ha bloqueado la salida del puerto 25 porque tu servidor está enviando spam.
Nada, al teclado.
Accedemos como root y listamos la cola de correos con el comando mailq, ya que utilizamos Postfix. Me encuentro con que la cola está llena de emails enviados desde una cuenta que no existe de un dominio que sí está alojado en el servidor.
Borro los mensajes con el siguiente comando, el cual solo borra los mensajes que tienen como from o to a jordi@dominioinfectado.com. Cuenta ficticia, evidentemente 😉
postqueue -p | tail -n +2 | awk ‘BEGIN { RS = “” } / jordi@dominioinfectado\.com/ { print $1 }’ | tr -d ‘*!’ | postsuper -d –
Vuelvo a listar a la cola con mailq a los dos segundos y veo que vuelven a aparecer mensajes de spam de esa dirección. Como era de esperar, el script que los genera está activo.
Paro el servicio de Apache con service apache stop, vuelvo a lanzar el comando de borrado de mensajes de la cola de correo y vuelvo a listar la cola con mailq.
Bingo, ahora la cola está limpia. El responsable de que no pueda disfrutar del solecito de este sábado es un script web.
Pruebo suerte y busco algún código raro en el espacio del dominio aparentemente infectado. Efectivamente, dentro de /var/www/vhosts/dominioinfectado.com/httpdocs me encuentro con varios directorios llenos de código malintencionado. Desactivo el dominio en el panel Plesk temporalmente y aviso al cliente del problema. Ahora toca cambiar contraseñas, limpiar el código malicioso y establecer algún monitor que controle el contenido de la web durante unas semanas en previsión de un posible segundo ataque. Ah, y que no se nos olvide, pedirle a nuestro proveedor de servicios que levante el bloqueo del puerto 25.
Una última reflexión. Si yo tuviera que lanzar spam a través de un servidor comprometido, también lo haría un viernes por la noche.
Mantenimiento Informatico blog says
Gracias por la ayuda.
Si tienes instalado un panel tipo plesk en el equipo las útimas versiones incluyen herramientas de control de envío que son muy útiles.
Por supuesto desde hace muchos años puedes ver desde panel la cola de correo y eliminar el spam.. Sinembargo en las últimas versiones lo que se incorporar es un control a nivel de dominio e incluso de cuenta de correo para poder limitar los envíos por hora y generar alertas cuando estos se disparan para poder detectar de forma rápida si un dominio está infectado o se está mandando spam desde algún correo sin necesidad de sobresaltos o tener que estás chequeando la consola.
Un SAludo