--- # 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)." # --- Decouverte de MTU de chemin (PMTUD) --- # L'overlay EVPN plafonne a 1450 : tout ce qui traverse la frontiere depend de ces # deux messages. Bloques, la connexion s'etablit, les petites requetes passent et les # grosses reponses restent suspendues — la panne la plus couteuse a diagnostiquer. - sens: ingress port: frag-needed protocole: icmp pair: externe chiffrement: n-a raison: "ICMP « fragmentation nécessaire » entrant : sans lui, un distant ne peut pas nous demander de réduire nos paquets — les transferts se figent." - sens: egress port: frag-needed protocole: icmp pair: externe chiffrement: n-a raison: "ICMP « fragmentation nécessaire » sortant : c'est ainsi que nos hôtes signalent l'overlay à 1450 aux correspondants distants." # LA FACE RECEPTRICE DU PING DE SUPERVISION. # # `serveur_icinga` declare l'egress ; le registre REFUSE un egress sans son ingress en # face, et il a bien fait : c'est precisement l'oubli qui a coute cinq `TimeoutError` # sur le rapport de sante quelques heures plus tot. Ici la garde l'a dit tout de suite. - sens: ingress port: echo-request protocole: icmp pair: serveur_icinga chiffrement: n-a partage: true raison: "La supervision verifie que ce noeud repond (hostalive). Sans lui, elle le tient pour mort et supprime ses notifications." # L'HEURE VIENT DE LA FRONTIÈRE, PAS D'INTERNET (2026-09-11). # # C'était `pair: externe` : les quatorze machines interrogeaient `2.debian.pool.ntp.org`, # défaut de Debian jamais choisi — le rôle `chrony` posait le fuseau et laissait les # sources telles quelles. Mesuré : quatre pairs publics par machine, sur les quatorze. # # C'était la DERNIÈRE dépendance vivante à Internet des opérations internes. Tout le # reste sort déjà par le site : les paquets par son cache, les noms par son DNS, le # génome par sa forge, l'état par son dépôt. L'heure, non. # # ET C'EST LA MAUVAISE À LAISSER TRAÎNER. step-ca émet des certificats à durée courte ; # TLS refuse un certificat pas encore valide ; Loki rejette une ligne trop loin dans le # futur ; les silences d'Icinga reposent sur des `ttl`. Une flotte dont les horloges # divergent tombe en panne de l'intérieur, avec des symptômes qui ressemblent à tout # sauf à une horloge. Et la dérive est lente : couper Internet ne casse rien le premier # jour, ce qui laisse croire à une souveraineté qu'on n'a pas. # # La frontière est déjà `stratum 3`, synchronisée, et écoute en 123 sur chaque patte. # Elle se discipline sur le pool public quand Internet est là ; la flotte, elle, ne sort # plus. Même patron que le cache apt : un seul sort, les autres non. # # RESSERRE AUTANT QUE CENTRALISE : `pair: externe` autorisait le 123 vers N'IMPORTE # QUELLE adresse d'Internet. La destination est désormais nommée. - sens: egress port: 123 protocole: udp pair: frontiere chiffrement: n-a raison: >- Synchronisation d'horloge (NTP) contre la frontière, autorité de temps de l'écosystème. Une dérive fait échouer la validation des certificats step-ca et l'authentification SSO.