52 lines
2.3 KiB
Markdown
52 lines
2.3 KiB
Markdown
|
|
# La clé de signature du dépôt Smallstep — versionnée, et pourquoi
|
||
|
|
|
||
|
|
```
|
||
|
|
pub rsa2048 2021-05-04 [SC]
|
||
|
|
35BA A0B3 3E9E B396 F59C A838 C0BA 5CE6 DC63 15A3
|
||
|
|
uid Artifact Registry Repository Signer <artifact-registry-repository-signer@google.com>
|
||
|
|
```
|
||
|
|
|
||
|
|
## Pourquoi elle est ici et non téléchargée
|
||
|
|
|
||
|
|
**Un tenant n'a pas de DNS sortant, et c'est voulu** — il résout chez lui, sa requête ne
|
||
|
|
traverse jamais la frontière. `apt` s'en sort par le mandataire du cache, qui résout à sa
|
||
|
|
place ; `get_url` n'a pas de mandataire.
|
||
|
|
|
||
|
|
Mesuré le 2026-08-30 sur `infra-pki-01`, première machine à porter l'autorité de
|
||
|
|
certification de Chezlepro :
|
||
|
|
|
||
|
|
```
|
||
|
|
Request failed: <urlopen error [Errno -3] Échec temporaire dans la résolution du nom>
|
||
|
|
url: https://packages.smallstep.com/keys/apt/repo-signing-key.gpg
|
||
|
|
```
|
||
|
|
|
||
|
|
La dette était déjà nommée dans `roles/client_artefacts/defaults/main.yml` : *« les dépôts
|
||
|
|
tiers en HTTPS continuent d'aller en direct […] la seconde voie est propre et reste à
|
||
|
|
faire »*. Elle a été appelée le jour où un écosystème s'est reconstruit derrière une
|
||
|
|
frontière qui fait son travail.
|
||
|
|
|
||
|
|
**Ce que ça achète : une lignée qui se reproduit sans Internet.** C'est le même principe
|
||
|
|
que les collections Ansible et les roues Python — le contrôleur récupère une fois, le
|
||
|
|
dépôt porte, la cible n'ouvre rien.
|
||
|
|
|
||
|
|
## Ce que ça coûte, et qu'il faut savoir
|
||
|
|
|
||
|
|
Cette clé **expirera ou tournera** un jour. Le dépôt apt échouera alors bruyamment, à la
|
||
|
|
vérification de signature — un échec clair, pas un silence. C'est le bon sens de la panne :
|
||
|
|
mieux vaut un refus lisible qu'un téléchargement qui réussit depuis n'importe où.
|
||
|
|
|
||
|
|
## La remettre à jour
|
||
|
|
|
||
|
|
Depuis une machine qui a le DNS (le poste de l'exploitant), **et en suivant les
|
||
|
|
redirections** — l'URL publique renvoie vers `pkgs.infra.smallstep.com`, et sans `-L` on
|
||
|
|
récupère un fichier VIDE que rien ne signale :
|
||
|
|
|
||
|
|
```sh
|
||
|
|
curl -fsSL https://packages.smallstep.com/keys/apt/repo-signing-key.gpg \
|
||
|
|
-o roles/serveur_step_ca/files/smallstep-repo-signing-key.asc
|
||
|
|
gpg --show-keys --with-fingerprint roles/serveur_step_ca/files/smallstep-repo-signing-key.asc
|
||
|
|
```
|
||
|
|
|
||
|
|
Comparer l'empreinte à celle du haut de ce fichier avant de committer. Une clé qu'on
|
||
|
|
remplace sans regarder son empreinte n'est plus une clé, c'est un fichier.
|