Herramientas de Desarrollo
Generador de .htpasswd
Genera archivos .htpasswd para autenticación básica de Apache y Nginx de forma segura en el navegador. Compatible con bcrypt, APR1-MD5 y SHA-1. Las contraseñas nunca se envían al servidor.
Consejos
- Usa bcrypt: El algoritmo más seguro disponible. Funciona con Apache 2.4+ y Nginx. Valores de coste más altos ralentizan el hash y aumentan la resistencia a ataques de fuerza bruta (10 es el valor habitual).
- APR1-MD5 (
$apr1$) es para compatibilidad con Apache 2.2 o anterior, y funciona con prácticamente todas las versiones de Apache y Nginx. - SHA-1 (
{SHA}) tiene baja resistencia a colisiones y no se recomienda. Úsalo únicamente en entornos heredados que lo requieran. - Coloca el archivo .htpasswd fuera del
DocumentRootpara que no sea accesible directamente desde la web. - Usa siempre HTTPS. Las credenciales de autenticación básica solo están codificadas en Base64, no cifradas, y viajan en texto plano sobre HTTP.
Preguntas frecuentes
.htaccess o httpd.conf, apuntando AuthUserFile al archivo .htpasswd generado:AuthType Basic AuthName "Restricted Area" AuthUserFile /etc/apache2/.htpasswd Require valid-user
nginx.conf o al bloque server correspondiente:location /admin {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}Nginx es compatible con bcrypt y APR1-MD5.usuario:hash) al final del archivo existente. Cada línea representa un usuario. Las líneas vacías y las que comienzan con # se ignoran.
A propósito — Por qué Basic Auth sigue vigente pese a su antigüedad
La autenticación básica HTTP fue definida en 1999 por la RFC 2617 (actualizada posteriormente a la RFC 7617). El mecanismo es sencillo: concatenar usuario y contraseña con :, codificar en Base64 y enviar en el encabezado Authorization.
Su simplicidad explica por qué sigue siendo muy utilizada: es ideal para entornos de staging, herramientas internas o como primera línea de defensa combinada con listas blancas de IP. Dos o tres líneas de configuración son suficientes, sin necesidad de middleware adicional ni base de datos.
Sus limitaciones también son reales: no hay mecanismo de cierre de sesión (la sesión persiste hasta cerrar el navegador), ni gestión de caducidad de contraseñas ni autenticación multifactor de serie. Para servicios de producción con requisitos de seguridad reales, considera OAuth 2.0 u OIDC.