Outils pour utilisateurs

Outils du site


services:dkim

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
services:dkim [Tue Apr 19 21:52:51 2011]
elessar configurer OpenDKIM
services:dkim [Sat Jun 4 16:51:48 2016] (Version actuelle)
samael Orthographe
Ligne 35: Ligne 35:
 ==== Politique de signature ==== ==== Politique de signature ====
  
-Un nom de domaine peut publier une politique de signature ADSP, qui indique la façon dont il utilise DKIM, en précisant par exemple que tous les messages sont censés être signés, voire même que les messages non signés ou avec une signature incorrecte doivent être jetés. Une telle politique se publient ​dans le DNS au moyen d'un enregistrement de type ''​TXT'',​ par exemple :+Un nom de domaine peut publier une politique de signature ADSP, qui indique la façon dont il utilise DKIM, en précisant par exemple que tous les messages sont censés être signés, voire même que les messages non signés ou avec une signature incorrecte doivent être jetés. Une telle politique se publie ​dans le DNS au moyen d'un enregistrement de type ''​TXT'',​ par exemple :
 <​code>​_adsp._domainkey.example.com. TXT "​dkim=all"</​code>​ <​code>​_adsp._domainkey.example.com. TXT "​dkim=all"</​code>​
  
Ligne 46: Ligne 46:
     * **''​all''​** tous les messages sont censés être signés,     * **''​all''​** tous les messages sont censés être signés,
     * **''​discardable''​** les messages non signés ou avec une signature incorrecte peuvent être jetés.     * **''​discardable''​** les messages non signés ou avec une signature incorrecte peuvent être jetés.
 +
 +==== Exemple ====
 +
 +Voici le genre de requêtes DNS faites par le serveur SMTP destinataire pour récupérer la clef publique de l'​émetteur et sa politique (en supposant que le courriel est issu du domaine ''​example.com''​ :
 +
 +<​code>​
 +# dig default._domainkey.example.com TXT
 +;; ANSWER SECTION:
 +default._domainkey.example.com. 10800 IN TXT    "​v=DKIM1\;​ k=rsa\; p=MIGfMA0GCS…wIDAQAB"​
 +
 +# dig _adsp._domainkey.example.com TXT
 +;; ANSWER SECTION:
 +_adsp._domainkey.example.com. 10800 IN  TXT     "​dkim=all"​
 +</​code>​
 +
 +Avant la mise en place d'une politique DKIM, les serveurs SMTP qui recoivent un courriel du domaine example.com ajouteront cet en-tête au courriel :
 +
 +<​code>​
 +Authentication-Results:​ smtp.destinataire.example.org ​ from=example.com;​
 +domainkeys=neutral (no sig);  from=example.com;​ **dkim=neutral** (no sig)
 +</​code>​
 +
 +Après la mise en œuvre d'une politique DKIM :
 +
 +<​code>​
 +Authentication-Results:​ smtp.destinataire.example.org ​ from=example.com;​
 +domainkeys=neutral (no sig);  from=example.com;​ **dkim=pass** (ok)
 +</​code>​
  
 ===== Mise en œuvre ===== ===== Mise en œuvre =====
Ligne 57: Ligne 85:
 ==== Intégrer OpenDKIM au serveur de courrier ==== ==== Intégrer OpenDKIM au serveur de courrier ====
  
-Installez OpenDKIM, vérifiez qu'il est bien lancé.+Installez OpenDKIM, vérifiez qu'il est bien lancé. La suite dépend de votre serveur de courrier.
  
 === Postfix === === Postfix ===
  
-Le serveur SMTP de Postfix tourne souvent dans un //​[[wp>​chroot]]//​ :​ il faut configurer OpenDKIM pour qu'il écoute sur un socket à l'​intérieur de ce //chroot//. Sous Debien, cela se configure dans ''/​etc/​defaults/​opendkim''​ :​+Le serveur SMTP de Postfix tourne souvent dans un //​[[wp>​chroot]]//​ :​ il faut configurer OpenDKIM pour qu'il écoute sur un socket à l'​intérieur de ce //chroot//. Sous Debian, cela se configure dans ''/​etc/​default/​opendkim''​ :​
 <file bash opendkim>​SOCKET="​local:/​var/​spool/​postfix/​var/​run/​opendkim/​opendkim.sock"​ # Postfix'​ chroot</​file>​ <file bash opendkim>​SOCKET="​local:/​var/​spool/​postfix/​var/​run/​opendkim/​opendkim.sock"​ # Postfix'​ chroot</​file>​
  
 Après cela, créez le répertoire en question puis relancez OpenDKIM : Après cela, créez le répertoire en question puis relancez OpenDKIM :
 <​code>​ <​code>​
