Commit 7d9ed75f authored by unknown's avatar unknown
Browse files

* correction de la configuration opensmtpd: suppression du filtre "pause"...

* correction de la configuration opensmtpd: suppression du filtre "pause" cassé, mise à jour des règles
* rajout de notes sur les enregistrements DNS DKMI et DMARC
* corrections mineures
parent 074a5ac1
......@@ -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 <aliases> 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
```
<div class="alert alert-warning">
<h4>Vérifier que les processus fonctionnent correctement</h4>
<p>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:</p>
<ul>
<li><code>service opensmtpd status</code></li>
<li><code>ps -ef |grep smtpd</code></li>
</ul>
</div>
### 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 <aliases> 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 ?**
<div class="alert alert-warning">
<h4>Longueur du champ DNS TXT</h4>
<p>Le contenu d'un champ TXT DNS ne peut dépasser 255 caractères, sous
peine d'erreur.</p>
<p>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:</p>
<code>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"</code>
</div>
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 <https://www.mail-tester.com>
ce site <https://www.mail-tester.com>.
### 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 <aliases> deliver to maildir "~/Maildir"
accept from local for local alias <aliases> 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
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment