¿Dónde colocar los archivos PHP para seguridad?
Tenga en cuenta que no hay un mejor lugar para almacenar sus archivos de forma segura. La seguridad de sus archivos sensibles es solo el resultado de una combinación de buenas medidas, como la prevención de inyecciones de URL que pueden revelar sus archivos confidenciales, que puede tomar y analizar brevemente a continuación.
Mi pensamiento es que debe seguir el principio de privilegio mínimo, si
Esos archivos no necesitan ser públicos, entonces no deberían ser públicos. Por que es
¿Este algo que no está bien al inicio de PHP de la manera correcta?
La misma pregunta que podría hacer acerca de por qué no se recomiendan los cortafuegos. Pero la respuesta es que el artículo que eligió está destinado a los desarrolladores. Los desarrolladores están más preocupados por cómo hacer que funcione que cómo hacerlo seguro . Mira las secciones discutidas a través de ese artículo:
Primeros pasos (configuración general, versiones de PHP a elegir ...), Guía de estilo de código (Paradigmas de programación, Espacios de nombres, Biblioteca PHP estándar, Xdebug ...), Gestión de dependencias, PEAR (instalación, etc.), Prácticas de codificación , Inyección de dependencia (un patrón de diseño de software), interacción con bases de datos, plantillas ...
Como puede adivinar, esto se dirige a los desarrolladores, no a los que están preocupados como usted por los aspectos de seguridad de una aplicación. La única sección que habla un poco acerca de la seguridad es la Seguridad, y dentro de ella puede que solo esté la subsección relacionada con el hashing de contraseñas, el filtrado de datos y el saneamiento son importantes pero aún están poco cubiertos.
¿Hay una forma estándar de manejar esto?
El artículo que ha vinculado a los estados: No hay una forma canónica de usar PHP. Lo mismo que podemos decir: No hay una forma canónica de usar PHP de forma segura . Dicho esto, el principio de privilegio mínimo que mencionó es un requisito y aún existen buenas prácticas de seguridad que debe seguir porque solo una conjunción de estos principios en conjunto le puede dar una mejor seguridad:
-
Defensa en profundidad : debe resolver su problema en términos de capas de seguridad: configuración segura de Apache, estilo de codificación seguro, firewall, efectivo .htaccess archivos ... Aunque algunos argumentan que este principio agrega complejidad a su aplicación y puede traer nuevos riesgos de seguridad, una aplicación inteligente de este principio puede hacer que su aplicación sea simple pero segura (por ejemplo: las claves de hashing que permiten el acceso a sus carpetas son buenas, pero es mejor agregarlas) además, es aún mejor).
-
Especifique carpetas y archivos lista blanca : en lugar de enumerar carpetas y archivos a los que no se puede acceder, necesita más bien, autorice el acceso a sus archivos / carpetas públicos y rechace todo lo demás, porque de esta manera no olvidará proteger algunos archivos sensibles.
-
Mínimo privilegio : sus permisos de recursos (archivos en su caso, pero puede considerar otros elementos) deben otorgarse a un nivel mínimo para usuarios de su sitio web
- No confíe mucho en la seguridad a través de la oscuridad para ocultar sus archivos.
- Minimice la superficie de ataque de su aplicación web
-
Detectar intrusiones : registre información relevante de seguridad para identificar los riesgos y proteger su aplicación
- Algunos piensan que una empresa de hospedaje de renombre es suficiente como elemento para proteger su aplicación, pero aún así debe proteger su aplicación por separado e independientemente del entorno de hospedaje.
- No confíe solo en actores de terceros para asegurar su aplicación