65 lines
2.9 KiB
Markdown
65 lines
2.9 KiB
Markdown
|
|
> **Pour qui :** l'exploitant, le jour où il réalise que 1 644 octets valent toute
|
||
|
|
> l'installation. À faire une fois, puis à refaire quand une clé change.
|
||
|
|
|
||
|
|
# Sortir les clés du poste
|
||
|
|
|
||
|
|
## Ce qui est en jeu
|
||
|
|
|
||
|
|
Le **code** de Set-OPS est répliqué trois fois : `eregion`, la forge du site, patient 0.
|
||
|
|
Les **voûtes chiffrées** y sont aussi. Le coffre est solide.
|
||
|
|
|
||
|
|
Les **clés** qui l'ouvrent vivent dans neuf fichiers de ce poste — 1 644 octets — sans
|
||
|
|
aucune copie ailleurs. S'y ajoutent les clés SSH par lesquelles on entre sur les
|
||
|
|
hyperviseurs, la frontière et chaque machine.
|
||
|
|
|
||
|
|
Ce qu'on perd avec le poste, par ordre de gravité :
|
||
|
|
|
||
|
|
| Ce qui disparaît | Conséquence |
|
||
|
|
|---|---|
|
||
|
|
| Le poste seul | Les mots de passe restic restent lisibles sur les machines vivantes (`/etc/setops/restic.pass`) — récupérable, mais douloureux, et plus aucun déploiement possible entre-temps |
|
||
|
|
| Le poste **et** une machine | L'état de cette machine devient illisible |
|
||
|
|
| Le poste **et** le site | Terminal |
|
||
|
|
|
||
|
|
## La manœuvre
|
||
|
|
|
||
|
|
```bash
|
||
|
|
make cles-recenser # voir ce qui sortirait, sans rien écrire
|
||
|
|
make cles-exporter VERS=/media/…/CLE # sortir, chiffrer, RELIRE
|
||
|
|
```
|
||
|
|
|
||
|
|
**Lance-la toi-même**, dans ton terminal. `gpg` demande une phrase de passe : elle ne doit
|
||
|
|
passer ni par un journal, ni par le contexte d'un assistant. C'est la seule façon de
|
||
|
|
s'en assurer.
|
||
|
|
|
||
|
|
L'outil refuse trois choses, et chacune a été éprouvée en la faisant échouer :
|
||
|
|
|
||
|
|
- une destination **dans** l'infrastructure — ces clés ouvrent les sauvegardes ; les y
|
||
|
|
ranger ferait un coffre dont la clé est à l'intérieur ;
|
||
|
|
- **écraser** une archive existante — elle est peut-être la seule ;
|
||
|
|
- une archive qu'il **n'arrive pas à rouvrir** — elle est alors supprimée. Une sauvegarde
|
||
|
|
de clés qu'on ne sait pas ouvrir est pire que rien : elle donne le sentiment d'être
|
||
|
|
protégé.
|
||
|
|
|
||
|
|
Il ne montre jamais le contenu des clés — seulement leur nom, leur taille et leur
|
||
|
|
empreinte. De quoi vérifier sans divulguer.
|
||
|
|
|
||
|
|
## Les deux gestes qui restent, et qui ne sont pas facultatifs
|
||
|
|
|
||
|
|
**1. La phrase de passe va ailleurs que le support.** Séparés, ils ne valent rien l'un
|
||
|
|
sans l'autre ; ensemble, ils valent l'installation. Un papier dans un autre lieu, ou un
|
||
|
|
gestionnaire de mots de passe qui n'est pas sur ce poste.
|
||
|
|
|
||
|
|
**2. Une seconde copie, dans un autre lieu physique.** Un support unique dans un tiroir
|
||
|
|
unique, c'est le problème qu'on vient de fermer, déplacé de quelques mètres.
|
||
|
|
|
||
|
|
## Quand recommencer
|
||
|
|
|
||
|
|
Quand une voûte est créée ou sa clé changée (`voutes.py`), quand une paire SSH de runner
|
||
|
|
est refaite, et à l'arrivée d'un écosystème. `make cles-recenser` dit en une seconde si
|
||
|
|
l'archive rangée est encore complète : compare le nombre de fichiers et les empreintes.
|
||
|
|
|
||
|
|
## Ce que ça ne couvre pas
|
||
|
|
|
||
|
|
La **phrase de passe** elle-même : si elle est perdue, l'archive est du bruit. C'est le
|
||
|
|
prix du chiffrement, et c'est pour ça que le geste 1 n'est pas décoratif.
|