2026-07-07 03:08:09 -04:00
|
|
|
---
|
|
|
|
|
# Flux réseau de Postfix (MTA). Voir docs/flux-conception.md.
|
|
|
|
|
flux:
|
|
|
|
|
- sens: ingress
|
|
|
|
|
port: 25
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: [externe, client_smtp]
|
|
|
|
|
chiffrement: starttls
|
frontiere : etanche — CONFORME sur 56 lignes, dans les deux sens
L'exploitant a retire la derniere regle heritee. `make frontiere-mesurer`
rend CONFORME (code 0) : tout ce qui est declare est livre, tout le reste est
refuse — y compris collab-01:9980, le seul qui livrait vraiment un HTTP 200
depuis le poste.
Et mon instrument avait tort, pas la frontiere. Il comptait 38 ecarts en
concluant depuis le client : « connexion etablie => la bordure a relaye ».
Faux, verifie A LA DESTINATION : pendant que le poste tenait une connexion
« etablie » vers idm-01:389, idm-01 n'en voyait aucune ; collab-01 n'en
voyait aucune sur 9980. La frontiere repond a la poignee TCP sans relayer.
Le devis raisonne desormais sur la LIVRAISON seule, et le controle ne rend le
releve NUL que s'il LIVRE des donnees — qu'il ressorte AMBIGU est attendu ici
et le rapport le dit a chaque execution. Cette relaxation rend aussi le sens
sortant mesurable : il etait declare NUL en permanence.
Nouveau mot-cle `poste: false` dans meta/flux.yml : un service publie n'est
pas forcement fait pour un poste de travail. Le 25 entrant de Postfix est un
flux serveur a serveur ; la frontiere l'etendait au VLAN d'administration ou
le nftables de l'hote le refusait. Deux regles retirees. Le mot-cle vit avec
le role qui sait ce que son port veut dire ; le generateur ne connait
toujours aucun numero de port.
Verifie : frontiere-plan sans ecart (41 regles, 12 routes), flotte 14/14,
frontiere-mesurer CONFORME, prouver.py 0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 21:33:04 -04:00
|
|
|
poste: false
|
2026-07-07 03:08:09 -04:00
|
|
|
raison: "SMTP entrant : courrier externe (MX) et notifications internes (client_smtp)."
|
|
|
|
|
- sens: ingress
|
|
|
|
|
port: 587
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: flotte
|
|
|
|
|
chiffrement: starttls
|
|
|
|
|
raison: "Soumission authentifiée (submission) pour les agents internes qui envoient du courrier."
|
|
|
|
|
- sens: egress
|
|
|
|
|
port: 24
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: serveur_dovecot
|
|
|
|
|
chiffrement: tls-requis
|
|
|
|
|
raison: "Remise finale par LMTP au mailstore (Dovecot), en TLS vérifié."
|
|
|
|
|
- sens: egress
|
|
|
|
|
port: 12345
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: serveur_dovecot
|
|
|
|
|
chiffrement: tls
|
|
|
|
|
raison: "Validation SASL des identifiants de soumission contre Dovecot."
|
|
|
|
|
- sens: egress
|
|
|
|
|
port: 11332
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: localhost
|
|
|
|
|
chiffrement: clair
|
|
|
|
|
raison: "Filtre milter rspamd co-localisé (antispam + signature DKIM)."
|
|
|
|
|
- sens: egress
|
|
|
|
|
port: 636
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: serveur_openldap
|
|
|
|
|
chiffrement: tls-requis
|
|
|
|
|
raison: "Tables virtuelles (domaines/alias/boîtes) résolues sur l'annuaire (LDAPS)."
|
|
|
|
|
- sens: egress
|
|
|
|
|
port: 25
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: externe
|
|
|
|
|
chiffrement: starttls
|
|
|
|
|
raison: "Relais sortant vers les MX distants (STARTTLS opportuniste)."
|