Sorprendentemente, no pude encontrar ningún tema relacionado aquí, así que voy a poner esto. Tengo varios sitios web que se ejecutan en el mismo servidor, construido con varios CMS y marcos. Necesito aislarlos completamente. Necesito esto porque en el futuro quiero permitir que algunos de mis clientes alojen sitios web en estos servidores, incluso algunos códigos potencialmente vulnerables (sitios llenos de complementos de wp obsoletos, etc.). Dado que no quiero asumir la responsabilidad del código de los clientes, debo asegurarme de que el entorno sea seguro y, si uno de ellos se piratea, los demás funcionan bien y el servidor en sí no está comprometido.
Lo que tengo ahora es un entorno muy experimental con chroot jailed sftp access. El problema es (y podría haber otros factores de riesgo también), que todos los sitios web son administrados por el mismo usuario del servidor web, digamos www-data
. Entonces, en teoría, un ataque que implique cargar malware y ejecutarlo desde el navegador puede dañar a todos los sitios web con un código propiedad de www-data
. Ideas similares vienen a la mente para el usuario de la base de datos del sistema (no el usuario que le doy al cliente, sino el usuario que ejecuta el proceso mysql).
¿Cuál es la mejor práctica para manejar este problema? Además, si tiene algo, listas de verificación, lo que sea, no dude en compartir :)