PAM

Comment configurer la connexion

Vous avez deux options : pam_p11 ou PAM Poldi.

La solution avec pam_p11 est plus difficile à réaliser et repose sur les certificats S/MIME. Veuillez consulter la documentation pour plus d’informations.

PAM Poldi 0.4.1 fonctionne parfaitement avec Nitrokey pour l’authentification PAM avec des clés RSA (voir Dépannage pour des informations sur les clés ECC). Outre l’installation de Poldi (par exemple sudo apt-get install libpam-poldi sur Ubuntu), les étapes suivantes sont nécessaires pour le faire fonctionner.

Il est nécessaire d’avoir déjà généré des clés sur la Nitrokey, car la clé d’authentification est utilisée par PAM.

  1. Tout d’abord, tu dois trouver l’ID d’application de ta Nitrokey. Il ressemble ou est similaire à D00600012401020000000000xxxxxxxx.

    gpg --card-status | grep Application
    
  2. Vous devez maintenant ajouter une ligne à /etc/poldi/localdb/users qui contient les informations suivantes <YourApplicationID> <YourUsername>.

    Cela pourrait ressembler à D00600012401020000000000xxxxxxxx nitrokeyuser. Maintenant videz la clé publique de la Nitrokey dans la base de données locale de Poldis :

    sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'
    

    Sachez que vous devez insérer votre ID d’application dans la ligne ci-dessus avec celui de votre Nitrokey !

    Ensuite, vous devez configurer PAM. Ajoutez simplement auth sufficient pam_poldi.so aux fichiers de configuration de PAM en fonction de vos besoins :

    • /etc/pam.d/common-auth pour la connexion graphique de l’utilisateur

    • /etc/pam.d/login pour la connexion à la console

    • /etc/pam.d/sudo pour l’authentification sudo

    • /etc/pam.d/gnome-screensaver pour se reconnecter à partir d’un écran verrouillé

    • et d’autres fichiers dans /etc/pam.d

    Note

    Il est dangereux de jouer avec PAM, aussi assurez-vous d’avoir un moyen d’accéder à la machine si vous rompez complètement l’authentification. Rappelez-vous que le démarrage en mode de secours à partir de GRUB nécessite un mot de passe root, alors gardez-le à portée de main ou un CD live qui peut lire vos systèmes de fichiers.

Vous trouverez ici des instructions supplémentaires (en allemand, partiellement périmé).

Dépannage

Si vous obtenez une erreur similaire à ERR 100663414 Invalid ID <SCD> vous devriez essayer à la place

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys

Veuillez noter que vous devez insérer votre numéro d’application dans la ligne ci-dessus avec celui de votre bâton !

Clés ECC

Malheureusement, Poldi n’a pas encore de support pour les clés ECC. Mais il existe un patch pour les clés ECC utilisées avec Nitrokey Start. Il est déjà inclus dans la branche master du dépôt de développement de Poldi et sera donc publié dans une version plus récente. En attendant, la seule option est de construire Poldi à partir des sources.