Set-OPS-Public/roles/serveur_dovecot/defaults/main.yml
Daniel Allaire 457b89927b Soumission courriel :587 interne (authentifiée) — boucle souveraine bouclée
Postfix (edge-mta) sert :587 (master.cf : STARTTLS + SMTP AUTH, seuls les
authentifiés relaient) ; SASL délégué à Dovecot (infra-mail, passdb LDAP)
via un auth-listener réseau (inet_listener sasl :12345). Interne seulement.

Prouvé (swaks) : testmail s'authentifie (235), Postfix accepte (250 queued),
courriel livré dans la boîte. Le courriel souverain fait recevoir ET envoyer.

Pièges : Dovecot 2.4 exige un nom de section inet_listener ; nouveau service
master.cf → restart (pas reload).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 23:17:36 -04:00

47 lines
2.2 KiB
YAML

---
# Dovecot 2.4 (Debian 13) — IMAP + LMTP + auth LDAP, stockage Maildir des boîtes virtuelles.
# Config par drop-in conf.d/99-setops.conf (syntaxe 2.4). Cf. docs/courriel-conception.md.
serveur_dovecot_paquets:
- dovecot-core
- dovecot-imapd
- dovecot-lmtpd
- dovecot-ldap
serveur_dovecot_service: "dovecot"
# --- Stockage des boîtes virtuelles ---
serveur_dovecot_vmail_utilisateur: "vmail"
serveur_dovecot_vmail_uid: 5000
serveur_dovecot_vmail_gid: 5000
serveur_dovecot_vmail_base: "/var/vmail"
# Maildir par utilisateur. Nom d'utilisateur seul → chemin IDENTIQUE pour la remise LMTP
# (destinataire local-part) et l'accès IMAP (adresse complète). Mono-domaine ; pour du
# multi-domaine il faudra préserver le domaine des deux côtés (raffinement Étape B).
serveur_dovecot_mail_path: "{{ serveur_dovecot_vmail_base }}/%{user | username}"
# --- Annuaire/auth LDAP (vers serveur_openldap) ---
# Connexion à l'annuaire (uris, base, bind_dn, bind_password) : fournie par le rôle partagé
# resoudre_annuaire (voir tasks/main.yml « Adopter la connexion annuaire »).
# Filtre de connexion : utilisateur = adresse courriel (attribut mail).
serveur_dovecot_ldap_filter: "(&(objectClass=inetOrgPerson)(mail=%{user}))"
# --- TLS via le certificat d'hôte step_ca (client_pki) ---
serveur_dovecot_tls_actif: true
serveur_dovecot_tls_source_cert: "/etc/step/certs/{{ ansible_fqdn | default(ansible_hostname) }}.crt"
serveur_dovecot_tls_source_cle: "/etc/step/certs/{{ ansible_fqdn | default(ansible_hostname) }}.key"
serveur_dovecot_tls_dir: "/etc/dovecot/tls"
# --- Intégration Postfix (sockets sous le chroot Postfix) ---
serveur_dovecot_postfix_socket_dir: "/var/spool/postfix/private"
# --- LMTP réseau : pour un MTA DISTANT (Postfix sur le nœud edge-mta) qui livre
# par LMTP réseau. À restreindre au nœud MTA par pare-feu (nftables) en prod.
serveur_dovecot_lmtp_reseau: true
serveur_dovecot_lmtp_port: 24
# --- Auth SASL réseau : pour la soumission :587 servie par un Postfix DISTANT (edge-mta).
# Dovecot vérifie le mot de passe (passdb LDAP prouvé) pour Postfix. À restreindre au MTA
# par pare-feu ; le trafic d'auth devrait être isolé/chiffré en prod.
serveur_dovecot_sasl_reseau: false
serveur_dovecot_sasl_port: 12345