44 lines
1.4 KiB
Nix
44 lines
1.4 KiB
Nix
{ ... }:
|
|
|
|
{
|
|
# Module NixOS officiel : installe YubiKey Manager et les règles udev
|
|
# nécessaires pour que ykman puisse accéder à la clé en session utilisateur.
|
|
programs.yubikey-manager.enable = true;
|
|
|
|
# Déploiement du mapping utilisateur <-> YubiKey
|
|
environment.etc."u2f-mappings".source = ../u2f-mappings;
|
|
|
|
# Authentification PAM avec FIDO2 / YubiKey
|
|
security.pam.u2f = {
|
|
enable = true;
|
|
|
|
# Une authentification YubiKey réussie suffit.
|
|
# Le mot de passe reste disponible comme mécanisme de secours
|
|
# pour les comptes qui ne s'authentifient pas par FIDO2.
|
|
control = "sufficient";
|
|
|
|
settings = {
|
|
authfile = "/etc/u2f-mappings";
|
|
|
|
# Identifiant commun à tous nos futurs postes.
|
|
origin = "pam://nixos-workstations";
|
|
appid = "pam://nixos-workstations";
|
|
|
|
# Indique à l'utilisateur qu'il doit toucher la clé.
|
|
cue = true;
|
|
|
|
# Le PIN FIDO2 est maintenant obligatoire.
|
|
pinverification = 1;
|
|
|
|
# Pas de biométrie / vérification utilisateur intégrée.
|
|
# La vérification repose explicitement sur le PIN.
|
|
userverification = 0;
|
|
};
|
|
};
|
|
# Le changement de mot de passe via `passwd` doit rester une opération
|
|
# PAM/Unix classique. Le module U2F global ne doit pas intercepter
|
|
# l'authentification demandée par `passwd`, sinon le helper attend une
|
|
# interaction FIDO2 qu'il ne doit pas gérer à cette étape.
|
|
security.pam.services.passwd.u2f.enable = false;
|
|
|
|
} |