
Tengo un servidor web Apache ejecutándose en Debian Linux y protejo un determinado directorio con htaccess. No tengo historial ni conocimiento de cómo se creó el archivo .htpasswd. La documentación de Apache dice que el cifrado crypt() se usó para cifrar contraseñas hasta la versión 2.2.17 y el cifrado MD5 se usa desde la 2.2.18. ¿Cómo puedo distinguir qué cifrado utiliza mi archivo .htpasswd?
Respuesta1
No tengo historial ni conocimiento de cómo se creó el archivo .htpasswd.
Probablemente estés buscando el htpasswd
comando. Lea la página de manual para más detalles:
man htpasswd
¿Cómo puedo distinguir qué cifrado utiliza mi archivo .htpasswd?
¿Por qué necesitas saber eso? No creo que sea importante saber eso si solo quieres editar el archivo.
Lo pregunto porque tuve la impresión de que ambos son vulnerables.
El htpasswd
comando en mi máquina puede usar cuatro formatos de contraseña diferentes:
# MD5 (default)
martin@martin ~ % htpasswd -m -b -n user pass
user:$apr1$uFKIg3No$ItOJ5p6EEbALwPDYcPDd0.
# crypt
martin@martin ~ % htpasswd -d -b -n user pass
user:qMYdeiUkbhR/o
# SHA
martin@martin ~ % htpasswd -s -b -n user pass
user:{SHA}nU4eI71bcnBGqeO0t9tXvY1u5oQ=
# Plain
martin@martin ~ % htpasswd -p -b -n user pass
user:pass
Eso debería ayudarte a determinar qué formato estás usando.
Sin embargo, me pregunto qué es lo que le preocupa... si los hashes son vulnerables solo es motivo de preocupación si un atacante puede obtener acceso al .htpasswd
archivo, lo que debería ser muy poco probable en una configuración sensata. El .htpasswd
archivo debe almacenarse fuera del directorio servido, por ejemplo en algún lugar de /etc
, donde el servidor web pueda acceder a él, pero no lo entregará.
Lo que debería preocuparle mucho más es el hecho de queAutenticación básica HTTP transmite contraseñas en texto sin cifrar, lo cual definitivamente no es seguro si no estás usando HTTPS. Entonces, si le preocupa la seguridad, considere cambiar aAutenticación de resumen HTTP.