Registres (source unique): - docs/nomenclature.yml: domaines, VMID, plan d'adressage 10.1.0.0/16 segmente. - docs/bases-donnees.yml: bases applicatives (1 appli -> 1 base -> 1 owner -> 1 DSN). Roles de service: - Reseau/edge/PKI/mail: nginx, step_ca, sendmail. - Donnees/identite: postgresql (consommateur du registre BD), redis, openldap, keycloak. - Observabilite: prometheus, loki, grafana. - Supervision: icinga (coeur; Icinga Web 2 differe). Forge: forgejo. Integrations clientes: - clients_metriques, clients_journaux, clients_pki, clients_ldap, clients_smtp. Inventaire et outillage: - make inventaire-ui: refonte (cartes, theme sombre, onglets, vue Chaine VM->groupes-> playbooks->roles), saisie du provisioning, auto-proposition depuis la nomenclature, deploiement securise (verifier/deployer, jeton anti-CSRF, verrou, mot de passe vault), robustesse reseau (connexions fermees, favicon). - Makefile: cible verifier-deploiement; detection d'un group_vars de production chiffre. - Scission serveurs_web -> serveurs_web_frontaux/dorsaux; migration de l'adressage vers 10.1.x; retrait des hotes de test; planification des hotes; requirements.yml. Chaque role valide en --syntax-check et ansible-lint (profil production). Secrets references depuis Ansible Vault (jamais en clair); roles non testes live. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
1.8 KiB
Markdown
37 lines
1.8 KiB
Markdown
# serveurs_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.1.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 |
|
|
| --- | --- | --- |
|
|
| `serveurs_sendmail_domaine` | `chezlepro.internal` | `mydomain` / mailname |
|
|
| `serveurs_sendmail_reseaux_autorises` | boucle + `10.1.0.0/16` | `mynetworks` (qui peut relayer) |
|
|
| `serveurs_sendmail_smarthost` | `""` | Relais amont (vide = remise directe MX) |
|
|
| `serveurs_sendmail_inet_interfaces` | `all` | Interfaces d'écoute |
|
|
| `serveurs_sendmail_tls_cert` / `_cle` | snakeoil | Certificat TLS |
|
|
|
|
## Smarthost amont
|
|
```yaml
|
|
serveurs_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).
|