-mkdir -/​var/​spool/​postfix/​var/​run/​opendkim/​+install ​-o opendkim -g opendkim -d /​var/​spool/​postfix/​var/​run/​opendkim/​
 # service opendkim restart # service opendkim restart
 </​code>​ </​code>​
Ligne 75: Ligne 103:
 non_smtpd_milters = unix:/​var/​run/​opendkim/​opendkim.sock non_smtpd_milters = unix:/​var/​run/​opendkim/​opendkim.sock
 </​file>​ </​file>​
 +
 +Postfix chiffrera chaque courrier sortant et vérifiera la signature des courriers entrants, le tout en communiquant avec OpenDKIM par le socket que nous venons de définir. Ce rôle doit être joué pour le courrier soumis au démon smtpd ou celui envoyé par la commande sendmail, d'où les deux directives paramétrées dans la configuration de Postfix.
  
 Finalement, ajoutez Postfix au groupe d'​OpenDKIM pour qu'il ait le droit d'​écrire dans son //socket//, puis relancez-le :​ Finalement, ajoutez Postfix au groupe d'​OpenDKIM pour qu'il ait le droit d'​écrire dans son //socket//, puis relancez-le :​
Ligne 112: Ligne 142:
 # service opendkim restart # service opendkim restart
 </​code>​ </​code>​
 +
 +=== Essayer ===
 +
 +Avant de publier votre clef DKIM, essayez d'​envoyer un message vers une adresse externe. Une fois le message reçu, vérifiez qu'il contient bien un en-tête DKIM-Signature.
 +
 +=== Publier votre clef et votre politique DKIM ===
 +
 +Il ne vous reste plus qu'à publier votre enregistrement de clef publique — le contenu du fichier ''​default.txt''​ généré [[#​générer la paire de clefs|tout à l'​heure]] — dans votre zone DNS.
 +
 +Vous pouvez y ajouter un enregistrement de politique ADSP indiquant que tous vos messages sont censés être signés :
 +<​code>​_adsp._domainkey.example.com. TXT "​dkim=all"</​code>​
 +
 +=== Essayer ===
 +
 +Essayez maintenant d'​envoyer un message vers une adresse externe dont le serveur vérifie les signatures DKIM, par exemple chez Yahoo! ou Google. Une fois le message reçu, vérifiez le contenu de l'​en-tête ''​Authentication-Results''​ :​ il doit contenir « ''​dkim=pass''​ ».
 +
 +===== Signer les courriels pour plusieurs noms de domaine =====
 +
 +Si vous voulez signer les courriers pour plusieurs noms de domaine, la configuration mise en place précédemment devra un peu évoluer mais il ne suffira pas de dupliquer les lignes de configuration OpenDKIM. Il faudra plutôt remplacer la déclaration du domaine par une table référençant pour chaque domaine la clef privée à utiliser. Sachez qu'il existe plusieurs formats de tables décrits par le manuel opendkim(8). Voici simplement un exemple :
 +
 +<file - /​etc/​opendkim.conf>​
 +KeyTable ​    ​refile:/​etc/​dkim/​keytable
 +SigningTable refile:/​etc/​dkim/​signingtable
 +</​file>​
 +
 +<file - /​etc/​dkim/​keytable>​
 +default._domainkey.example.com example.com:​default:/​etc/​dkim/​example.com/​default.private
 +default._domainkey.example.org example.org:​default:/​etc/​dkim/​example.org/​default.private
 +</​file>​
 +
 +<file - /​etc/​dkim/​signingtable>​
 +*@example.com default._domainkey.example.com
 +*@example.org default._domainkey.example.org
 +</​file>​
 +
 +La création de la nouvelle clef privée, les droits à lui donner et la diffusion de la clef privée dans la zone du second nom de domaine ne change pas par rapport à ce qui a été expliqué plus tôt.
services/dkim.1303242771.txt.gz · Dernière modification: Tue Apr 19 21:52:51 2011 par elessar