journal : la frontiere refuse a voix haute a l'interieur

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-10-01 16:10:40 -04:00
parent 6a8fc53084
commit 9414dca750

View file

@ -1,5 +1,31 @@
# CHANGELOG — Set-OPS
## 2026-10-01 (60) — La frontière refuse à voix haute à l'intérieur, et se tait sur l'Internet
**Demande de l'exploitant** : « pour éviter des délais internes en cas de pépin, les règles qui
ne font pas face à l'extérieur ne doivent pas être en drop mais en reject ». Les machines
refusaient déjà en le disant (nftables `reject … admin-prohibited`, Proxmox `REJECT`). La
FRONTIÈRE jetait en silence sur toutes ses interfaces — c'est elle qu'avait mesurée la sonde au
site (« délai » entre deux zones).
**Fait** : un `reject` final, journalisé, séquence 950 (après les autorisations, WireGuard et
les silences déclarés), sur chacune des 12 interfaces internes — gestion, transit, l'ancienne
patte du site, les 8 zones du site, la grappe de contrôle, WireGuard. **Le WAN reste muet.**
Sûr : la frontière n'a qu'une règle héritée, sur le WAN — rien d'existant n'est court-circuité ;
ce qui n'était pas autorisé était déjà refusé, seul le MODE du refus change.
Appliqué (sur accord) : 12 créations, 0 retrait ; plan ensuite vide (340 règles). Après coup :
les 35 machines `connectivite` au vert (9 site, 13 + 13 locataires). Essai négatif : deux flux
NON déclarés — `site-edge-01 → site-forge-01:3000` (« délai » la veille) et Technolibre
`web-frontal-01 → site-forge-01:3000` — échouent en `ECONNREFUSED` en moins d'une
milliseconde ; le flux déclaré témoin (443) passe.
**Garde** : P53 affinée (refus audible interne exigé, jamais sur le WAN) ; P50 ne compte comme
silence que les `block` ; `test_frontiere_refus.py` sur le vrai devis. **La sonde** classe
désormais `ECONNREFUSED` en AVERTISSEMENT (« service absent, ou refus de la frontière ») : le
`reject` d'OPNsense rend un RST, indiscernable d'un port fermé — et depuis les `seulement_si`,
aucun flux déclaré ne mène plus à un port sans service, ce cas n'est donc plus jamais normal.
## 2026-10-01 (59) — Chezlepro reconstruite par Set-OPS en 41 minutes, sans un arrêt
Lancée par l'exploitant (`make reconstruire-locataire TENANT=OPS-Chezlepro CONFIRMER=true