Téléverser les fichiers vers "/"
This commit is contained in:
@@ -37,7 +37,7 @@ Attendu :
|
||||
|
||||
```text
|
||||
password-initialized
|
||||
yubikey-pin-initialized
|
||||
yubikey-pin-created
|
||||
```
|
||||
|
||||
9. Se déconnecter/reconnecter : l'assistant ne doit plus démarrer.
|
||||
@@ -58,7 +58,7 @@ sudo nixos-rebuild switch \
|
||||
- Ne jamais modifier manuellement `/etc/shadow`.
|
||||
- Le retour à une ancienne génération NixOS ne restaure pas les mots de passe mutables.
|
||||
|
||||
## Diagnostic v1.1 avant test de l'interface
|
||||
## Diagnostic v1.4 avant test de l'interface
|
||||
|
||||
Dans la session `alice` :
|
||||
|
||||
@@ -71,6 +71,8 @@ Attendu au minimum :
|
||||
```text
|
||||
current_user=alice
|
||||
target_user=alice
|
||||
current_user_utf8_hex=616c696365
|
||||
target_user_utf8_hex=616c696365
|
||||
authorized=yes
|
||||
```
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
> **État LAB v1.7 / Étape 2** : systemd-homed + LUKS2 pour Alice. L'enrôlement FIDO2 dans le home viendra à l'étape 3.
|
||||
|
||||
<div align="center">
|
||||
|
||||
# 🛡️ NixOS Workstations
|
||||
@@ -74,7 +76,6 @@
|
||||
```text
|
||||
nixos-workstations/
|
||||
├── configuration.nix
|
||||
├── u2f-mappings
|
||||
├── LICENSE
|
||||
├── COMMERCIAL-LICENSE.md
|
||||
├── PRODUCTION-CHECKLIST.md
|
||||
@@ -142,7 +143,7 @@ Avec `users.mutableUsers = true`, ce hash sert à la création initiale du compt
|
||||
|
||||
### 🛡️ `security.nix`
|
||||
|
||||
Déploie le mapping utilisateur ↔ YubiKey et configure l'authentification PAM U2F/FIDO2 utilisée par le poste.
|
||||
Étape 1 LAB : conserve uniquement les règles d’accès à la YubiKey. Aucun mapping U2F et aucune authentification PAM/FIDO2 ne sont activés ; l’enrôlement sera pris en charge ultérieurement par systemd-homed.
|
||||
|
||||
### ✨ `workstation-setup.nix`
|
||||
|
||||
@@ -199,7 +200,7 @@ Les étapes ne sont considérées terminées qu'après création des marqueurs :
|
||||
|
||||
```text
|
||||
~/.local/state/nixos-workstations/password-initialized
|
||||
~/.local/state/nixos-workstations/yubikey-pin-initialized
|
||||
~/.local/state/nixos-workstations/yubikey-pin-created
|
||||
```
|
||||
|
||||
---
|
||||
@@ -337,9 +338,9 @@ Voir [`LICENSE`](LICENSE) et [`COMMERCIAL-LICENSE.md`](COMMERCIAL-LICENSE.md).
|
||||
|
||||
---
|
||||
|
||||
## Correctifs v1.1 du setup
|
||||
## Correctifs v1.2 du setup
|
||||
|
||||
La version 1.1 durcit la brique `workstation-setup` :
|
||||
La version 1.2 durcit la brique `workstation-setup` :
|
||||
|
||||
- l'utilisateur cible n'est plus compilé dans le binaire ; le lanceur le transmet avec `--target-user` ;
|
||||
- les chemins des helpers sont générés dans `Config.h`, sans macro CMake fragile ;
|
||||
@@ -362,3 +363,37 @@ Lancement manuel de l'interface :
|
||||
```bash
|
||||
nixos-workstations-setup --target-user alice
|
||||
```
|
||||
|
||||
|
||||
### Correctif v1.2 — contrôle de l’utilisateur
|
||||
|
||||
La v1.1 pouvait refuser `alice` tout en affichant `alice` comme utilisateur courant et cible à cause d’un ordre d’initialisation incorrect des membres C++. La v1.2 supprime l’état d’autorisation mémorisé et vérifie directement l’UID effectif du processus par rapport à l’UID du compte cible. La compilation traite également les avertissements `reorder` comme des erreurs.
|
||||
|
||||
|
||||
### Correctif v1.3 — changement de mot de passe avec PAM/U2F
|
||||
|
||||
La configuration conserve U2F pour les services PAM d’authentification, mais le désactive explicitement pour le service `passwd` avec `security.pam.services.passwd.u2f.enable = false;`. Cela évite que le changement de mot de passe lancé par l’assistant soit intercepté par `pam_u2f`. Le message de timeout est également spécifique à l’étape en cours : mot de passe ou YubiKey.
|
||||
|
||||
|
||||
### Correctif v1.4 — dialogue PAM `passwd`
|
||||
|
||||
Le helper de mot de passe accepte désormais l'invite PAM générique `Password:` pour l'authentification initiale. Les étapes sont suivies explicitement et les erreurs techniques sont journalisées sans secret.
|
||||
|
||||
### Correctif v1.5 — changement de PIN FIDO2 direct
|
||||
|
||||
La v1.5 n'utilise plus `expect` pour piloter les invites texte de `ykman` lors du changement de PIN. Le helper utilise directement `python-fido2` et `ClientPin.change_pin()` sur l'interface CTAP2 de la clé. Les secrets sont transmis au helper par stdin, jamais dans les arguments du processus. Une seule tentative CTAP2 est effectuée par validation.
|
||||
|
||||
|
||||
## Étape 1 v1.6 — YubiKey vierge
|
||||
|
||||
Cette version valide uniquement l'initialisation d'une YubiKey FIDO2 vierge :
|
||||
|
||||
- aucun PIN FIDO2 initial ;
|
||||
- aucun `u2f-mappings` dans Git ou `/etc` ;
|
||||
- aucun `pam_u2f` actif ;
|
||||
- le setup demande uniquement le nouveau PIN et sa confirmation ;
|
||||
- `ClientPin.set_pin()` crée le premier PIN ;
|
||||
- si un PIN existe déjà, l'opération est refusée sans tentative de PIN ;
|
||||
- le mot de passe local continue de fonctionner comme dans la v1.5.
|
||||
|
||||
L'authentification FIDO2 du compte et le chiffrement LUKS2 ne font volontairement pas partie de cette étape.
|
||||
|
||||
Reference in New Issue
Block a user