Set-OPS-Public/roles/serveur_debian/meta/flux.yml
Daniel Allaire 4d37570c0c frontière : la sortie générale est déclarée, pas subie
Le devis se terminait par `block out log all` avec une seule règle sortante
(le relais SMTP). Appliqué tel quel, il coupait la flotte d'Internet : plus
d'apt, plus de NTP, plus de récursion DNS. Rien ne le signalait — la ligne
la plus lourde de conséquences du devis, posée à la suite des autres.

La sortie est déclarée dans le registre, donc dérivée :
- `serveur_debian` (socle, 14 hôtes) : 443 et 80 pour les dépôts apt, 123/udp
  pour l'horloge — une dérive fait échouer step-ca et le SSO des semaines
  après la cause ;
- `client_unbound` : 53 udp et tcp, la récursion depuis la racine qu'implique
  `client_unbound_transitaires: []`. Le TCP est le repli obligatoire dès
  qu'une réponse DNSSEC dépasse la taille UDP.

Le devis passe de 6 à 11 règles, et sa section 5 énonce le default-deny
sortant, le nombre de règles qui l'accompagnent, et où déclarer un besoin
oublié — jamais à la main dans le pare-feu.

Vérifié : les nftables d'hôte sont inchangés, octet pour octet. Le pair
`externe` reste sauté par resoudre_flux.

Non déclaré volontairement : le rôle `chrony` n'est référencé par aucun
groupe ni playbook — un flux pour lui aurait été une règle morte.

Preuves : 24 OK, 0 échec.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 13:10:45 -04:00

33 lines
1.4 KiB
YAML

---
# Flux réseau du socle Debian : le plan de gestion (SSH). Voir docs/flux-conception.md.
# CRITIQUE : sans cette règle, les nftables générés couperaient l'accès Ansible/SSH.
flux:
- sens: ingress
port: 22
protocole: tcp
pair: [flotte, externe]
chiffrement: ssh
raison: "Plan de gestion : administration et déploiement Ansible par SSH (inter-nœud ; l'accès depuis l'extérieur est filtré à l'OPNsense)."
# --- Sortie générale de la flotte ---
# Portée par le socle parce qu'elle vaut pour TOUS les hôtes, sans exception.
# Non déclarée, la frontière la bloquerait : son `block out` final est un vrai
# default-deny, et la flotte perdrait ses mises à jour et son horloge en silence.
- sens: egress
port: 443
protocole: tcp
pair: externe
chiffrement: tls-requis
raison: "Dépôts apt en HTTPS (Debian, Smallstep, Grafana, Icinga, Forgejo, Nextcloud) — sans quoi aucun correctif de sécurité n'entre."
- sens: egress
port: 80
protocole: tcp
pair: externe
chiffrement: clair
raison: "Dépôts apt en clair et redirections HTTP des miroirs (l'intégrité vient de la signature des paquets, pas du transport)."
- sens: egress
port: 123
protocole: udp
pair: externe
chiffrement: n-a
raison: "Synchronisation d'horloge (NTP). Une dérive fait échouer la validation des certificats step-ca et l'authentification SSO."