From 7d9ed75f94b534d4c5e62c5fb18e778a558ed0e2 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 18 Jan 2018 17:10:33 +0100 Subject: [PATCH] =?UTF-8?q?*=20correction=20de=20la=20configuration=20open?= =?UTF-8?q?smtpd:=20suppression=20du=20filtre=20"pause"=20cass=C3=A9,=20mi?= =?UTF-8?q?se=20=C3=A0=20jour=20des=20r=C3=A8gles=20*=20rajout=20de=20note?= =?UTF-8?q?s=20sur=20les=20enregistrements=20DNS=20DKMI=20et=20DMARC=20*?= =?UTF-8?q?=20corrections=20mineures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fr/auto-hebergement/installation.md | 106 ++++++++++++++++++++-------- 1 file changed, 75 insertions(+), 31 deletions(-) diff --git a/fr/auto-hebergement/installation.md b/fr/auto-hebergement/installation.md index 3cf0d4e..3797ae7 100644 --- a/fr/auto-hebergement/installation.md +++ b/fr/auto-hebergement/installation.md @@ -148,8 +148,8 @@ ssh-copy-id -i ~/.ssh/labas.pub -p xxx\ bouvardetpecuchet.flaubert@nomtreslong.lichtenstein.loin ``` 4. Finalement, vous pouvez vous connecter simplement en tapant - `ssh labas` . Remplacez ``labas} par ce que vous avez - indiqué à la variable ``Host} dans le fichier + `ssh labas` . Remplacez "labas" par ce que vous avez + indiqué à la variable "Host" dans le fichier `~/.ssh/config`. @@ -306,10 +306,10 @@ champs : mail.votredomaine.net A 109.190.193.182 Bien sûr, remplacez ``109.190.193.182`` par votre IP. - + * Un champ de type MX qui pointe vers le A précédent - votredomaine.net. MX 1 mail.votredomaine.net.` + votredomaine.net. MX 1 mail.votredomaine.net. Sur votre serveur, modifiez le fichier ``/etc/hosts`` pour rajouter une ligne de ce type : @@ -318,7 +318,7 @@ pour rajouter une ligne de ce type : 127.0.0.1 mail.votredomaine.net ``` -Enfin, ouvrez et redirigez les ports suivants : TCP 25, 143 et 993[^3]. +Enfin, ouvrez et redirigez les ports suivants : TCP 25, 143, 587 et 993[^3]. On peut maintenant passer à l’installation du serveur mail. @@ -340,6 +340,10 @@ chmod 640 /etc/ssl/certs/mail.votreserveur.net.crt C’est tout :) ! +PS: autant opensmtpd que dovecot peuvent utiliser les certificats fournis par Let's Encrypt. Pour générer ces certificats, +voir le chapitre sur [les services web](services_web.html#obtenir-un-certificat-avec-letsencrypt). Dans un premier temps, il est +tout de même plus simple de valider la configuration avec un certificat généré localement... + ### Opensmtpd Hop, on installe opensmtpd à la manière debian. @@ -352,8 +356,6 @@ Pour configurer opensmtpd, on va mettre le contenu suivant dans le fichier ``/etc/smtpd.conf``. ``` -filter filter-pause pause - table aliases file:/etc/aliases pki mail.votreserveur.net key "/etc/ssl/private/mail.votreserveur.net.key" @@ -361,14 +363,14 @@ pki mail.votreserveur.net certificate "/etc/ssl/certs/mail.votreserveur.net.crt" # Deliver listen on lo -listen on eth0 port 25 filter filter-pause hostname mail.votreserveur.net tls pki mail.votreserveur.net +listen on eth0 port 25 hostname mail.votreserveur.net tls pki mail.votreserveur.net listen on eth0 port 587 hostname mail.votreserveur.net tls-require pki mail.votreserveur.net auth accept from local for local alias deliver to maildir "~/Maildir" accept from any for domain "votreserveur.net" deliver to maildir "~/Maildir" # Relay -accept from local for any relay +accept from local for any relay hostname mail.votreserveur.net ``` Vous n’avez quasiment rien à modifier dans ce fichier @@ -395,7 +397,7 @@ Ajoutez maintenant ces lignes à la fin du fichier ``` # listen both ipv4 and ipv6 -listen = *, … +listen = *, :: # we use maildir mail_location = maildir:~/Maildir @@ -428,6 +430,15 @@ maintenant configurés : # service dovecot restart ``` +
+

