
El tutorial se basa en sistemas Debian
Instalando PAM USB:
Código: Seleccionar todo
sudo apt-get install libpam-usb
Código: Seleccionar todo
sudo apt-get install pamusb-tools
En primer lugar debemos pinchar el lápiz en el puerto USB y ejecutar:
Código: Seleccionar todo
pamusb-conf —add-device llaveusb
Añadiendo 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 root para autenticar con pam-usb:
Código: Seleccionar todo
pamusb-conf —add-user root
Con el lápiz conectado:
Código: Seleccionar todo
pamusb-check root
Veremos que al final aparece Acces Granted, es decir, estamos autorizados.Authentication request for user «root» (pamusb-check) * Device “MyToken” is connected (good). * Performing one time pad verification… * Access granted.
Si repetimos la operación sin el lápiz observaremos que devuelve Access Denied
Si sacamos el pendrive veremos que al ejecutar lo anterior nos devuelve Access denied, justo lo contrario.
Pam-usb como sistema de login:
Editaremos el fichero /etc/pam.d/common-authy añadiremos la siguiente línea al principio:
Código: Seleccionar todo
auth sufficient pam_usb.so
Otra opcione interesante es que permite la ejecución automática de comandos al conectar el lápiz, así que podríamos crear un sistema para hacer copias de seguridad al conectar la llave usb, o un sistema de fichajes horarios o una máquina que introdujese albaranes de reparto personalizados para el transportista cuya llave ha sido introducida, autenticar un fichero firmado con gnupg, y muchas otras cosas, pero esto ya dejo que lo investiguéis vosotros mismos.
Para hacer todo esto se puede utilizar cualquier lápiz usb 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.
Basado en un artículo original de Tuxed, en HouseOfSysadmins.
FUENTE