Tengo un cliente con muchos sitios web (lea varios miles) en varias soluciones antiguas de cms que ya no se mantienen. Ahora, moverlos a una solución mantenida no es realmente una opción en este punto. Así que estoy pensando en maneras de asegurar las soluciones sin parchearlas.
Las soluciones son en su mayoría joomla 1.0 / 1.5 y wordpress. Lo que estoy pensando es algo como esto:
- mod_suexec para bloquear a todos en su propio directorio principal
- apparmor para denegar todas las escrituras de archivos de forma predeterminada. (excluir de forma predeterminada, incluir cosas como directorios de "imágenes").
- use htaccess para evitar que se ejecute cualquier cosa en los directorios de escritura. (también deshabilitar php_engine para imágenes / directorio).
- mysql se activa para verificar las tablas de "usuarios" para evitar agregar nuevos administradores / superadmins.
¿Esto tiene sentido? ¿Es viable? ¿Me estoy perdiendo algo obvio?
// Editar: Sí, ya sé que es una idea horrible. Sé que no se puede asegurar. He informado al cliente acerca de esto muy claramente. Lo que busco es una forma de configurar una solución temporal hasta que estos clientes puedan ser eliminados. La alternativa (que ya está haciendo hoy) es esperar hasta que los sitios individuales sean pirateados, restaurándolos desde la copia de seguridad y actualizándolos manualmente.
// Edit2: Idea alternativa: tome cada script de php en el sitio hoy, y configure apparmor para que php pueda ejecutarlos, pero nada más. Si al mismo tiempo los hago de solo lectura, eso debería bloquear los sitios bastante bien.