En el siguiente artículo vamos a echar un vistazo a algunas formas de generar contraseñas seguras desde la terminal. Hoy en día, se recalca por activa y por pasiva la importancia de una contraseña segura que contenga múltiples letras, símbolos, números, etc, con la finalidad de fortalecerla y que no sea un blanco fácil para otros a la hora de acceder a nuestros datos.
Todo el mundo sabe que hoy en día la mayoría de plataformas nos solicitan una contraseña para acceder a sus servicios, nuestro correo electrónico, el acceso a la intranet de la oficina, acceso a bancos, etc, y si no contamos con una contraseña solida, tarde o temprano podemos acabar teniendo graves problemas de seguridad.
Los típicos puntos a tener en cuenta para crear una contraseña segura, estable y fuerte son los siguientes:
- Debemos utilizar símbolos, números, letras mayúsculas y minúsculas.
- No utilizar fechas importantes ni personales ni públicas, números de teléfono, números de documentos de identificación, etc.
- Una buena contraseña debe tener un amplio número de caracteres. Con esto y siguiendo las consideraciones anteriores conseguiremos hacer que nuestra contraseña sea “casi” imposible de descubrir.
Cuando tenemos que introducir una contraseña en alguno de nuestros dispositivos, generalmente solemos utilizar una fácil de recordar. Ni que decir tiene que esto supone en muchas ocasiones un fallo de seguridad grave que permite a piratas informáticos explotarlos según la información que conozcan de nosotros o mediante ataques de fuerza bruta. Para mejorar esta seguridad, debemos aplicar medidas de seguridad adicionales, como por ejemplo el uso de contraseñas aleatorias que podremos generar con diferentes herramientas.
A continuación vamos a ver varias maneras diferentes con las que podremos crear contraseñas aleatorias a través de una terminal de nuestro Ubuntu, sin la necesidad de utilizar software adicional. Estas contraseñas pueden ser perfectamente utilizables para todos los servicios que requieran de una contraseña fuerte. Ni que decir tiene que las contraseñas generadas aleatoriamente son bastante difíciles de recordar, por lo que tendremos que buscar la manera de tenerla a mano.
Cómo generar contraseñas seguras en Ubuntu
Para escribir este artículo estoy utilizando Ubuntu 16.04. En Gnu/Linux contamos con algunas herramientas que nos dan la posibilidad de generar automáticamente una contraseña segura.
En caso de no contar con estas herramientas, podemos instalarlas usando la siguiente secuencia de comandos en la terminal (Ctrl+Alt+T):
sudo apt install gnupg2 && sudo apt install openssl
GPG
Si queremos crear nuestra contraseña utilizando GPG, ejecutaremos el siguiente comando:
gpg --gen-random --armor 1 32
OpenSSL
Si preferimos utilizar OpenSSL para generar nuestra contraseña segura, tendremos que usar el siguiente comando:
openssl rand -base64 32
APG
La otra opción que podemos utilizar para generar nuestra contraseña segura es APG, abreviatura de Automatic Password Generator. Viene instalado en Ubuntu y sus derivados. Para lanzar el comando solo tendremos que escribir en la terminal (Ctrl+Alt+T):
apg
Es un programa pensado para generar contraseñas “memorizables“. Si lo ejecutas a secas te pedirá una serie de datos con los que trabajar, y en base a eso creará una contraseña “memorizable“, Con esto quiero decir que junto a la contraseña nos mostrará una transcripción fonética para que podamos recordar mejor la contraseña.
Comandos para la terminal
Además de las herramientas que acabamos de ver, también vamos a poder utilizar una serie de comandos que generarán contraseñas aleatorias. Solo habrá que escribir una de estas líneas en la terminal (Ctrl+Alt+T):
date +%s | sha256sum | base64 | head -c 32 ; echo < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo; tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1 strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32 dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev </dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c32; echo "" randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;} && randpw
Cada vez que ejecutemos cualquiera de estos comandos la contraseña que nos generará será totalmente diferente y no guardará relación con ninguna otra generada anteriormente.
Cómo verificar la fortaleza de una contraseña en Ubuntu
Mucha gente puede pensar que la contraseña que está utilizando es segura. Para comprobar si esto es cierto, solo necesitaremos instalar una aplicación llamada cracklib. Esta analiza todos los aspectos de la contraseña y nos emite un resultado. Para instalar cracklib en Ubuntu o Debian usaremos el siguiente comando:
sudo apt-get install libcrack2
Añalizar contraseña
Una vez instalada la aplicación usaremos el parámetro cracklib-check para comprobar el estado de la contraseña. Por ejemplo, analizaremos una contraseña demasiado sencilla y popular. En la terminal escribiremos:
echo "1234abc" | cracklib-check
También podemos comprobar una contraseña segura usando:
cat|cracklib-check
Tendremos que copiar en la terminal la contraseña a validar y este comando nos mostrará el resultado. Si el resultado es OK indica que nuestra contraseña es segura, ahora, debemos ser cuidadosos y guardar esta contraseña en un lugar seguro, por si la olvidamos.
Resultados posibles
Podemos obtener otros resultados a la hora de analizar nuestra contraseña. Algunos ejemplos son los siguientes:
- Es demasiado corta
- Está basada en una palabra del diccionario
- Está basada en su nombre de usuario
El sistema Ubuntu es muy interesante. Y es el primer artículo que veo dónde se habla sobre como crear contraseñas en el, por tanto cualquier persona que tenga Ubuntu le recomendaré este vídeo
Tambié quiero destacar como tú bien has dicho la importancia de las palabras, y, que no nos pensemos que por escribir palabras en otro idioma nos vamos a librar de ser hackeados, ya que los hackers tienen técnicas para adivinarlas. Por tanto lo mejor es seguir los pasos de expertos o artículos como este.