Autenticación PAM mediante USB

Autenticación USB

Autenticación USB

Aprovecho para reproducir un aporte de House of Sysadmins.

En este articulo veremos una forma de augmentar la seguridad de los servidores solo permitiendo autenticar root mediante un lápiz usb.

  • Una maquina con linux
  • Librerías pam usb
  • Lápiz USB

Instalando PAM USB

# apt-get  install libpam-usb

Instalando las PAM USB Tools

# apt-get  install pamusb-tools

Añadiendo nuestro lápiz como Token de autenticación

Primero de todo tendremos de pinchar el pendrive en el puerto usb y ejecutar:

#  pamusb-conf —add-device MyToken

Donde MyToken es un nombre identificativo para el pendrive puede ser cualquier otro

Añadiendo Usuarios a PAM USB

Podemos añadir fácilmente usuarios en este ejemplo añadiremos el usuario root como usuario autenticado de PAM USB

# pamusb-conf —add-user root

Probando si funciona la autenticación

Si tenemos el Pendrive Conectado y ejecutamos

# pamusb-check root

* Authentication request for user «root» (pamusb-check)
* Device “MyToken” is connected (good).
* Performing one time pad verification…
*
                Access granted.

Veremos que al final aparece Acces Granted

Si sacamos el pendrive veremos que al ejecutar lo anterior nos devuelve

Access denied.

PAM USB como sistema de autenticación

Editaremos el fichero /etc/pam.d/common-auth y añadiremos la siguiente linea al principio del mismo:

auth sufficient pam_usb.so

En este momento podriamos iniciar una sesión gdm sin necesidad de introducir password , simplemente conectando la llave usb.
Otras opciones interesantes es que permite la ejecucion de comandos al conectar el lápiz , podriamos por lo tanto crear un sistema para hacer copias automáticas de seguridad al conectar la llave usb.

La autenticación se puede realizar con cualquier llave usb al realizar estos pasos no se modifica en ningun momento el contenido de los datos del usb , si no que se extraen los datos que hace que cada dispositivo sea único.

  • Fabricante
  • Uuid
  • No de serie

Por lo tanto aunque realizáramos una copia bit a bit del dispositivo no podriamos crear otro dispositivo igual para autenticar.

Fuente: House Of Sysadmins Wiki

  1. Gracias por la info, tengo una pregunta, imaginate el caso que tengo un linux como PDC con samba y ldap, podria con esto hacer que los usuarios windows que se logean a mi PDC deban introducir en sus PCs el llavero y les permitar logearse al dominio?

  2. La verdad no sabría decirte, sería cuestión de googlearlo un poco. Tené en cuenta que este ejemplo es para PAM (Pluggable Authentication Modules) de Linux… si tus usuarios en vez de loguearse por PAM lo hacen por LDAP, entonces deberías encontrar algún módulo que haga la autenticación a ese nivel con el USB drive. Técnicamente es posible, porque como se explica en el artículo, lo que uno hace es asociar una clave única generada para un dispositivo con un usuario. Pero habría que ver si existe alguna implementación para lo que vos necesitás.

    Saludos

  3. Y si pierdo el pendrive?
    SE puede acceder con la contraseña sin necesidad del pendrive?
    Saludos y muy buen tutorial

  4. Entiendo que sí. Creo que depende de como configures PAM.

  5. y si quiero poner (1ro)hacer login y que hay me pida la autenticacion para iniciar como hago?? se puede?

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>