Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
unix:pam_usb_fprint [2007/12/28 20:40]
semial
unix:pam_usb_fprint [2010/01/12 13:29] (current)
Line 1: Line 1:
 +====== Authentification avec clé usb + empreinte digitale ======
 +Une clé usb, ça se vole. [[http://​youtube.com/​watch?​v=3M8D4wWYgsc|Une empreinte aussi]]. Pourtant, c'est tellement plus loutrconvivial de ne pas avoir à taper son mot de passe top-super-sécure de 42 caractères qui, comme tout mot de passe qui se respecte, est évidemment fait de mixed case, de chiffres, et de symboles. C'est pourquoi on va combiner les méthodes d'​authentification précédemment citée, pour limiter les risques de se faire pwner son laptop par des chinois capitalistes du FBI.
  
 +**IL EST FORTEMENT CONSEILLÉ DE GARDER UN SHELL ROOT OUVERT À CÔTÉ LORSQU'​ON MODIFIE LA CONFIGURATION DE PAM**
 +
 +==== Matériel requis ====
 +Une clé usb, ou une carte sd/​mmc/​whatever,​ ou encore un disque dur externe, mais là c'est moins pratique.
 +Un lecteur d'​empreinte digitale
 +Un doigt (le lecteur d'​empreinte fonctionne pas avec la bite)
 +
 +==== Installation et configuration du lecteur d'​empreinte ====
 +Nous allons utiliser le projet [[http://​www.reactivated.net/​fprint/​wiki/​Main_Page|fprint]],​ compatible avec [[http://​reactivated.net/​fprint/​wiki/​Supported_devices|pas mal de lecteur d'​empreintes]]. ​
 +
 +=== Installation ===
 +Commencez par télécharger libfprint et pam_fprint (et fprint_demo si vous voulez jouer avec vos empreintes) [[http://​sourceforge.net/​project/​showfiles.php?​group_id=208521|d'​ici]]. Ensuite, tar -xzf, ./​configure,​ make, make install, tout ça, vous savez faire.
 +
 +=== Enregistrement des empreintes ===
 +Une fois installés, il faut enregistrer votre empreinte. Faites:
 +  pam_fprint_enroll -f7
 +Pour enregistrer votre index droit. Changez 7 pour un auter chiffre pour enregistrer un autre doigt. Les doigts sont numérotés comme ça:
 +  1 - Left Thumb
 +  2 - Left Index Finger
 +  3 - Left Middle Finger
 +  4 - Left Ring Finger
 +  5 - Left Little Finger
 +  6 - Right Thumb
 +  7 - Right Index Finger
 +  8 - Right Middle Finger
 +  9 - Right Ring Finger
 +  10 - Right Little Finger
 +=== Configuration de pam ===
 +Maintenant, il faut configurer pam pour qu'il tente de s'​authentifier d'​abord avec l'​empreinte,​ et si ça ne marche pas, par mot de passe.
 +/​etc/​pam.d/​common-auth (le nom de ce fichier peut varier selon la distribution,​ common-auth dans debian et ubuntu, system-auth sur gentoo)
 +  auth    sufficient ​   pam_fprint.so
 +  auth    required ​     pam_unix.so nullok_secure
 +
 +Maintenant essayez de faire un su, sudo, login, ou nimporte quelle application qui utilise pam pour l'​authentification. Si ça marche pas, tant pis pour vous, sinon, on passe à la suite.
 +
 +==== Installation et configuration de l'​authentification par clé usb ====
 +Téléchargez et installez [[http://​www.pamusb.org|pamusb]]. Ensuite insèrez la clé et faites:
 +  pamusb-conf --add-device nomdelacléusb
 +Appuyez sur y, et voilà.
 +
 +Ajoutons les utilisateurs:​
 +  pamusb-conf --add-user monuser
 +Et ceci pour chaque utilisateur.
 +
 +Il ne reste plus qu'à vérifier que tout se passe bien:
 +  pamusb-check monuser
 +  * Authentication request for user "​monuser"​ (pamusb-check)
 +  * Device "​nomdelacléusb"​ is connected (good).
 +  * Performing one time pad verification...
 +  * Verification match, updating one time pads...
 +  * Access granted.
 +
 +Tout ça c'est joli, mais ce serait bien de pouvoir brancher PAM là dessus:
 +/​etc/​pam.d/​common-auth
 +  # On désactive l'​authentification par empreinte le temps d'​essayer celle par clé usb
 +  # auth    sufficient ​   pam_fprint.so
 +  auth    sufficient pam_usb.so
 +  auth    required ​     pam_unix.so nullok_secure
 +
 +Maintenant, il suffit d'​avoir la clé usb branchée pour ne plus avoir à taper son mot de passe. Or, on aimerait bien arriver à une authentification "​dual-factor",​ c'est à dire avec la clé usb + le lecteur d'​empreinte.
 +==== Configuration finale de pam ====
 +Les ptites combines à base de required, sufficient et tout ça ne sont pas suffisantes pour que pam vérifie si la clé usb est là, et que si elle n'est pas là qu'il passe direct à l'auth par password. C'est pourquoi on va devoir gruiker nos propres "​control values"​.
 +/​etc/​pam.d/​common-auth
 +  auth    [success=ok new_authtok_reqd=ok ignore=ignore default=1] pam_usb.so
 +  auth    [success=done new_authtok_reqd=ok ignore=ignore default=ignore] pam_fprint.so
 +  auth    [success=done new_authtok_reqd=ok ignore=ignore default=bad] ​   pam_unix.so nullok_secure
 +
 +Et voilà :)
unix/pam_usb_fprint.txt · Last modified: 2010/01/12 13:29 (external edit)