Set-OPS-Public/roles/serveur_dovecot/defaults/main.yml
Daniel Allaire 7549c61e75 serveur_dovecot (Dovecot 2.4) : IMAP + auth LDAP + TLS step_ca — prouvé
Rôle mail : IMAP :993/:143 + LMTP, auth/annuaire LDAP (serveur_openldap),
stockage Maildir (user vmail), TLS via step_ca (pont de cert + resync au
renouvellement), auth système par défaut neutralisée. Config drop-in en
syntaxe Dovecot 2.4 (mail_driver, ssl_server_cert_file, passdb ldap),
validée par doveconf au déploiement. Sockets Postfix conditionnels à la
présence de l'utilisateur postfix (co-localisation).

Déployé et prouvé sur infra-mail-01 : doveadm auth test — bon mot de passe
accepté, mauvais refusé, cert IMAPS émis par step_ca. Format 2.4 validé
empiriquement avant l'écriture (leçon « éprouver l'outil »).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 15:09:37 -04:00

37 lines
1.7 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 domaine/utilisateur (variables 2.4).
serveur_dovecot_mail_path: "{{ serveur_dovecot_vmail_base }}/%{user | domain}/%{user | username}"
# --- Annuaire/auth LDAP (vers serveur_openldap) ---
serveur_dovecot_ldap_uris: "ldaps://id-ldap-01.{{ domaine_interne }}:636"
serveur_dovecot_ldap_base: "dc={{ domaine_interne.split('.') | join(',dc=') }}"
# Compte de service pour la recherche (bind DN). En bac à sable : l'admin LDAP.
serveur_dovecot_ldap_bind_dn: "cn=admin,{{ serveur_dovecot_ldap_base }}"
serveur_dovecot_ldap_bind_password: "{{ vault_openldap_admin | default('') }}"
# 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"