Cómo se crea la contraseña
Cada carácter se elige al azar entre los caracteres que permitiste, con el generador de números aleatorios criptográfico de tu navegador (crypto.getRandomValues). Los valores aleatorios que harían más probables algunos caracteres se descartan y se vuelven a sacar, así que todos los caracteres son igual de probables. Si eliges varios tipos de caracteres, la contraseña siempre contiene al menos uno de cada.
entropía = longitud × log2(caracteres posibles) frase de contraseña = palabras × log2(palabras de la lista) tiempo para adivinarla = 2^(entropía − 1) ÷ intentos por segundo
La entropía mide cuántos intentos necesita un atacante. Cada bit extra la duplica, así que la longitud importa más que los símbolos: 20 letras y dígitos superan a 12 caracteres con todos los símbolos. Una frase de contraseña de palabras aleatorias es más fácil de escribir y recordar, y necesita unas siete palabras para ser tan fuerte como una contraseña aleatoria de 12 caracteres.
Ejemplo
Una contraseña de 16 caracteres con letras mayúsculas y minúsculas y dígitos tiene 62 caracteres posibles: 16 × log2(62) ≈ 95 bits. A 10 mil millones de intentos por segundo, encontrarla lleva de media unos 76 mil millones de años. Seis palabras aleatorias de una lista de 1296 dan 62 bits, unos 7 años a la misma velocidad.
Crea una en el servidor
En un servidor Linux puedes crear una contraseña aleatoria sin navegador. Cualquiera de estos comandos imprime una; puede que primero tengas que instalar pwgen (apt install pwgen).
openssl rand -base64 24
pwgen -s 24 1
head -c 18 /dev/urandom | base64Preguntas
¿Es seguro este generador de contraseñas?
Sí. La contraseña la crea el generador de números aleatorios criptográfico de tu navegador cuando la página ya se ha cargado. Nunca se envía a nuestro servidor ni se guarda, y la página funciona igual con la red desconectada.
¿Cuánto debe medir la contraseña de un servidor?
Al menos 16 caracteres aleatorios, o 20 o más para cualquier cosa accesible desde internet, como una contraseña de root, de base de datos o de panel. Para SSH, usa una clave en lugar de una contraseña y desactiva el inicio de sesión con contraseña.
¿Es mejor una frase de contraseña que una contraseña aleatoria?
Es más fácil de escribir y recordar, y igual de fuerte si es lo bastante larga: siete palabras aleatorias de esta lista dan unos 72 bits. Elige las palabras al azar, como aquí; una frase que se te ocurra a ti es mucho más fácil de adivinar.
¿Por qué faltan algunos símbolos?
Las comillas, las barras invertidas, los espacios, $ y # rompen comandos de shell, archivos .env y cadenas de conexión si no se escapan. Los símbolos que se ofrecen aquí funcionan sin comillas casi en cualquier sitio. Añade longitud en lugar de símbolos cuando necesites más fortaleza.