¿Cómo evitar que PHP acceda a directorios?

¿Cómo evitar que PHP acceda a directorios?

Tengo una LAMP básica instalada y me gustaría asegurar que PHP no pueda acceder a nada fuera del directorio /var/www. ¿Cómo puedo hacer eso? Por "acceso" me refiero también a leer archivos y listados de directorios.

Lo pido por motivos de seguridad. Estoy ejecutando WordPress en mi servidor y si alguien accede a la cuenta de administrador, puede editar el código de la plantilla a través del cual puede acceder a cualquier parte del sistema.

¡Gracias!

Respuesta1

Estos son los pasos clave para asegurar una configuración de LAMP:

  • Asegúrese de que todos los sitios web se ejecuten con su propio usuario. Puedes lograr esto con Apache mod_itk/mod_php o PHP-FPM (generalmente con Apache o Nginx)
  • Asegúrese de que root sea el propietario de los archivos y que el grupo sea el usuario del servidor web (o viceversa)
  • Asegúrese de que los derechos de acceso sean 640 para archivos y 750 para directorios. Sólo las carpetas de carga de Wordpress son 660/770.
  • Solo cuando actualice o instale complementos, cambie los derechos de acceso de los archivos PHP.
  • Asegúrese de que los archivos PHP no se puedan ejecutar en la carpeta de imágenes:

    <FilesMatch "/uploads/\.(asp|php|php5|pl)$">
        Deny from all
    </FilesMatch>
    

    Esta técnica no funciona muy bien con Wordpress porque los complementos instalan archivos php en esa carpeta. Es posible que sea mejor proteger las carpetas de cargas/2017, etc.

  • Mantener la instalación actualizada
  • Mantenga actualizado el software del servidor
  • Ejecute una revisión periódica del registro
  • tener copias de seguridad
  • Ser capaz de reconstruir rápidamente

información relacionada