martes, 21 de enero de 2014

Loguéate en tu GNU/Linux con una llave USB

¿Te gustaría iniciar tu GNU/Linux como si fuera un coche? ¿Estás harto de teclear tu usuario y la contraseña cada vez que inicias el sistema, pero no la quitas porque no quieres quitar esa protección por miedo a los intrusos? Bueno, a continuación, te explicamos un método bastante novedoso y seguro, para dejar boquiabiertos a tus amigos “windoleros”.

llave usb


Instala pamusb

sudo apt-get install libpam-usb pamusb-tools

Añade tu pendrive como token de autenticación:

Conecta el pendrive en el puerto USB y ejecuta:

sudo pamusb-conf --add-device llaveusb

Donde llaveusb es un nombre identificativo para el token, pero puede ser cualquier otro.

Añade usuarios a pam-usb:

Es muy fácil añadir usuarios como se puede ver en el siguiente ejemplo en el que añadiremos a usuario1 para autenticar con pam-usb:
sudo pamusb-conf --add-user usuario1

Prueba si funciona la autenticación:

Con el pendrive conectado, reemplazando usuario1 por el nombre de usuario que hayas elegido:

sudo pamusb-check usuario1

Si dice: "Access granted es porque todo va sobre ruedas."

Pam-usb como sistema de login:

Edita el archivo /etc/pam.d/common-auth y añade la siguiente línea al principio:
auth sufficient pam_usb.so

Si reemplazas sufficient por required, GDM hará un doble chequeo, de contraseña y de token. De otro modo, sólo verificará el token.

Para hacer todo esto se puede utilizar cualquier pendrive sin que sufra ninguna modificación, ya que el pam mira los datos del dispositivo hardware, como el fabricante, uuid y número de serie. Lo interesante es que aunque hiciésemos una copia completa del dispositivo, por ejemplo con dd, no obtendríamos una llave correcta para el token configurado.

Por último, cabe mencionar que pamusb permite la ejecución automática de comandos al conectar el pendrive, así que podríamos crear un sistema para hacer copias de seguridad al conectar la llave usb, o un sistema de fichajes y muchas otras cosas, pero esto ya lo dejo para que lo investiguen uds.

Eso sí, no pierdan luego el USB.