Considerar la posibilidad de establecer open_basedir
"por el sitio". open_basedir
es un php.configuración ini que evitará que las secuencias de comandos de acceso a archivos fuera de una definida la lista blanca. Si su servidor alberga varios sitios, que va a evitar que un sitio de la lectura de la configuración de base de datos desde otro sitio. Que también va a evitar que un script php de acceso/modificación de archivos de sistema de núcleo. Abierto basedir es fácil de instalar, sólo tiene que añadir la línea "php_admin_value open_basedir /my/list/of/folders:/as/a/colon/seperated/list
" para cada uno de Apache vhost.
También considere la posibilidad de desactivar el script PHP motor para todos los sitios/carpetas que no contienen scripts de PHP (por ejemplo, las imágenes de la carpeta). De nuevo, esto es simple, agregar "php_admin_value motor" para cualquier Apache VirtualHosts sin necesidad de php. Para deshabilitar PHP en un directorio, poner la misma cosa en un Directorio de la etiqueta.
Ejecute el archivo de permisos de tan apretado como sea posible, evite el acceso de escritura a los scripts PHP para el usuario de Apache, esto impide que una secuencia de comandos en ejecución de la modificación de sí mismo o de otras secuencias de comandos en el mismo sitio/servidor. Evitar permisos 777, si es posible, averiguar los permisos mínimos necesarios para ejecutar la aplicación y uso de esas.
Si usted es anfitrión de varios sitios, cada uno con su propia base de datos, el uso de una nueva MySQL/Postgres de usuario para cada uno, y establecer los permisos de cada usuario, de tal manera que sólo se tiene acceso a las bases de datos pertinentes. De nuevo, esto evitará que un script malicioso de la manipulación con otra aplicación de la base de datos.
Suosin, HardenedPHP, mod_security y similares, todos son valiosos, pero el uso de ellas, además de un hermetismo de configuración, no en lugar de.