Encontrar scripts PHP que mandan SPAM en tu servidor

Los administradores de sistemas tenemos este problema constantemente. Es difícil hoy en día no toparse con algún script que aprovecha una vulnerabilidad de, por ejemplo, un CMS para enviar SPAM desde nuestro servidor de forma indiscriminada (y también algo tonta). Nuestro trabajo como administradores es identificar el problema y solucionarlo. Hay que recordar que, en estos casos, se trata de acabar con el script y, también, con la vulnerabilidad. De poco sirve borrar el script si no solucionamos la vulnerabilidad porque, al dia siguiente, estaremos exactamente igual.

Para saber quién es el culpable, primero tenemos que configurar nuestro PHP para que informe de ello. Hay que buscar el php.ini que estamos usando, por ejemplo, usando locate:

locate php.ini

Devolverá algo así:

/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini
/etc/php5/fpm/php.ini

Edita el php.ini adecuado y añade:

mail.add_x_header = On
mail.log = /var/log/phpmail.log

Reiniciar el apache:

/etc/init.d/apache2 restart

Cuando tengas problemas con el SPAM, deberás dirigirte a /var/log/phpmail.log y encontrarás algo así:

X-PHP-Originating-Script: 33:asdssdfe.php

¡Listo! Ya sabes cómo buscar para la próxima vez.


Autor del artículo Miguel Angel del Toro Medina

Y, ya sabéis, para cualquier consulta, podéis contactar conmigo a través del email info@madeltoro.es