Set-OPS-Public/roles/serveur_sendmail
Daniel Allaire f82630de6c Rendre le dry-run (--check) fiable sur les rôles applicatifs
« Vérifier » échouait faussement sur un hôte frais : les tâches
« démarrer service » et les handlers restart/reload/validate touchent
un paquet que --check n'installe pas vraiment → service/fichier absent
→ faux fatal, qui bloquait le déploiement (le dry-run doit passer pour
débloquer « Déployer »).

Ajout de « when: not ansible_check_mode » sur ces tâches + handlers des
13 rôles serveur_* (29 gardes). Sautées en dry-run, inchangées en réel.
Validé : powerdns dry-run failed=0 ; ansible-lint 0 échec ; 19 playbooks
syntax-OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:01:53 -04:00
..
defaults Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
handlers Rendre le dry-run (--check) fiable sur les rôles applicatifs 2026-07-01 21:01:53 -04:00
meta Dimensionner les ressources VM depuis les logiciels hébergés 2026-06-30 10:07:04 -04:00
tasks Rendre le dry-run (--check) fiable sur les rôles applicatifs 2026-07-01 21:01:53 -04:00
templates Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
README.md Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00

serveur_sendmail

Relais SMTP sortant interne. Implémenté avec Postfix (fournit l'interface sendmail-compatible /usr/sbin/sendmail qu'utilisent les clients).

Rôle

  • Préconfigure Postfix via debconf (installation non interactive, « Internet Site »).
  • Installe postfix et ssl-cert.
  • Déploie /etc/postfix/main.cf : relais sortant uniquement, n'accepte de relayer que pour mynetworks (réseaux internes).
  • Valide la configuration (postfix check) avant de recharger (handler Valider et recharger postfix).

Sécurité

  • smtpd_relay_restrictions = permit_mynetworks, reject_unauth_destination → pas de relais ouvert.
  • mynetworks par défaut : boucle locale + 10.0.0.0/16.
  • N'héberge pas de boîtes (mydestination ne contient pas le domaine) : remise relayée.
  • TLS opportuniste (may), certificat snakeoil par défaut.

Variables principales

Variable Défaut Rôle
serveur_sendmail_domaine exemple.internal mydomain / mailname
serveur_sendmail_reseaux_autorises boucle + 10.0.0.0/16 mynetworks (qui peut relayer)
serveur_sendmail_smarthost "" Relais amont (vide = remise directe MX)
serveur_sendmail_inet_interfaces all Interfaces d'écoute
serveur_sendmail_tls_cert / _cle snakeoil Certificat TLS

Smarthost amont

serveur_sendmail_smarthost: "[smtp.exemple.com]:587"

(L'authentification SASL vers un smarthost externe, si requise, viendra avec ses identifiants depuis Ansible Vault — hors périmètre du socle actuel.)

Hors périmètre

  • Réception/hébergement de courrier (boîtes, IMAP).
  • Authentification SASL sortante vers smarthost (à ajouter avec Vault si besoin).
  • DKIM/SPF/DMARC signature (phase dédiée).