Vérifier que les processus fonctionnent correctement

+

Opensmtpd a la facheuse tendance à ne pas signaler quand il ne démarre pas correctement. Pour s'assurer que tous les processus sont démarrés, deux solutions:

+
    +
  • service opensmtpd status
  • +
  • ps -ef |grep smtpd
  • +
+
+ ### Ne pas être mis dans les spams Plusieurs dispositifs permettent de montrer que les mails sortant de @@ -443,7 +454,7 @@ ou bien sous forme de champ TXT : votredomaine.net. TXT ``v=spf1 a mx ~all’’ **DKIM** (facultatif) : -On va ici ajouter une signature aux messages. Cette signature sera +On va ici ajouter une signature cryptographique aux messages. Cette signature sera vérifiée à partir d’une indication que l’on rajoutera un peu plus tard à nos champs DNS. @@ -471,6 +482,7 @@ RUN_DKIMPROXY_OUT=1 DKIMPROXY_OUT_CONF="/etc/dkimproxy/dkimproxy_out.conf" DKIMPROXY_OUT_PRIVKEY="/etc/ssl/private/mail.votreserveur.net.key" DKIM_HOSTNAME="votreserveur.net" +DOMAIN="votreserveur.net" ``` Maintenant, c’est le ficher ``/etc/dkimproxy/dkimproxy\_out.conf`` @@ -490,8 +502,6 @@ Bien, reste à indiquer à opensmtpd de signer les mails. Le fichier ``/etc/smtpd.conf`` ressemble désormais à ça : ``` -filter filter-pause pause - table aliases file:/etc/aliases pki mail.votreserveur.net key "/etc/ssl/private/mail.votreserveur.net.key" @@ -500,43 +510,71 @@ pki mail.votreserveur.net certificate "/etc/ssl/certs/mail.votreserveur.net.crt" # Deliver listen on lo listen on lo port 10029 tag DKIM -listen on eth0 port 25 filter filter-pause hostname mail.votreserveur.net tls pki mail.votreserveur.net +listen on eth0 port 25 hostname mail.votreserveur.net tls pki mail.votreserveur.net listen on eth0 port 587 hostname mail.votreserveur.net tls-require pki mail.votreserveur.net auth accept from local for local alias deliver to maildir "~/Maildir" -accept from any for domain "votreserveur.net" deliver to maildir "~/Maildir" +#accept from any for domain "votreserveur.net" deliver to maildir "~/Maildir" # Relay # dkim tagged can be sent -accept tagged DKIM for any relay +accept tagged DKIM for any relay hostname mail.votreserveur.net # if not dkim tagged, send it to dkimproxy -accept from local for any relay via smtp://127.0.0.1:10028 +accept from local for any relay via smtp://127.0.0.1:10028 hostname mail.votreserveur.net ``` Finalement, il faut ajouter un nouveau champ dans vos DNS[^1] auprès de votre registrar. Eh oui, encore! On va en réalité indiquer le nécessaire pour pouvoir vérifier la signature des messages qui auront -un « drapeau » « pubkey ». +un « drapeau » « pubkey ». Il s’agira d’un champ DKIM ou TXT selon ce qui est disponible. Remplissez-le ainsi : * Nom de domaine : `pubkey._domainkey.votredomaine.net` - * Contenu : `v=DKIM; k=rsa; p=.....` + * Contenu : `v=DKIM1; k=rsa; p=.....` Recopiez en fait dans le contenu ce qui est dans le fichier ``/etc/ssl/certs/mail.votreserveur.net.crt`` -**Suis-je considéré comme spam ?** +
+

Longueur du champ DNS TXT

+

Le contenu d'un champ TXT DNS ne peut dépasser 255 caractères, sous + peine d'erreur.

+

Comme la clé utilisée pour la signature est souvent de 2048 bits ou plus, + cela pose problème. La solution est de couper la clé en plusieurs chaînes de + caractères dans le DNS, comme dans l'exemple ci-dessous:

