Set-OPS-Public/roles/serveur_ops/meta/flux.yml
Daniel Allaire ce84d0e1ea frontiere : l'administration (P89) ; serveur_ops ne declare plus le 8006
La face reseau dit quelles entrees publiques sont ouvertes au poste ;
verifier_administration confronte gestion, VPN et tunnel. La sortie 8006
de serveur_ops vers externe ne laissait passer aucun paquet (hyperviseurs
en plages privees) et affirmait un pouvoir qu aucun locataire n a.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 03:14:14 -04:00

66 lines
3.5 KiB
YAML

---
# Flux réseau du poste d'exploitation. Voir docs/flux-conception.md.
#
# Le poste est presque tout en sortie : il va chercher son génome, puis il pilote. Rien
# ne s'y connecte, sinon l'administration elle-même.
flux:
# LA CONSOLE D'EXPLOITATION, PUBLIEE PAR L'EDGE DE L'ECOSYSTEME (2026-09-14).
#
# `[edge, admin]` — la meme paire que `serveur_grafana` et `serveur_icingaweb2`, et
# pour la meme raison : sans edge, un ecosysteme n'aurait plus de console du tout.
#
# CE PORT N'EST PAS CELUI DU GUI. Le GUI ecoute `127.0.0.1:8765` et n'est joignable de
# nulle part ailleurs — c'est sa seule serrure, il sert sa page a qui la demande. Ce
# qui s'ouvre ici est le NGINX qui authentifie devant.
#
# LA REGLE N'EST EMISE QUE SI LE PLAN L'EXPOSE : un runner qui ne publie pas sa console
# n'a pas ce port ouvert, et `serveur_ops_gui_actif` reste faux.
#
# SEULEMENT EN MODE `locale` (2026-09-30) : c'est la que nginx EST le vestibule et ecoute
# sur le reseau. En `oidc`, il est lie a 127.0.0.1 (voir `serveur_ops_gui_nginx_bind`) et
# la regle etait « sans objet » — desormais elle n'est plus emise du tout.
- sens: ingress
port: 8090
protocole: tcp
pair: [edge, admin]
seulement_si: {variable: serveur_ops_gui_auth, egal: locale}
chiffrement: clair
raison: >-
Console d'exploitation servie par l'edge (TLS terminé à l'edge), et joignable
depuis le plan d'administration là où il n'y a pas d'edge. Le GUI lui-même reste
sur la boucle locale : c'est nginx qui authentifie devant.
- sens: egress
port: 443
protocole: tcp
pair: edge
chiffrement: tls-requis
raison: "Cloner et resynchroniser le génome depuis la forge de l'écosystème."
- sens: egress
port: 22
protocole: tcp
pair: flotte
chiffrement: ssh
raison: "Piloter la flotte — c'est la raison d'être du poste."
# UN LOCATAIRE NE PARLE PAS A L'HYPERVISEUR — ET CE N'EST PLUS DECLARE ICI (2026-10-05).
#
# Ce fichier portait une sortie 8006 vers `externe` : « API de l'hyperviseur : créer et
# cloner les VM d'un écosystème descendant ». Mesure du 2026-10-05, depuis trois machines de
# deux locataires : AUCUN paquet ne passait. La frontiere rendait cette sortie vers « tout
# sauf les plages privees », et les hyperviseurs sont en plages privees ; elle refusait donc
# (journal : `block`, refus audible du lien de transit). La regle etait morte, et sa lecture
# mentait : elle disait qu'un locataire pouvait creer des VM.
#
# Materialiser est un pouvoir du SITE (`serveur_ops_site`, sa voute porte l'API Proxmox).
# Une emancipation qui en aurait besoin se declarera le jour ou elle existera.
# LE GENOME SE CLONE A LA FORGE DU SITE — ET CE N'EST PLUS DECLARE ICI (2026-10-05).
#
# Ce fichier portait une sortie 443 vers `voisins_site`, ecrite quand la forge du genome
# vivait chez un locataire voisin (2026-08-24). Elle est au SITE depuis ; le pair n'avait
# pas suivi. `voisins_site` vu d'un locataire, ce sont les AUTRES locataires : la frontiere
# ouvrait donc le 443 du runner de chaque locataire vers tout le supernet de l'autre — un
# passage entre locataires que rien ne justifiait, la ou elle doit refuser par defaut.
# Trouve en confrontant la frontiere a la face reseau (docs/conception-contextes.md).
#
# Le clonage passe par la regle que declare `serveur_forge_site` (son entree depuis
# `voisins_site`, vue du site : ses locataires). La forge DE TRAVAIL d'un ecosysteme,
# celle qui sert ses gens, reste un service du tenant, sans rapport avec ce flux.