From 15b3341237d374b09e4355b284dfe33c58e648f6 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 12:19:37 +0100 Subject: [PATCH 01/10] =?UTF-8?q?d=C3=A9but=20=C3=A9criture=20sur=20les=20?= =?UTF-8?q?enregistrements=20dns=20du=20mail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/email.md | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/content/operations/email.md b/content/operations/email.md index bb87c57..bb8cbb7 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -7,6 +7,7 @@ date: 2023-03-16 extra: parent: operations/courantes.md --- + # Support d'un nom de domaine personnalisé Deuxfleurs peut héberger vos e-mails, même s'ils ne finissent pas en `@deuxfleurs.fr` ! Voilà comment faire. @@ -42,4 +43,59 @@ _dmarc TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:p +# Le fonctionnement des e-mails +## Serveurs + +- SMTP: Postfix + +- IMAP: Dovecot (fixé sur une machine avec un backup) + +## Enregistrements DNS + +| nom | type | valeur | signification | +| --- | ---- | ------ | ------------- | +| `@` | `MX` | `12 email-in.deuxfleurs.fr` | Serveur que chercheront à joindre les gens qui veulent envoyer un courrier à une addresse `@deuxfleurs.fr` | +| `default.\_domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | +| `smtp.\_domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | +| `@` | `TXT` | `"v=spf1 mx:out.deuxfleurs.fr ip4: [...] -all" | Enregistrement SPF (voir ci-dessous) | +| `\_dmarc` | `TXT` | `"v=DMARC1; [...]` | Enregistrement DMARC (voir ci-dessous) | +| `email-in` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour l'enregistrement MX) | +| `smtp` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour les utilisateurs Deuxfleurs) | +| `imap` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Dovecot (pour les utilisateurs Deuxfleurs) | + +### L'enregistrement DKIM + +Exemple de valeurs : + +``` +default._domainkey.deuxfleurs.fr. 10800 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtdZp4qrgZR+6R7HeAkuLGJ/3L/6Ungvf5zwrMq6T8Tu931j2G4lYuPtsxyn9fZkT4y7DlX0waktLDB" "OCwf7X78nLEWjAFWiJTeWGRGhRdYRUFpscs9NUN0P+46jKlabibG3XTKd1DeAmywTu6o1oO03yiolrgKD1zgyDRFeUTfSwZIdPrdbcBSA1arda4WFtcBIrSygM9b4jtlqfQwGDrsMLbCBfVHDn4Wfm" "DWyNg0gDAkuLrYClNETk6aqIyj9fC8srKri0Qp3cRagCn+fjBvuxP35qWWJH7Rnnh/tuEDr1ufuNYO2KgJZ7JdMidUotxXE8cfU+OrEWQf4mIYeJ4wIDAQAB" + +smtp._domainkey.deuxfleurs.fr. 1800 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtdZp4qrgZR+6R7HeAkuLGJ/3L/6Ungvf5zwrMq6T8Tu931j2G4lYuPtsxyn9fZkT4y7DlX0waktLDB" "OCwf7X78nLEWjAFWiJTeWGRGhRdYRUFpscs9NUN0P+46jKlabibG3XTKd1DeAmywTu6o1oO03yiolrgKD1zgyDRFeUTfSwZIdPrdbcBSA1arda4WFtcBIrSygM9b4jtlqfQwGDrsMLbCBfVHDn4Wfm" "DWyNg0gDAkuLrYClNETk6aqIyj9fC8srKri0Qp3cRagCn+fjBvuxP35qWWJH7Rnnh/tuEDr1ufuNYO2KgJZ7JdMidUotxXE8cfU+OrEWQf4mIYeJ4wIDAQAB" + +default._domainkey.adnab.me. 3600 IN TXT "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHd2zQXgGAoFX2CFaRqvWw1oBGhbUIRB5QXPxE9nvWwe/og5LjZBcnKoInPWsKYEz/f5kmpTDq4RZT3PMmjm+u5IuvyQ2LJcdIKSW6t8KWa7yztk2D87f3Lono6WJwvY8RHdGPqKS5RXfEdQFriXiSCAO5ZSQrNXQ5yiQ9T1ptGwIDAQAB; t=s" +``` + +Structure : + +- Le nom de domaine est composé d'un selecteur (souvent `default`, on a ici aussi `smtp`) qui permet de distinguer différentes clefs pour signer les messages. + Il est formé de la manière suivante: `.\_domainkey.` + +### L'enregistrement SPF + +Exemple de valeurs : + +``` +deuxfleurs.fr. 300 IN TXT "v=spf1 mx:out.deuxfleurs.fr ip4:82.66.80.201 -all" +adnab.me. 3600 IN TXT "v=spf1 mx mx:adnab.me include:mx.ovh.com -all" +``` + +### L'enregistrement DMARC + + +Exemple de valeurs : + +``` +_dmarc.deuxfleurs.fr. 300 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:prod-sysadmin@deuxfleurs.fr; rua=mailto:prod-sysadmin@deuxfleurs.fr; rf=afrf; pct=100; ri=86400" +_dmarc.adnab.me. 3600 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:postmaster@adnab.me!10m; ruf=mailto:postmaster@adnab.me!10m; rf=afrf; pct=100; ri=86400" +``` From b577474cfdd4cee3caea93103d0610155ff49aab Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 12:36:10 +0100 Subject: [PATCH 02/10] Structure signature DKIM --- content/operations/email.md | 49 +++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/content/operations/email.md b/content/operations/email.md index bb8cbb7..89378cf 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -43,7 +43,7 @@ _dmarc TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:p -# Le fonctionnement des e-mails +# Comprendre le fonctionnement des e-mails ## Serveurs @@ -56,17 +56,19 @@ _dmarc TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:p | nom | type | valeur | signification | | --- | ---- | ------ | ------------- | | `@` | `MX` | `12 email-in.deuxfleurs.fr` | Serveur que chercheront à joindre les gens qui veulent envoyer un courrier à une addresse `@deuxfleurs.fr` | -| `default.\_domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | -| `smtp.\_domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | +| `default._domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | +| `smtp._domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | | `@` | `TXT` | `"v=spf1 mx:out.deuxfleurs.fr ip4: [...] -all" | Enregistrement SPF (voir ci-dessous) | -| `\_dmarc` | `TXT` | `"v=DMARC1; [...]` | Enregistrement DMARC (voir ci-dessous) | +| `_dmarc` | `TXT` | `"v=DMARC1; [...]` | Enregistrement DMARC (voir ci-dessous) | | `email-in` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour l'enregistrement MX) | | `smtp` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour les utilisateurs Deuxfleurs) | | `imap` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Dovecot (pour les utilisateurs Deuxfleurs) | ### L'enregistrement DKIM -Exemple de valeurs : +Référence : + +**Exemple de valeurs :** ``` default._domainkey.deuxfleurs.fr. 10800 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtdZp4qrgZR+6R7HeAkuLGJ/3L/6Ungvf5zwrMq6T8Tu931j2G4lYuPtsxyn9fZkT4y7DlX0waktLDB" "OCwf7X78nLEWjAFWiJTeWGRGhRdYRUFpscs9NUN0P+46jKlabibG3XTKd1DeAmywTu6o1oO03yiolrgKD1zgyDRFeUTfSwZIdPrdbcBSA1arda4WFtcBIrSygM9b4jtlqfQwGDrsMLbCBfVHDn4Wfm" "DWyNg0gDAkuLrYClNETk6aqIyj9fC8srKri0Qp3cRagCn+fjBvuxP35qWWJH7Rnnh/tuEDr1ufuNYO2KgJZ7JdMidUotxXE8cfU+OrEWQf4mIYeJ4wIDAQAB" @@ -76,14 +78,45 @@ smtp._domainkey.deuxfleurs.fr. 1800 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjAN default._domainkey.adnab.me. 3600 IN TXT "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHd2zQXgGAoFX2CFaRqvWw1oBGhbUIRB5QXPxE9nvWwe/og5LjZBcnKoInPWsKYEz/f5kmpTDq4RZT3PMmjm+u5IuvyQ2LJcdIKSW6t8KWa7yztk2D87f3Lono6WJwvY8RHdGPqKS5RXfEdQFriXiSCAO5ZSQrNXQ5yiQ9T1ptGwIDAQAB; t=s" ``` -Structure : +**Structure :** - Le nom de domaine est composé d'un selecteur (souvent `default`, on a ici aussi `smtp`) qui permet de distinguer différentes clefs pour signer les messages. - Il est formé de la manière suivante: `.\_domainkey.` + Il est formé de la manière suivante: `._domainkey.` +- La valeur est composé de plusieurs champs entre guillemets séparés par des `;`, le champ `v` peut contenir la version de DKIM utilisée (ici `v=DKIM1`) +- Le champ `p` contient la clef publique +- Les autres champs sont optionels + +**Application à la vérification d'une signature (exemple) :** + +Prenons la signature suivante : + +``` +DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=deuxfleurs.fr; s=smtp; + t=1679050854; bh=AkDk3Tm0bnC7b6dvTjRXJbThLE6h/IStsBGIYGa+q7c=; + h=Date:To:From:Subject:From; + b=Qll5ASi9DmD2rw9LK1vJOahE77Pd/HNDbmrkrOCt4S8Nu42WtJXXOtiwo9J3KGPzR + zA2Cw5oCUB0HW5ere8RkINsUj9X/nxOovxFaJw4LSrgEYxQh7unaGBs6Ecw6k2Aqc/ + oMhNE2OVCSlLkJVUQbgzwBUcZuwndlki6yYoJXkSPMuZ4tFbhgjSaxneRgUvPocYw3 + Vqc/yMEAbofrlaEf6nSNQZL+LSE4IEBeudsv3JodMn12OYAijhO0rrHHsinK9UkM3M + PEEISyatG6RzE6veh4VVv3PTyJMYouQI7fKNooLuDmlGsdSTV9HRo4UvQeOQT1SL/7 + KvgJtR0Hqz3mQ== +``` + +Cette signature contient les champs suivants : + +- `v` (obligatoire) indique la version, doit toujours être à `1` +- `a` (obligatoire) indique l'algorithme de signature, généralement `rsa-sha256` +- `d` (obligatoire) indique le domaine pour lequel la signature est produite +- `s` (obligatoire) indique le sélecteur de la clef DKIM utilisée (ici `smtp` pour utiliser la clef `smtp._domainkey.deuxfleurs.fr`) +- `h` (obligatoire) indique la liste des en-têtes signés +- `bh` (obligatoire) donne le hash du contenu du message +- `b` (obligatoire) donne la signature à proprement parler, qui signe les en-têtes `h` et le hash du contenu `bh` +- `t` (recomandé) donne le timestamp de la signature, i.e. sa date et son heure +- `c` est un paramètre additionnel de la méthode de calcul de la signature ### L'enregistrement SPF -Exemple de valeurs : +**Exemple de valeurs :** ``` deuxfleurs.fr. 300 IN TXT "v=spf1 mx:out.deuxfleurs.fr ip4:82.66.80.201 -all" From a6916cf66e7ef6026e68193236a4cb9c1322ee39 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 12:56:21 +0100 Subject: [PATCH 03/10] =?UTF-8?q?=C3=A9criture=20sur=20l'enregistrement=20?= =?UTF-8?q?SPF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/email.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/content/operations/email.md b/content/operations/email.md index 89378cf..6299d97 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -66,6 +66,10 @@ _dmarc TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:p ### L'enregistrement DKIM +Le mécanisme DKIM permet au serveur d'ajouter une signature sur les messages qui sortent de Deuxfleurs, pour que les destinataires puissent en attester la validité. +Il s'agit d'une signature RSA basée sur une paire de clefs privée/publique. La clef publique est donée dans l'enregistrement DNS DKIM, et la clef privée est connue +uniquement du serveur Postfix. La signature de chaque message est ajoutée dans un en-tête spécifique. + Référence : **Exemple de valeurs :** @@ -116,13 +120,43 @@ Cette signature contient les champs suivants : ### L'enregistrement SPF +L'enregistrement SPF sert à aider le serveur de destination à déterminer si le message reçu est légitime ou non, en vérifiant des contraintes sur l'addresse IP par laquelle il a été reçu. +Normalement, c'est l'addresse IP du serveur SMTP de Deuxfleurs, donc on sait qu'on doit rejeter tous les messages venant d'autres addresses. + +Références : + **Exemple de valeurs :** ``` deuxfleurs.fr. 300 IN TXT "v=spf1 mx:out.deuxfleurs.fr ip4:82.66.80.201 -all" adnab.me. 3600 IN TXT "v=spf1 mx mx:adnab.me include:mx.ovh.com -all" +ietf.org. 1794 IN TXT "v=spf1 ip4:50.223.129.192/26 ip6:2001:559:c4c7::/48 a:ietf.org mx:mail.ietf.org ip4:192.95.54.32/27 ip6:2607:5300:60:9ccf::/64 ip4:158.69.166.0/27 ip6:2607:5300:203:1b26::/64 ip4:4.31.198.32/27 ip6:2001:1900:3001:11::/64 include:_spf.google.com ~all" + ``` +**Structure :** + +L'enregistrement commence par `v=spf1`, puis contient un ensemble de directives formées de la manière suivante: + +- Un préfixe pouvant être `+` (résultat favorable), `?` (résultat neutre/aucune règle), `~` (entre le neutre et l'échec, utile pour déboguer), `-` (échec/défavorable). Le préfixe peut être omis, ce qui est interprété comme le préfixe `+`. +- Une paire type/valeur, avec les types suivants: + - `mx` : utiliser un enregistrement DNS de type MX. L'enregistrement `MX` donne un ou plusieurs noms d'hôtes, qui sont eux-même des noms DNS. Ces noms sont ensuite résolus en `A` ou `AAAA` pour trouver les addresses correspondantes. Des `CNAME` peuvent être présents, ce qui donnerait au plus long la chaîne de résolution suivante : `MX -> CNAME -> ... -> CNAME -> A/AAAA`. + - `ip4` : contient directement une plage d'addresses IPv4 + - `ip6` : contient directement une plage d'addresses IPv6 + - `a` : contient un nom d'hôte à résoudre en `A` ou `AAAA` (pouvant utiliser des `CNAME`) + - `include` : contient un nom de domaine ayant une autre règle SPF à inclure + - `ptr` : désuet +- Ou bien le mot `all`, qui correspond à tous les expéditeurs dont l'addresse ne correspond pas aux autres règles + +Par exemple, dans les exemples ci-dessous, voici comment interpréter les différentes règles: + +- `mx:out.deuxfleurs.fr` : accepter le message si l'IP de l'expéditeur est trouvable en suivant les enregistrements `MX` associés à `out.deuxfleurs.fr`. +- `ip4:82.66.80.201` : accepter le message si l'IP de l'expéditeur est `82.66.80.201` +- `include:mx.ovh.com` : accepter le message si il serait accepté par la règle du domaine `mx.ovh.com` (consultable en faisant `dig TXT mx.ovh.com`) +- `a:ietf.org` : accepter le message si il vient de l'addresse IP de `ietf.org` (consultable en faisant `dig A ietf.org`) +- `-all` : rejeter strictement tous les messages venant d'une autre addresse IP + + ### L'enregistrement DMARC From c76d05c09c1959e07b77a13f50e04f8e853cb300 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 13:16:23 +0100 Subject: [PATCH 04/10] =?UTF-8?q?=C3=A9criture=20d'infos=20sur=20les=20e-m?= =?UTF-8?q?ails?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/email.md | 47 ++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/content/operations/email.md b/content/operations/email.md index 6299d97..32d5105 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -63,8 +63,9 @@ _dmarc TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:p | `email-in` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour l'enregistrement MX) | | `smtp` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour les utilisateurs Deuxfleurs) | | `imap` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Dovecot (pour les utilisateurs Deuxfleurs) | +| `201.80.66.82.in-addr.arpa.` | `PTR` | `orion.site.deuxfleurs.fr.` | Reverse DNS indiquant le nom de domainecorrespondant à l'IP du serveur Postfix | -### L'enregistrement DKIM +## DKIM Le mécanisme DKIM permet au serveur d'ajouter une signature sur les messages qui sortent de Deuxfleurs, pour que les destinataires puissent en attester la validité. Il s'agit d'une signature RSA basée sur une paire de clefs privée/publique. La clef publique est donée dans l'enregistrement DNS DKIM, et la clef privée est connue @@ -72,7 +73,7 @@ uniquement du serveur Postfix. La signature de chaque message est ajoutée dans Référence : -**Exemple de valeurs :** +**Exemple d'enregistrements DNS :** ``` default._domainkey.deuxfleurs.fr. 10800 IN TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtdZp4qrgZR+6R7HeAkuLGJ/3L/6Ungvf5zwrMq6T8Tu931j2G4lYuPtsxyn9fZkT4y7DlX0waktLDB" "OCwf7X78nLEWjAFWiJTeWGRGhRdYRUFpscs9NUN0P+46jKlabibG3XTKd1DeAmywTu6o1oO03yiolrgKD1zgyDRFeUTfSwZIdPrdbcBSA1arda4WFtcBIrSygM9b4jtlqfQwGDrsMLbCBfVHDn4Wfm" "DWyNg0gDAkuLrYClNETk6aqIyj9fC8srKri0Qp3cRagCn+fjBvuxP35qWWJH7Rnnh/tuEDr1ufuNYO2KgJZ7JdMidUotxXE8cfU+OrEWQf4mIYeJ4wIDAQAB" @@ -118,14 +119,14 @@ Cette signature contient les champs suivants : - `t` (recomandé) donne le timestamp de la signature, i.e. sa date et son heure - `c` est un paramètre additionnel de la méthode de calcul de la signature -### L'enregistrement SPF +## SPF L'enregistrement SPF sert à aider le serveur de destination à déterminer si le message reçu est légitime ou non, en vérifiant des contraintes sur l'addresse IP par laquelle il a été reçu. Normalement, c'est l'addresse IP du serveur SMTP de Deuxfleurs, donc on sait qu'on doit rejeter tous les messages venant d'autres addresses. Références : -**Exemple de valeurs :** +**Exemple d'enregistrements DNS :** ``` deuxfleurs.fr. 300 IN TXT "v=spf1 mx:out.deuxfleurs.fr ip4:82.66.80.201 -all" @@ -157,12 +158,46 @@ Par exemple, dans les exemples ci-dessous, voici comment interpréter les diffé - `-all` : rejeter strictement tous les messages venant d'une autre addresse IP -### L'enregistrement DMARC +## DMARC +DMARC est un mécanisme qui permet de mieux contrôler la réaction des serveurs de destination en fonction des tests DKIM et SPF. +Par exemple, on peut préciser que tous les messages sont authentifiés par DKIM et SPF, et si un de ces tests échoue, le message doit nécessairement être rejeté. +On peut aussi demander à recevoir des rapports en cas d'échec. -Exemple de valeurs : +Référence : + +**Exemple d'enregistrements DNS :** ``` _dmarc.deuxfleurs.fr. 300 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:prod-sysadmin@deuxfleurs.fr; rua=mailto:prod-sysadmin@deuxfleurs.fr; rf=afrf; pct=100; ri=86400" _dmarc.adnab.me. 3600 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:postmaster@adnab.me!10m; ruf=mailto:postmaster@adnab.me!10m; rf=afrf; pct=100; ri=86400" ``` + +L'enregistrement peut contenir les champs suivants: + +- `v=DMARC1` indique la version de DMARC utilisée +- `p` : procédure en cas d'échec avec le domaine principal (`none/quarantaine/reject`) +- `sp` : comme `p` mais s'applique aux sous-domaines +- `adkim` : indique si on doit appliquer la règle DKIM de manière stricte (`s`, le nom de domaine doit correspondre exactement) ou relaxée (`r`, des variations sur le nom de domaine sont permises) +- `aspf` : indique si on doit appliquer la règle SPF de manière stricte (`s`) ou relaxée (`r`) +- `ruf` : addresse mail à laquelle envoyer un rapport d'échec détaillé à chaque échec de validation +- `fo` : condition pour l'envoi d'un rapport d'échec détaillé (1 = si soit DKIM soit SPF a échoué) +- `rua` : addresse mail à laquelle envoyer un rapport d'échec aggrégé périodiquement +- `ri` : intervalle en secondes entre l'envoi des rapports aggrégés (86400 = 24h) +- `rf` : format des rapports (`afrf` est la seule valeur officiellement supportée) +- `pct` : proportion de messages à rejeter en cas d'échec + +## Reverse DNS + +**Exemple d'enregistrements reverse DNS :** + +``` +201.80.66.82.in-addr.arpa. 86179 IN PTR orion.site.deuxfleurs.fr. +206.118.187.37.in-addr.arpa. 86400 IN PTR shiki.adnab.me. +``` + +L'enregistrement reverse DNS peut être utilisé par le serveur de destination +pour connaître le nom d'hôte correspondant à l'addresse IP du serveur qui a +envoyé le mail. Cet enregistrement doit idéalement correspondre à un nom de +domaine qui lui-même résoud à nouveau vers la même addresse IP. + From 22d1d1ea0d1e2f9a5493e984879a4e3be7944594 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 13:57:30 +0100 Subject: [PATCH 05/10] Nouvelles instructions pour les domaines email --- content/operations/email.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/content/operations/email.md b/content/operations/email.md index 32d5105..03ed149 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -18,25 +18,25 @@ Deuxfleurs peut héberger vos e-mails, même s'ils ne finissent pas en `@deuxfle 1. L'entrée MX pour recevoir les emails ```bind -@ MX 10 email-in.deuxfleurs.fr. +@ MX 10 smtp.deuxfleurs.fr. ``` 1. L'entrée SPF pour autoriser notre IP à délivrer des emails en votre nom : ```bind -@ TXT "v=spf1 mx:out.deuxfleurs.fr -all" +@ TXT "v=spf1 include:deuxfleurs.fr -all" ``` 1. L'entrée DKIM pour autoriser notre postfix+opendkim à délivrer des emails en votre nom : ``` -smtp._domainkey TXT "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtdZp4qrgZR+6R7HeAkuLGJ/3L/6Ungvf5zwrMq6T8Tu931j2G4lYuPtsxyn9fZkT4y7DlX0waktLDBOCwf7X78nLEWjAFWiJTeWGRGhRdYRUFpscs9NUN0P+46jKlabibG3XTKd1DeAmywTu6o1oO03yiolrgKD1zgyDRFeUTfSwZIdPrdbcBSA1arda4WFtcBIrSygM9b4jtlqfQwGDrsMLbCBfVHDn4WfmDWyNg0gDAkuLrYClNETk6aqIyj9fC8srKri0Qp3cRagCn+fjBvuxP35qWWJH7Rnnh/tuEDr1ufuNYO2KgJZ7JdMidUotxXE8cfU+OrEWQf4mIYeJ4wIDAQAB" +smtp._domainkey CNAME smtp._domainkey.deuxfleurs.fr. ``` 1. L'entrée DMARC pour indiquer le comportement à adopter si les contraintes précédentes ne sont pas satisfaites : ``` -_dmarc TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:prod-sysadmin@deuxfleurs.fr; rf=afrf; pct=100; ri=86400" +_dmarc CNAME _dmarc.deuxfleurs.fr. ``` 1. C'est tout ! Vous devrez probablement attendre 24/48h que les changements se propagent. @@ -56,6 +56,7 @@ _dmarc TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:p | nom | type | valeur | signification | | --- | ---- | ------ | ------------- | | `@` | `MX` | `12 email-in.deuxfleurs.fr` | Serveur que chercheront à joindre les gens qui veulent envoyer un courrier à une addresse `@deuxfleurs.fr` | +| `out | `MX` | `12 orion[-v6].deuxfleurs.fr` | Addresses IP pouvant envoyer des messages pour SPF (voir ci-dessous) | | `default._domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | | `smtp._domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | | `@` | `TXT` | `"v=spf1 mx:out.deuxfleurs.fr ip4: [...] -all" | Enregistrement SPF (voir ci-dessous) | @@ -119,6 +120,8 @@ Cette signature contient les champs suivants : - `t` (recomandé) donne le timestamp de la signature, i.e. sa date et son heure - `c` est un paramètre additionnel de la méthode de calcul de la signature +**Chez Deuxfleurs:** L'en-tête de signature est rajouté par notre serveur Postfix. La clef privée est stockée dans Consul, et est injéctée dans le conteneur Postfix au lancement. Les enregistrements DNS sont installés manuellement. + ## SPF L'enregistrement SPF sert à aider le serveur de destination à déterminer si le message reçu est légitime ou non, en vérifiant des contraintes sur l'addresse IP par laquelle il a été reçu. @@ -158,6 +161,8 @@ Par exemple, dans les exemples ci-dessous, voici comment interpréter les diffé - `-all` : rejeter strictement tous les messages venant d'une autre addresse IP +**Chez Deuxfleurs:** L'enregistrement SPF, installé manuellement, contient `mx:out.deuxfleurs.fr`, ce qui signifie que les addresses IP sont celles présentes dans l'enregistrement `MX` pour `out.deuxfleurs.fr`. Actuellement, les valeurs sont `orion.site.deuxfleurs.fr` et `orion-v6.site.deuxfleurs.fr`. Le premier contient l'IPv4 (mise manuellement) et une IPv6 (mise automatiquement par D53, c'est celle de la machine contenant Tricot). Le second contient toutes les IPv6 possibles pour Postfix (celui-ci se ballade de machine en machine). + ## DMARC DMARC est un mécanisme qui permet de mieux contrôler la réaction des serveurs de destination en fonction des tests DKIM et SPF. From 7694fd08ab2e5e5041e3592b5cfa85bc4c933423 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 15:09:14 +0100 Subject: [PATCH 06/10] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20la=20page=20s?= =?UTF-8?q?ur=20les=20emails?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/email.md | 58 +++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/content/operations/email.md b/content/operations/email.md index 03ed149..43e5cef 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -55,16 +55,15 @@ _dmarc CNAME _dmarc.deuxfleurs.fr. | nom | type | valeur | signification | | --- | ---- | ------ | ------------- | -| `@` | `MX` | `12 email-in.deuxfleurs.fr` | Serveur que chercheront à joindre les gens qui veulent envoyer un courrier à une addresse `@deuxfleurs.fr` | -| `out | `MX` | `12 orion[-v6].deuxfleurs.fr` | Addresses IP pouvant envoyer des messages pour SPF (voir ci-dessous) | -| `default._domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | -| `smtp._domainkey` | `TXT` | `v=DKIM1; h=sha256; k=rsa; p=` | Enregistrement DKIM (voir ci-dessous) | -| `@` | `TXT` | `"v=spf1 mx:out.deuxfleurs.fr ip4: [...] -all" | Enregistrement SPF (voir ci-dessous) | -| `_dmarc` | `TXT` | `"v=DMARC1; [...]` | Enregistrement DMARC (voir ci-dessous) | -| `email-in` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour l'enregistrement MX) | -| `smtp` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix (pour les utilisateurs Deuxfleurs) | -| `imap` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Dovecot (pour les utilisateurs Deuxfleurs) | -| `201.80.66.82.in-addr.arpa.` | `PTR` | `orion.site.deuxfleurs.fr.` | Reverse DNS indiquant le nom de domainecorrespondant à l'IP du serveur Postfix | +| `@` | `MX` | `12 smtp.deuxfleurs.fr` | Serveur que chercheront à joindre les gens qui veulent envoyer un courrier à une addresse `@deuxfleurs.fr` | +| `smtp._domainkey` | `TXT` | `v=DKIM1; p=` | Enregistrement DKIM (voir ci-dessous) | +| `default._domainkey` | `TXT` | `v=DKIM1; p=` | Ancien enregistrement DKIM (voir ci-dessous) | +| `@` | `TXT` | `v=spf1 [...] -all` | Enregistrement SPF (voir ci-dessous) | +| `_dmarc` | `TXT` | `v=DMARC1; [...]` | Enregistrement DMARC (voir ci-dessous) | +| `smtp` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Postfix | +| `imap` | `A` | défini par D53 | Addresse IPv4 pour parler au serveur Dovecot | +| `201.80.66.82.in-addr.arpa.` | `PTR` | `orion.site.deuxfleurs.fr.` | Reverse DNS indiquant le nom de domaine correspondant à l'IP du serveur Postfix | +| `orion.site` | `A` | `82.66.80.201` | Reverse DNS indiquant le nom de domaine correspondant à l'IP du serveur Postfix | ## DKIM @@ -120,7 +119,12 @@ Cette signature contient les champs suivants : - `t` (recomandé) donne le timestamp de la signature, i.e. sa date et son heure - `c` est un paramètre additionnel de la méthode de calcul de la signature -**Chez Deuxfleurs:** L'en-tête de signature est rajouté par notre serveur Postfix. La clef privée est stockée dans Consul, et est injéctée dans le conteneur Postfix au lancement. Les enregistrements DNS sont installés manuellement. +**Chez Deuxfleurs:** + +- L'en-tête de signature est rajouté par notre serveur Postfix. +- La clef privée est stockée dans Consul, et est injectée dans le conteneur Postfix au lancement. +- Les enregistrements DNS pour DKIM sont installés manuellement. +- Pour tous les autres domaines dont le courrier est traîté par les serveurs Deuxfleurs, on utilise un enregistrement DKIM en CNAME vers `smtp._domainkey.deuxfleurs.fr` pour que la gestion des règles soit centralisée via l'enregistrement défini sur les DNS Deuxfleurs. ## SPF @@ -132,7 +136,7 @@ Références : **Exemple d'enregistrements DNS :** ``` -deuxfleurs.fr. 300 IN TXT "v=spf1 mx:out.deuxfleurs.fr ip4:82.66.80.201 -all" +deuxfleurs.fr. 300 IN TXT "v=spf1 mx:deuxfleurs.fr a:orion.site.deuxfleurs.fr ip4:82.66.80.201 ip6:2a01:e0a:28f:5e60::/64 -all" adnab.me. 3600 IN TXT "v=spf1 mx mx:adnab.me include:mx.ovh.com -all" ietf.org. 1794 IN TXT "v=spf1 ip4:50.223.129.192/26 ip6:2001:559:c4c7::/48 a:ietf.org mx:mail.ietf.org ip4:192.95.54.32/27 ip6:2607:5300:60:9ccf::/64 ip4:158.69.166.0/27 ip6:2607:5300:203:1b26::/64 ip4:4.31.198.32/27 ip6:2001:1900:3001:11::/64 include:_spf.google.com ~all" @@ -144,7 +148,7 @@ L'enregistrement commence par `v=spf1`, puis contient un ensemble de directives - Un préfixe pouvant être `+` (résultat favorable), `?` (résultat neutre/aucune règle), `~` (entre le neutre et l'échec, utile pour déboguer), `-` (échec/défavorable). Le préfixe peut être omis, ce qui est interprété comme le préfixe `+`. - Une paire type/valeur, avec les types suivants: - - `mx` : utiliser un enregistrement DNS de type MX. L'enregistrement `MX` donne un ou plusieurs noms d'hôtes, qui sont eux-même des noms DNS. Ces noms sont ensuite résolus en `A` ou `AAAA` pour trouver les addresses correspondantes. Des `CNAME` peuvent être présents, ce qui donnerait au plus long la chaîne de résolution suivante : `MX -> CNAME -> ... -> CNAME -> A/AAAA`. + - `mx` : utiliser un enregistrement DNS de type MX. L'enregistrement `MX` donne un ou plusieurs noms d'hôtes, qui sont eux-même des noms DNS. Ces noms sont ensuite résolus en `A` ou `AAAA` pour trouver les addresses correspondantes. Attention, un enregistrement `MX` n'est pas sensé pointer sur un `CNAME`, il doit pointer directement sur des enregistrements `A` et `AAAA` ! - `ip4` : contient directement une plage d'addresses IPv4 - `ip6` : contient directement une plage d'addresses IPv6 - `a` : contient un nom d'hôte à résoudre en `A` ou `AAAA` (pouvant utiliser des `CNAME`) @@ -154,14 +158,21 @@ L'enregistrement commence par `v=spf1`, puis contient un ensemble de directives Par exemple, dans les exemples ci-dessous, voici comment interpréter les différentes règles: -- `mx:out.deuxfleurs.fr` : accepter le message si l'IP de l'expéditeur est trouvable en suivant les enregistrements `MX` associés à `out.deuxfleurs.fr`. +- `mx:deuxfleurs.fr` : accepter le message si l'IP de l'expéditeur est trouvable en suivant les enregistrements `MX` associés à `deuxfleurs.fr`. - `ip4:82.66.80.201` : accepter le message si l'IP de l'expéditeur est `82.66.80.201` - `include:mx.ovh.com` : accepter le message si il serait accepté par la règle du domaine `mx.ovh.com` (consultable en faisant `dig TXT mx.ovh.com`) - `a:ietf.org` : accepter le message si il vient de l'addresse IP de `ietf.org` (consultable en faisant `dig A ietf.org`) - `-all` : rejeter strictement tous les messages venant d'une autre addresse IP -**Chez Deuxfleurs:** L'enregistrement SPF, installé manuellement, contient `mx:out.deuxfleurs.fr`, ce qui signifie que les addresses IP sont celles présentes dans l'enregistrement `MX` pour `out.deuxfleurs.fr`. Actuellement, les valeurs sont `orion.site.deuxfleurs.fr` et `orion-v6.site.deuxfleurs.fr`. Le premier contient l'IPv4 (mise manuellement) et une IPv6 (mise automatiquement par D53, c'est celle de la machine contenant Tricot). Le second contient toutes les IPv6 possibles pour Postfix (celui-ci se ballade de machine en machine). +**Chez Deuxfleurs :** + +- L'enregistrement SPF, installé manuellement, contient `mx:deuxfleurs.fr`, ce qui signifie que les addresses IP sont celles présentes dans l'enregistrement `MX` pour `deuxfleurs.fr`. +- Cet enregistrement pointe sur le serveur `smtp.deuxfleurs.fr`, dont l'addresse est mise à jour automatiquement dans le DNS par D53 pour pointer vers l'IPv4 de la machine sur laquelle tourne Postfix. +- L'enregistrement SPF contient également `a:orion.site.deuxfleurs.fr`, qui contient également l'IPv4 de cette machine ; on garde cette règle en second recours au cas où il y aurait un problème avec la précédente. +- L'enregistrement SPF contient également l'addresse IPv4 et la plage d'addresses IPv6 de la box à Orion (site où le serveur SMTP est actuellement déployé), pour en dernier recours éviter de rejeter des mails en cas de soucis avec les règles précédentes. +- **L'enregistrement SPF doit être mis à jour manuellement en cas de reconfiguration du serveur SMTP, en particulier si celui-ci change de site ou si les addresses IP changent.** +- Pour tous les autres domaines dont le courrier est traîté par les serveurs Deuxfleurs, on utilise un enregistrement SPF `include:deuxfleurs.fr` pour que la gestion des règles soit centralisée via l'enregistrement défini sur les DNS Deuxfleurs. ## DMARC @@ -192,8 +203,21 @@ L'enregistrement peut contenir les champs suivants: - `rf` : format des rapports (`afrf` est la seule valeur officiellement supportée) - `pct` : proportion de messages à rejeter en cas d'échec +**Chez Deuxfleurs :** + +- L'enregistrement DMARC est configuré pour rejeter de manière strict tout message ne passant pas la vérification SPF ou DKIM. +- Les rapports d'erreur doivent être envoyés à l'addresse `prod-sysadmin@deuxfleurs.fr` qui est consultés par les administrateurs systèmes de Deuxfleurs. +- Pour tous les autres domaines dont le courrier est traîté par les serveurs Deuxfleurs, on utilise un enregistrement DMARC en CNAME vers `_dmarc.deuxfleurs.fr` pour que la gestion des règles soit centralisée via l'enregistrement défini sur les DNS Deuxfleurs. + ## Reverse DNS +L'enregistrement reverse DNS peut être utilisé par le serveur de destination +pour connaître le nom d'hôte correspondant à l'addresse IP du serveur qui a +envoyé le mail. Cet enregistrement doit idéalement correspondre à un nom de +domaine qui lui-même résoud à nouveau vers la même addresse IP. +L'application de cette règle de filtrage est à la discrétion des différents hébergeurs +mail, elle ne rentre pas dans le cadre défini par DMARC. + **Exemple d'enregistrements reverse DNS :** ``` @@ -201,8 +225,4 @@ L'enregistrement peut contenir les champs suivants: 206.118.187.37.in-addr.arpa. 86400 IN PTR shiki.adnab.me. ``` -L'enregistrement reverse DNS peut être utilisé par le serveur de destination -pour connaître le nom d'hôte correspondant à l'addresse IP du serveur qui a -envoyé le mail. Cet enregistrement doit idéalement correspondre à un nom de -domaine qui lui-même résoud à nouveau vers la même addresse IP. From 111c54be756f67b02707afa8346beaa92f9ec2f5 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 15:13:33 +0100 Subject: [PATCH 07/10] formattage --- content/operations/email.md | 41 ++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/content/operations/email.md b/content/operations/email.md index 43e5cef..937bfad 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -13,33 +13,36 @@ extra: Deuxfleurs peut héberger vos e-mails, même s'ils ne finissent pas en `@deuxfleurs.fr` ! Voilà comment faire. 1. Communiquez lui votre nom de domaine pour qu'il l'ajoute dans `ou=domains,ou=groups,dc=deuxfleurs,dc=fr` -1. Communiquez lui l'adresse email que vous souhaitez pour qu'il change l'entrée `mail` dans votre profil utilisateur -1. Vous devez ensuite rajouter les entrées pour votre nom de domaine en éditant votre zone : -1. L'entrée MX pour recevoir les emails -```bind -@ MX 10 smtp.deuxfleurs.fr. -``` +2. Communiquez lui l'adresse email que vous souhaitez pour qu'il change l'entrée `mail` dans votre profil utilisateur -1. L'entrée SPF pour autoriser notre IP à délivrer des emails en votre nom : +3. Vous devez ensuite rajouter les entrées pour votre nom de domaine en éditant votre zone : -```bind -@ TXT "v=spf1 include:deuxfleurs.fr -all" -``` + 1. L'entrée MX pour recevoir les emails -1. L'entrée DKIM pour autoriser notre postfix+opendkim à délivrer des emails en votre nom : + ``` + @ MX 10 smtp.deuxfleurs.fr. + ``` -``` -smtp._domainkey CNAME smtp._domainkey.deuxfleurs.fr. -``` + 2. L'entrée SPF pour autoriser notre IP à délivrer des emails en votre nom : -1. L'entrée DMARC pour indiquer le comportement à adopter si les contraintes précédentes ne sont pas satisfaites : + ``` + @ TXT "v=spf1 include:deuxfleurs.fr -all" + ``` -``` -_dmarc CNAME _dmarc.deuxfleurs.fr. -``` + 3. L'entrée DKIM pour autoriser notre postfix+opendkim à délivrer des emails en votre nom : -1. C'est tout ! Vous devrez probablement attendre 24/48h que les changements se propagent. + ``` + smtp._domainkey CNAME smtp._domainkey.deuxfleurs.fr. + ``` + + 4. L'entrée DMARC pour indiquer le comportement à adopter si les contraintes précédentes ne sont pas satisfaites : + + ``` + _dmarc CNAME _dmarc.deuxfleurs.fr. + ``` + +4. C'est tout ! Vous devrez probablement attendre 24/48h que les changements se propagent. From 227eeeaf363c4b0e6317e59ea02d7e216849cd7f Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 15:24:54 +0100 Subject: [PATCH 08/10] formattage --- content/operations/email.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/content/operations/email.md b/content/operations/email.md index 937bfad..32a44a6 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -79,17 +79,17 @@ Référence : ._domainkey.` + Il est formé de la manière suivante: `._domainkey.` - La valeur est composé de plusieurs champs entre guillemets séparés par des `;`, le champ `v` peut contenir la version de DKIM utilisée (ici `v=DKIM1`) - Le champ `p` contient la clef publique - Les autres champs sont optionels @@ -140,8 +140,8 @@ Références : ``` deuxfleurs.fr. 300 IN TXT "v=spf1 mx:deuxfleurs.fr a:orion.site.deuxfleurs.fr ip4:82.66.80.201 ip6:2a01:e0a:28f:5e60::/64 -all" -adnab.me. 3600 IN TXT "v=spf1 mx mx:adnab.me include:mx.ovh.com -all" -ietf.org. 1794 IN TXT "v=spf1 ip4:50.223.129.192/26 ip6:2001:559:c4c7::/48 a:ietf.org mx:mail.ietf.org ip4:192.95.54.32/27 ip6:2607:5300:60:9ccf::/64 ip4:158.69.166.0/27 ip6:2607:5300:203:1b26::/64 ip4:4.31.198.32/27 ip6:2001:1900:3001:11::/64 include:_spf.google.com ~all" +adnab.me. 3600 IN TXT "v=spf1 mx mx:adnab.me include:mx.ovh.com -all" +ietf.org. 1794 IN TXT "v=spf1 ip4:50.223.129.192/26 ip6:2001:559:c4c7::/48 a:ietf.org mx:mail.ietf.org ip4:192.95.54.32/27 ip6:2607:5300:60:9ccf::/64 ip4:158.69.166.0/27 ip6:2607:5300:203:1b26::/64 ip4:4.31.198.32/27 ip6:2001:1900:3001:11::/64 include:_spf.google.com ~all" ``` @@ -159,7 +159,7 @@ L'enregistrement commence par `v=spf1`, puis contient un ensemble de directives - `ptr` : désuet - Ou bien le mot `all`, qui correspond à tous les expéditeurs dont l'addresse ne correspond pas aux autres règles -Par exemple, dans les exemples ci-dessous, voici comment interpréter les différentes règles: +Par exemple, dans les exemples ci-dessus, voici comment interpréter les différentes règles: - `mx:deuxfleurs.fr` : accepter le message si l'IP de l'expéditeur est trouvable en suivant les enregistrements `MX` associés à `deuxfleurs.fr`. - `ip4:82.66.80.201` : accepter le message si l'IP de l'expéditeur est `82.66.80.201` @@ -188,8 +188,8 @@ Référence : **Exemple d'enregistrements DNS :** ``` -_dmarc.deuxfleurs.fr. 300 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:prod-sysadmin@deuxfleurs.fr; rua=mailto:prod-sysadmin@deuxfleurs.fr; rf=afrf; pct=100; ri=86400" -_dmarc.adnab.me. 3600 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:postmaster@adnab.me!10m; ruf=mailto:postmaster@adnab.me!10m; rf=afrf; pct=100; ri=86400" +_dmarc.deuxfleurs.fr. 300 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; fo=1; aspf=s; ruf=mailto:prod-sysadmin@deuxfleurs.fr; rua=mailto:prod-sysadmin@deuxfleurs.fr; rf=afrf; pct=100; ri=86400" +_dmarc.adnab.me. 3600 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:postmaster@adnab.me!10m; ruf=mailto:postmaster@adnab.me!10m; rf=afrf; pct=100; ri=86400" ``` L'enregistrement peut contenir les champs suivants: @@ -224,8 +224,8 @@ mail, elle ne rentre pas dans le cadre défini par DMARC. **Exemple d'enregistrements reverse DNS :** ``` -201.80.66.82.in-addr.arpa. 86179 IN PTR orion.site.deuxfleurs.fr. -206.118.187.37.in-addr.arpa. 86400 IN PTR shiki.adnab.me. +201.80.66.82.in-addr.arpa. 86179 IN PTR orion.site.deuxfleurs.fr. +206.118.187.37.in-addr.arpa. 86400 IN PTR shiki.adnab.me. ``` From 78e7d973ee2dd0d019f1121a5dfb1b70c2db39d7 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 15:28:59 +0100 Subject: [PATCH 09/10] =?UTF-8?q?pr=C3=A9cisions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/email.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/operations/email.md b/content/operations/email.md index 32a44a6..98766e5 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -171,8 +171,9 @@ Par exemple, dans les exemples ci-dessus, voici comment interpréter les différ **Chez Deuxfleurs :** - L'enregistrement SPF, installé manuellement, contient `mx:deuxfleurs.fr`, ce qui signifie que les addresses IP sont celles présentes dans l'enregistrement `MX` pour `deuxfleurs.fr`. -- Cet enregistrement pointe sur le serveur `smtp.deuxfleurs.fr`, dont l'addresse est mise à jour automatiquement dans le DNS par D53 pour pointer vers l'IPv4 de la machine sur laquelle tourne Postfix. -- L'enregistrement SPF contient également `a:orion.site.deuxfleurs.fr`, qui contient également l'IPv4 de cette machine ; on garde cette règle en second recours au cas où il y aurait un problème avec la précédente. +- Cet enregistrement est fixé manuellement pour pointer sur le serveur `smtp.deuxfleurs.fr`. + L'enregistrement `A` pour `smtp.deuxfleurs.fr` est mis à jour automatiquement par D53 pour pointer vers l'IPv4 de la machine sur laquelle tourne Postfix. +- L'enregistrement SPF contient également `a:orion.site.deuxfleurs.fr`, qui contient également l'IPv4 de cette machine ; on garde cette règle en second recours au cas où il y aurait un problème avec la précédente, pour éviter de rejeter du courrier valide. - L'enregistrement SPF contient également l'addresse IPv4 et la plage d'addresses IPv6 de la box à Orion (site où le serveur SMTP est actuellement déployé), pour en dernier recours éviter de rejeter des mails en cas de soucis avec les règles précédentes. - **L'enregistrement SPF doit être mis à jour manuellement en cas de reconfiguration du serveur SMTP, en particulier si celui-ci change de site ou si les addresses IP changent.** - Pour tous les autres domaines dont le courrier est traîté par les serveurs Deuxfleurs, on utilise un enregistrement SPF `include:deuxfleurs.fr` pour que la gestion des règles soit centralisée via l'enregistrement défini sur les DNS Deuxfleurs. From e45969eb72bac89728a5d13a5cfa6f250cf4ed7e Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 17 Mar 2023 15:29:57 +0100 Subject: [PATCH 10/10] =?UTF-8?q?pr=C3=A9cision?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/operations/email.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/operations/email.md b/content/operations/email.md index 98766e5..cf36d62 100644 --- a/content/operations/email.md +++ b/content/operations/email.md @@ -54,7 +54,7 @@ Deuxfleurs peut héberger vos e-mails, même s'ils ne finissent pas en `@deuxfle - IMAP: Dovecot (fixé sur une machine avec un backup) -## Enregistrements DNS +## Enregistrements DNS de la zone `deuxfleurs.fr` | nom | type | valeur | signification | | --- | ---- | ------ | ------------- |