+ + pubkey._domainkey.votredomaine.net IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwP5oG43C/yrFwUvVKQdm1ILpU13QpKldokrTlV59sBp0uqltMDszrSeeLzBMioTx2M7/fodLP1+Iad5ZgwSmnxg/aXys73y9UEz8dAYVCOnC3En+34b1CGjMhp/ph2UISnnMSmAOV6sbiyeZ4Rk4KDjjr8rj5sx9uHmxoDqOpFHu+PRqLlRjKQVu2K3O" "8zMyyf2HB7z+1cHSwMJPd6B0T5V7hZto8Hyv6vNVDzFs8v/Flnp7DqsdVnFT62WMMqIFJTNIzbgAMQFL4+vKUYxFc5Wti8V5o9fF9utPcb/+HWZzpyveJ1pNRDnmj0EIlcO8SMfq8Sr7F/gtoDKEs0nKNKQIDAQAB" + +
+ +Pour être tout à fait complet, un dernier champ DNS peut être rajouté: il s'agit +d'un champ DMARC ("Domain-based Message Authentication, Reporting and Conformance"): + +``` +_dmarc IN TXT "v=DMARC1; p=none;" +``` + + +Enfin, il faut relancer les services impactés par les modifications: + +``` +# service dkimproxy restart +# service opensmtpd restart +``` + +**Suis-je considéré comme spam ?** Pour vérifier que vous n’êtes pas en spam, suivez les indications de -ce site +ce site . + ### Installer un antispam On installe l’antispam et le démon qui va filtrer les mails reçus : ``` -# apt-get install spamd spamassassin +# apt-get install spamd spamassassin razor ``` On modifie la configuration de spampd dans le fichier @@ -554,6 +592,14 @@ DESTHOST=127.0.0.1 DESTPORT=10036 ``` +On active razor qui est un outil collaboratif de détection de spams et qui va +être utilisé par spamassassin: + +``` +razor-admin --create +razor-admin --register +``` + Ensuite, on active spamassassin : ``` @@ -564,8 +610,6 @@ Enfin, on modifie la configuration d’opensmtpd dans le fichier ``/etc/smtpd.conf``, qui avec la configuration dkim donne : ``` -filter filter-pause pause - table aliases file:/etc/aliases pki mail.votreserveur.net key "/etc/ssl/private/mail.votreserveur.net.key" @@ -575,12 +619,12 @@ pki mail.votreserveur.net certificate "/etc/ssl/certs/mail.votreserveur.net.crt" listen on lo listen on lo port 10029 tag DKIM listen on lo port 10036 tag ANTISPAM -listen on eth0 port 25 filter filter-pause hostname mail.votreserveur.net tls pki mail.votreserveur.net +listen on eth0 port 25 hostname mail.votreserveur.net tls pki mail.votreserveur.net listen on eth0 port 587 hostname mail.votreserveur.net tls-require pki mail.votreserveur.net auth accept tagged ANTISPAM for any alias deliver to maildir "~/Maildir" accept from local for local alias deliver to maildir "~/Maildir" -accept from any for domain "votreserveur.net" deliver to maildir "~/Maildir" +#accept from any for domain "votreserveur.net" deliver to maildir "~/Maildir" # Relay #accept from local for any relay # not filter @@ -589,9 +633,9 @@ accept from any for domain "votreserveur.net" deliver to maildir "~/Maildir" accept from any for domain "votreserveur.net" relay via "smtp://127.0.0.1:10035" # dkim tagged can be sent -accept tagged DKIM for any relay +accept tagged DKIM for any relay hostname mail.votreserveur.net # if not dkim tagged, send it to dkimproxy -accept from local for any relay via smtp://127.0.0.1:10028 +accept from local for any relay via smtp://127.0.0.1:10028 hostname mail.votreserveur.net ``` ### Ajouter un nouveau compte mail @@ -627,9 +671,9 @@ demandés : * Adresse électronique : votre_identifiant@votredomaine.net * Nom d’utilisateur : l’identifiant choisi à la création d’un compte mail (voir [Ajouter un nouveau compte mail](#ajouter-un-nouveau-compte-mail)) - * Serveur entrant : IMAP - * port : 143 - * SSL : STARTTLS + * Serveur entrant : IMAP + * port : 143 (ou 993) + * SSL : STARTTLS (ou SSL/TLS) * Serveur sortant : SMTP * port : 587 * SSL : STARTTLS -- GitLab