Cómo generar contraseñas seguras y comprobarlas desde la terminal

marzo 06, 2018 , 0 Comments

crea y comprueba tus contraseñas seguras
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

generar contraseña segura con gpg

Si queremos crear nuestra contraseña utilizando GPG, ejecutaremos el siguiente comando:

gpg --gen-random --armor 1 32

OpenSSL

generar contraseña segura openssl

Si preferimos utilizar OpenSSL para generar nuestra contraseña segura, tendremos que usar el siguiente comando:

openssl rand -base64 32

APG

generar contraseña segura 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):

generar contraseña segura terminal 1

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 

generar contraseña segura terminal 2

< /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:

cracklib-check

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

cat cracklib check

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 artículo Cómo generar contraseñas seguras y comprobarlas desde la terminal ha sido originalmente publicado en Ubunlog.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.