Desde antes de mediados de 2014, mi servidor raíz fue atacado por hackers y recientemente obtuvieron acceso limitado. Deshabilité todos los servicios una vez que me di cuenta de que el servidor se había comprometido y comencé a investigar. Según los registros, esto fue aproximadamente una semana después de la intrusión exitosa.
Solía alojar un sitio web para un amigo que se basaba en el CMS de Joomla. Durante las investigaciones, me di cuenta de que el sitio web estaba muy desactualizado y prácticamente abandonado. Como su dominio y sitio eran el objetivo principal, sospecho que los atacantes explotaron errores conocidos o fallas de seguridad en el software para cargar sus propios scripts, principalmente para enviar correos electrónicos no deseados.
Acabo de enterarme de que un gran problema es, de hecho, que todos los sitios web tienen el mismo usuario. Una vez que los hackers obtuvieron acceso, podrían ejecutar comandos del lado del servidor con este usuario (que es "www-data").
No me importaría si esto solo hubiera afectado el sitio de mi amigo, pero desafortunadamente, crearon un script en uno de los otros dominios (que hasta esa fecha solo mostraba un index.html vacío). El archivo es una variante del shell remoto de PHP llamado WSO y es la razón principal por la que estoy pidiendo ayuda. Antes de limpiar y reinstalar mi servidor raíz, quiero asegurarme de que esto no volverá a suceder y quiero hacer estas preguntas:
- Al parecer, el pirata informático logró instalar un script php fuera de los límites del dominio obsoleto / roto. ¿Como el hizo eso? ¿No debería nginx o php5-fpm tener algún tipo de mecanismo para evitar que los scripts php accedan a directorios fuera de la raíz del dominio actual?
- Sé que algunos CMS como Joomla te preguntan si quieres usar la función php mail () o un servidor SMTP. ¿Cómo puedo evitar estrictamente que php envíe correos electrónicos por correo () y solo permitir smtp autenticado?
- ¿Es posible encapsular completamente el sitio web de mi amigo, de modo que una vez que un pirata informático logra inyectar algún script, no lo ayude a acceder a ningún otro sitio web, y mucho menos al sistema de archivos del servidor?
- ¿Cuál es la forma de ISP de restringir los scripts de los clientes y el comportamiento de envío de correo electrónico? ¿Es lo suficientemente bueno limitar el envío de correos electrónicos?