Pregunta

Me preguntaba si la protección de un directorio web con un archivo .htaccess (con el archivo .htpasswd fuera del Webroot Apache pública) es una forma segura de proteger a un directorio (y su contenido).

Podría alguien explicar de la Do y no hacer de este tipo de protección?

¿Fue útil?

Solución

La autenticación se pasará sin protección en la red si se utiliza el protocolo HTTP estándar. Esto no es considerado como seguro, como alguien podría olfatear la contraseña.

Si se restringe acceso a HTTPS es bastante seguro. Esto significaría para instalar y activar el módulo de Apache para el tráfico cifrado SSL y HTTP (puerto 433, https: // en la línea de dirección del navegador) y desactivar el tráfico HTTP estándar para este directorio en el puerto 80. nombre de usuario y contraseña será SSL cifrada. Asegúrese de seleccionar una buena contraseña (largo y complejo que parezca, no es posible adivinar o la fuerza bruta).

configuración de Apache puede ser complicado, así que tenga mucho cuidado de mantener la sencillez y la prueba de posibles errores.

Puede ser una buena idea para mover la configuración de restricción de acceso del archivo .htaccess en el fichero de configuración de Apache principal, si usted tiene el conocimiento y control de la misma. También podría ser más fácil para usted para mantener en el archivo .htacces. Y "fácil" puede ser más seguro. Hacerlo de la manera que se siente seguro y simple y fácil de mantener y recordar para ti.

Esta es una configuración sencilla para mejorar la seguridad y la protección contra accidentes:

Si usted tiene php y correo electrónico configurados en el equipo en el directorio protegido es que puede escribir un script simple alarma. Sólo un archivo php "alarm.php" con una sola línea con la función de correo php que le envía un correo electrónico, que le dice que la protección htaccess no funciona.

Si la ruta de dominio y el directorio es " http://mybox.example.com/secretdir /alarm.php ", lo puede entrar en un navegador en un equipo diferente y usted debe conseguir que el correo siempre y cuando .htaccess se 'abre'. Si está protegido puede introducir el nombre de usuario y contraseña, y también recibirá el correo.

Para hacer una alarma automática fuera de este se puede utilizar una máquina Unix diferente que trata de obtener esta URL cada 15 minutos más o menos. La línea para la crontab:

* / 15 * * * * usuario1 wget http://mybox.example.com/ secretdir / alarm.php

usuario1 es un usuario de la máquina que se le permite ejecutar wget, y debe ser instalado wget.

Puede desactivar la protección .htaccess como una prueba y debe conseguir el correo cada 15 minutos.

A partir de mi experiencia, es una falla de seguridad común que un directorio que usted piensa que está protegida pierde su protección cuando se cambia algo y no son conscientes, de esta manera se obtiene el correo electrónico que le avisa.

Otros consejos

Por lo que yo sé, .htaccess es fácil de cortar si es interceptada (F. E. está iniciando una sesión desde un café Internet con una red sniffer en ejecución). Por lo que yo sé , La autenticación implícita ayuda a superar ese problema.

.htaccess es bastante estándar manera cómo realizar cambios de configuración por directorio de recursos servidos por Apache HTTPD en los casos en que no tienen acceso en el archivo de configuración principal / no tener acceso a la raíz.

Si usted tiene acceso a la configuración principal, es mucho más fácil tener toda la configuración (incluyendo la autenticación) colocado en una ubicación central (incluso si está dividido en varios archivos), donde no es tan fácil de pasar por alto. Desde mi experiencia puedo decir, es sólo una cuestión de tiempo antes de que se olvide de sus archivos .htaccess.

La documentación oficial está mencionando en varias ocasiones que el uso de archivos htaccess debe evitarse siempre que sea posible.

Si el uso de <=> es su única opción, asegúrese de seguir las precauciones de seguridad generales como con config principal HTTPD, es decir, evitar que los usuarios no autorizados puedan leerlos, los archivos pueden ser leídos por el servidor, asegúrese de que tienes el listado de directorios discapacitados, siempre asegurarse de que la contraseña se almacena en formato cifrado / hash, etc.

Para obtener más información, por favor, control tutorial Apache <=>

Un archivo .htaccess es bastante práctico, pero ... esto no le protegerá de alguien explotando su código y leer cualquier archivo que quiere. Si va a ser explotado Su sitio (incluso uno pequeño script), ni .htaccess ni otras soluciones protegerá a Usted, como el hacker obtener los derechos del usuario que ejecuta la secuencia de comandos (por lo general www-data).

Esto es especialmente painfull en CGI, pero otras secuencias de comandos están siendo hackeado también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top