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)."
|
2026-09-29 16:09:31 -04:00
|
|
|
# LA SOUMISSION EST PUBLIQUE (2026-09-29) : les clients de courriel des utilisateurs
|
|
|
|
|
# envoient depuis n'importe ou, par l'adresse publique du locataire. Toujours chiffree,
|
|
|
|
|
# toujours authentifiee (SASL Dovecot) ; seuls les authentifies relaient.
|
2026-10-01 12:27:17 -04:00
|
|
|
# SEULEMENT LA OU LA SOUMISSION EXISTE (2026-10-01). Elle est derriere un interrupteur
|
|
|
|
|
# (`serveur_postfix_submission_actif`, faux par defaut) que seuls les locataires levent :
|
|
|
|
|
# elle suppose des utilisateurs, des boites et un annuaire. Le relais du SITE n'en a pas —
|
|
|
|
|
# il fait sortir le courriel des MACHINES, par le 25. Declares sans condition le
|
|
|
|
|
# 2026-09-29, ces deux flux ouvraient au site des ports vers un service inexistant.
|
2026-07-07 03:08:09 -04:00
|
|
|
- sens: ingress
|
|
|
|
|
port: 587
|
|
|
|
|
protocole: tcp
|
2026-09-29 16:09:31 -04:00
|
|
|
pair: [flotte, externe]
|
2026-10-01 12:27:17 -04:00
|
|
|
seulement_si: {variable: serveur_postfix_submission_actif, egal: true}
|
2026-07-07 03:08:09 -04:00
|
|
|
chiffrement: starttls
|
2026-09-29 16:09:31 -04:00
|
|
|
raison: "Soumission authentifiée (STARTTLS obligatoire) : agents internes et clients de courriel des utilisateurs."
|
|
|
|
|
- sens: ingress
|
|
|
|
|
port: 465
|
|
|
|
|
protocole: tcp
|
|
|
|
|
pair: [flotte, externe]
|
2026-10-01 12:27:17 -04:00
|
|
|
seulement_si: {variable: serveur_postfix_submission_actif, egal: true}
|
2026-09-29 16:09:31 -04:00
|
|
|
chiffrement: tls-requis
|
|
|
|
|
raison: "Soumission authentifiée en TLS direct (submissions, RFC 8314) : clients de courriel des utilisateurs."
|
2026-07-07 03:08:09 -04:00
|
|
|
- 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)."
|