doc/dkim_fr.md
2016-03-30 14:32:52 +02:00

5.7 KiB
Raw Blame History

DKIM

Le protocole SMTP ne prévoit pas de mécanisme de vérification de lexpéditeur. Il est donc possible denvoyer un courrier avec une adresse dexpéditeur factice ou usurpée. SPF et DKIM sont deux mécanismes dauthentification de lexpéditeur dun email.

Notes :

  • Ceci est la deuxième version de ce travail en cours concernant lactivation de DKIM et SPF dans YunoHost.
  • Le DKIM et le SPF empêchent le fait que des courriels puissent être envoyés avec votre nom de domaine à partir dun autre serveur que le serveur légitime. Ceci évite le spam.
  • En attendant que tout ceci soit intégré nativement dans YunoHost, cela nécessitera une modification de la configuration de Postfix dans /etc/postfix/main.cf.
  • Pour fonctionner correctement, DKIM nécessite une modification de votre zone DNS. Noubliez pas que la propagation de linformation DNS une fois modifiée peut prendre jusquà 24h!

Sources :

Dans la suite de ce document, replacez DOMAIN.TLD par votre propre nom de domaine.

Changement dans la 2de révision :

  • La configuration sadapte très facilement à plusieurs noms de domaines simultanés.
  • Mise à jour des paramètres de configuration avec la dernière version de OpenDKIM disponible dans Debian 7.

Rentrons maintenant dans le cœur du sujet :

Avec un script

Utiliser un script tout fait et répondez aux questions :

git clone https://github.com/polytan02/yunohost_auto_config_basic
cd yunohost_auto_config_basic
sudo ./5_opendkim.sh

À la main

On commence par installer les logiciels :

sudo aptitude install opendkim opendkim-tools

Ensuite on configure openDKIM :

sudo nano /etc/opendkim.conf

Texte à insérer dans le document :

AutoRestart Yes
AutoRestartRate 10/1h
UMask 022
Syslog yes
SyslogSuccess Yes
LogWhy Yes

Canonicalization relaxed/simple

ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable

Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256

UserID opendkim:opendkim

Socket inet:8891@127.0.0.1

Selector mail

On connecte ensuite le milter à Postfix :

sudo nano /etc/default/opendkim

Texte à insérer dans le document :

SOCKET="inet:8891@localhost"

Configurer Postfix pour utiliser ce milter :

sudo nano /etc/postfix/main.cf

Texte à insérer à la fin du document :

# OpenDKIM milter
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = inet:127.0.0.1:8891

Créer la structure de dossiers qui contiendra la clé, les hôtes connues et quelques tableaux de données :

sudo mkdir -pv /etc/opendkim/keys/DOMAIN.TLD

On précise les hôtes de confiance :

sudo nano /etc/opendkim/TrustedHosts

Texte à insérer dans le document :

127.0.0.1
localhost
192.168.0.1/24
*.DOMAIN.TLD

Créer le tableau des clés :

sudo nano /etc/opendkim/KeyTable

(Texte à insérer dans le document : faites très attention, ça doit rester ** sur une seule ligne ** pour chaque nom de domaine) mail._domainkey.DOMAIN.TLD DOMAIN.TLD:mail:/etc/opendkim/keys/DOMAIN.TLD/mail.private

Créer un tableau des signatures :

sudo nano /etc/opendkim/SigningTable

Texte à insérer dans le document :

*@DOMAIN.TLD mail._domainkey.DOMAIN.TLD

Maintenant on peut générer nos clés!

sudo cd /etc/opendkim/keys/DOMAIN.TLD
sudo opendkim-genkey -s mail -d DOMAIN.TLD

On affiche les paramètres DNS de DKIM générés par opendkim dans le terminal. Ensuite, on installera la clé DKIM dans notre DNS. Ma zone DNS ressemble à lexemple ci-dessous. (Faites très attention à la casse, le "p=...." doit rester sur une seule ligne dans le DNS et pas sur plusieurs, sinon cela ne sera pas accepté ni reconnu)

cat mail.txt
mail._domainkey IN TXT "v=DKIM1; k=rsa; p=AAAKKUHGCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPFrBM54eXlZPXLJ7EFphiA8qGAcgu4lWuzhzxDDcIHcnA/fdklG2gol1B4r27p87rExxz9hZehJclaiqlaD8otWt8r/UdrAUYNLKNBFGHJ875467jstoAQAB" ; ----- DKIM key mail for DOMAIN.TLD

Et surtout, on noublie pas de donner les bons droits daccès à opendkim aux fichiers créés par root...

chown -Rv opendkim:opendkim /etc/opendkim*

Et enfin, on redémarre le tout :

sudo service opendkim restart
sudo service postfix restart

Pour tester que tout fonctionne bien (noubliez pas que la propagation DNS peut prendre jusquà 24h...) vous pouvez tout simplement vous rendre sur mail-tester.com, envoyer un courriel à ladresse indiquée et cliquer pour voir le résultat.

SPF

Enfin, noubliez pas dajouter une clé SPF dans votre zone DNS (ou un champ TXT si SPF nest pas disponible) :

DOMAIN.TLD 1800 TXT "v=spf1 a:DOMAIN.TLD ip4:<IPv4 publique du serveur> ip6:<IPv6 publique> mx ?all"

Pour rappel, le champ SPF indique que seule la machine utilisant ladresse IP indiquée dans votre zone DNS est autorisée à envoyer des courriels. Si vous navez pas dIPv6 sur votre serveur, supprimez simplement la section ip6:<…>