Vous devez configurer les enregistrements DNS pour que dkim fonctionne. Pourquoi est-ce nécessaire ? Générer une paire de clés à l'aide d'OpenSSL

À l'aide d'une signature DKIM, le destinataire d'un e-mail peut vérifier qu'il provient bien de l'expéditeur prévu.

Vous pouvez configurer une signature DKIM pour les e-mails envoyés depuis votre domaine : créez simplement un enregistrement TXT pour votre domaine avec une clé de signature publique. Pour signer les lettres que vous n'envoyez pas via les serveurs Yandex, vous avez également besoin d'un enregistrement TXT avec une clé secrète. Il doit être configuré sur le serveur utilisé pour envoyer les e-mails.

Si vous avez délégué votre domaine à Yandex, une signature DKIM avec une clé publique sera configurée automatiquement. Vous pouvez visualiser et modifier ses paramètres dans l'éditeur DNS de Mail pour un domaine.

Les valeurs des clés publique et privée peuvent être obtenues en utilisant (disponible dans l'interface uniquement clé publique). Vous pouvez généralement gérer les enregistrements TXT sur la page Gestion DNS sur le site Internet de la société vous proposant des services d'hébergement DNS.

    Recevez un enregistrement TXT avec la clé publique dans Mail pour le domaine :

    1. DANS colonne de droite pages trouver la section Signature numérique DKIM et cliquez sur le lien Afficher le contenu du message. Cette section peut ne pas être présente si une signature DKIM a déjà été configurée précédemment. Dans ce cas, la clé publique est visible dans la valeur de l'entrée dans l'éditeur DNS.

      L'entrée se compose de trois parties :

      • Nom de l'entrée ("mail._domainkey"). Certains panneaux de contrôle nécessitent que vous précisiez nom et prénom sous-domaine, par exemple « mail._domainkey.votredomaine.tld ».

        Options DKIM :

        V = DKIM1 ; k=rsa; t = s ; p=MIGfMA0GCSEBtaCOteH4EBqJlKpe...

        Le paramètre p contient la clé publique DKIM.

        Référence de domaine ( "Courriel de clé DKIM pour votredomaine.tld").

    Copiez le contenu de l'entrée.

    Ouvrir la page Modification DNS dans le panneau de contrôle du site Web de la société vous fournissant des services d'hébergement DNS.

    Créez un enregistrement TXT avec avec les valeurs suivantes champs :

    • Le nom est "mail._domainkey" . Dans certains panneaux de contrôle DNS, la clé publique DKIM nécessite également que le domaine soit spécifié, par ex. "mail._domainkey.votredomaine.tld".

      Valeur - Paramètres DKIM avec une clé publique reçue dans Mail pour le domaine.

      Par exemple, "v=DKIM1 ; k=rsa; t = s ; p=MIGfMA0GCSEBtaCOteH4EBqJlKpe...".

    Pour signer des lettres envoyées depuis les serveurs, ne propriété de Yandex, vous en avez également besoin (au sein de notre service, cela ne peut être fait qu'en utilisant l'API Mail du domaine). La clé reçue doit être précisée sur le serveur via lequel les lettres sont envoyées.

    Attendez que les modifications DNS prennent effet. Ce processus peut prendre jusqu'à 72 heures.

Instructions pour mettre en place une signature DKIM auprès de certains hébergeurs

reg.ru

RU-CENTRE (nic.ru)

masterhost.ru

Domaine sur sweb.ru

Domaine sur majordomo.ru

Panneau de contrôle https://control.majordomo.ru/

Mise en place de SPF, DKIM, DMARC, FBL

Entrée SPF

Un enregistrement SPF protège votre domaine contre l'usurpation d'identité et empêche les e-mails envoyés à partir de vos adresses d'être inclus dans le spam. Le SPF est-il configurable par adresse ? utilisé dans l'enveloppe-de (enveloppe SMTP). Vous pouvez en savoir plus sur l’enregistrement SPF. Pour en savoir plus sur les idées fausses courantes sur le SPF et les erreurs courantes lors de sa configuration, lisez la lecture.

Pour configurer un enregistrement SPF :

  1. Rendez-vous sur le site du fournisseur qui héberge la zone DNS de gestion de votre domaine ;
  2. Entrez votre nom d'utilisateur et votre mot de passe pour accéder au « Panneau de configuration » ;
  3. Accédez à la section Gestion des zones DNS du domaine requis ;
  4. Ajoutez un nouvel enregistrement TXT. Un exemple d'une telle entrée : "v=spf1 ip4:165.165.165.0/24 ip4:136.136.136.0/20 a mx ~tous"

Certains fournisseurs mettent eux-mêmes des guillemets sur l'enregistrement SPF, vous pouvez donc vérifier la nécessité de guillemets auprès de votre fournisseur d'hébergement ou faire de même avec d'autres enregistrements TXT du domaine, s'ils sont présents.

Si vous ne savez pas où se trouvent les paramètres d'enregistrement SPF sur votre fournisseur, utilisez les instructions destinées aux utilisateurs de biz.mail.ru. N'oubliez pas de remplacer le contenu de l'enregistrement TXT par ce qui vous concerne.

Postmaster Mail.ru vérifie la présence d'un enregistrement SPF une fois par semaine.

Signature DKIM

Pour configurer la signature DKIM :

1. Générez une paire de clés DKIM (clés privées et publiques).

Générer une paire de clés à l'aide d'OpenSSL

Générer une paire de clés à l'aide d'OpenDKIM

Pour générer une clé privée dans ligne de commande entrez : openssl genrsa -out privatekey.pem 1024, où « privatekey.pem » est le fichier de clé privée, « 1024 » est la longueur de la clé.

Exemple de résultat :

Pour générer une clé publique, entrez la commande : openssl rsa -pubout -in privatekey.pem -out publickey.pem, où « publickey.pem » est le fichier de clé publique

Exemple de résultat :


Pour générer des clés, utilisez la commande opendkim-genkey -d exemple.ru -s mail, où « example.ru » est votre domaine, « mail » est le sélecteur.

Dans ce cas, les fichiers mail.private avec une clé privée et mail.txt avec une clé publique prête à l'emploi au format d'enregistrement DNS seront créés dans le répertoire courant.

2. Lieu clé privéeà un fichier dans le répertoire avec accès limité sur votre serveur d'envoi. Veuillez noter serveur de messagerie doit avoir accès à ce fichier.

3. Activez la prise en charge DKIM sur votre serveur de messagerie. Certains serveurs disposent d'un support intégré, tandis que d'autres peuvent le mettre en œuvre à l'aide de programmes gratuits.

4. Accédez au site Web du fournisseur qui dispose de la zone DNS pour gérer votre domaine.

5. Entrez votre nom d'utilisateur et votre mot de passe pour accéder au « Panneau de configuration ».

6. Accédez à la section Gestion des zones DNS du domaine.

7. Ajoutez un nouvel enregistrement TXT, indiquant la clé publique générée dans la balise « p ». Veuillez noter que la mise à jour de votre entrée peut prendre jusqu'à 48 heures. Exemple d'enregistrement TXT :

8. Certains bureaux d'enregistrement mettent eux-mêmes des guillemets pour l'enregistrement TXT (SPF et DKIM), donc pour être sûr, saisissez-le ou copiez-le comme indiqué dans les instructions - avec des guillemets.

L'exactitude de la configuration de la signature DKIM peut être déterminée par la présence de la signature DKIM-Signature dans les en-têtes de l'e-mail, ainsi que par la ligne dkim=pass dans l'en-tête « Authentication-Results ».

Exemple de signature DKIM dans les en-têtes d'e-mails :


Dans la signature DKIM, le paramètre [d] doit correspondre au nom de votre domaine pour lequel vous souhaitez afficher les statistiques dans Postmaster Mail.ru.

Si vous ne savez pas comment ajouter une signature à une lettre, contactez votre administrateur du système ou contactez votre support d'hébergement.

Sans signature DKIM, il est impossible de visualiser les statistiques dans Postmaster.

DMARC

Pour commencer la configuration, suivez le lien « Paramètres » et cliquez sur « spécifier » à côté du nom de domaine.



Dans la fenêtre qui apparaît, saisissez l'adresse e-mail, vers lequel vous souhaitez recevoir des rapports et cliquez sur « Enregistrer ». Sur adresse spécifiée Un email de confirmation sera envoyé. Dès que vous confirmerez votre adresse en cliquant sur le lien présent dans la lettre, des rapports vous seront envoyés.

  • Administration de noms de domaine,
  • Spam et antispam
  • Salutations, Habr! Cet article fournira des instructions pour configurer les enregistrements DKIM/SPF/DMARC. Qu'est-ce qui m'a poussé à écrire cet article absence totale documentation en russe. Tous les articles sur ce sujet que j'ai trouvés étaient extrêmement peu informatifs.

    1. DKIM

    DKIM (DomainKeys Identified Mail) est une méthode d'authentification de courrier électronique basée sur la vérification de signature numérique. La clé publique est stockée dans l'enregistrement TXT du domaine.

    Pourquoi est-ce nécessaire ?

    DKIM est requis pour services postaux pourrait vérifier si l'expéditeur est fiable ou non. Ceux. protège le destinataire de la lettre de diverses lettres frauduleuses (qui sont envoyées avec une substitution de l'adresse de l'expéditeur).

    Configuration de la signature DKIM et des enregistrements DNS

    Pour ce faire, nous devons créer une paire de clés :

    Openssl genrsa -out private.pem 1024 //génére une clé secrète de longueur 1024
    openssl rsa -pubout -in private.pem -out public.pem //obtenir la clé publique du secret
    Ou vous pouvez utiliser un service en ligne, ce que je vous déconseille fortement.

    Un exemple d'entrées est
    mail._domainkey.your.tld TXT "v=DKIM1; k=rsa; t=s; p=<публичный ключ>"


    mail - sélecteur. Vous pouvez spécifier plusieurs enregistrements avec différents sélecteurs, où chaque enregistrement aura sa propre clé. Utilisé lorsque plusieurs serveurs sont impliqués. (chaque serveur a sa propre clé)
    v - Version DKIM, prend toujours la valeur v=DKIM1 . (argument obligatoire)
    k - type de clé, toujours k=rsa . (Par au moins, sur moment actuel)
    p - clé publique codée en base64. (argument obligatoire)
    t - Drapeaux :
    t=y - mode test. Ceux-ci se distinguent des non signés et ne sont nécessaires que pour suivre les résultats.
    t=s - signifie que l'entrée ne sera utilisée que pour le domaine auquel l'entrée appartient, ce qui n'est pas recommandé si des sous-domaines sont utilisés.
    possible:
    h - algorithme de hachage préféré, peut prendre les valeurs h=sha1 et h=sha256
    s - Type de service utilisant DKIM. Accepte les valeurs s=email (e-mail) et s=* (tous les services) La valeur par défaut est "*".
    ; - séparateur.

    Il vaut également la peine d'enregistrer un enregistrement ADSP, qui vous permet de comprendre si la lettre doit être signée ou non.
    _adsp._domainkey.example.com. TXT "dkim=tous"

    Il peut y avoir trois valeurs :
    all - Toutes les lettres doivent être signées
    jetable - N'acceptez pas de lettres sans signature
    inconnu - Inconnu (ce qui revient essentiellement à aucune entrée)

    2. FPS

    SPF (Sender Policy Framework) est une extension du protocole d'envoi d'e-mails via SMTP. SPF est défini dans la RFC 7208 (Wiki). Si dans un langage simple, alors SPF est un mécanisme permettant de vérifier l'authenticité d'un message en vérifiant le serveur de l'expéditeur. Quant à moi, cette technologie utile en conjonction avec d'autres (DKIM et DMARC)

    Configuration des enregistrements SPF

    Un exemple d’enregistrement SPF courant est your.tld. TXT "v=spf1 a mx ~all"
    Ici:
    v=spf1 est la version, toujours spf1
    a - permet d'envoyer des lettres à partir de l'adresse spécifiée dans les enregistrements A et/ou AAAA du domaine de l'expéditeur
    mx - vous permet d'envoyer des lettres à partir de l'adresse spécifiée dans l'enregistrement mx du domaine
    (pour a et mx, vous pouvez spécifier un autre domaine, par exemple, si la valeur est a:example.com , l'entrée ne sera pas autorisée du domaine de l'expéditeur, mais exemple.com)
    Vous pouvez également ajouter des adresses IP individuelles en utilisant ip4 : et ip6 :. Par exemple, ip4:1.1.1.1 ip6: 2001:0DB8:AA10:0001:0000:0000:0000:00FB . Il existe également include : (include:spf.example.com), qui vous permet de vous connecter en plus enregistrement spf un autre domaine. Tout cela peut être combiné via un espace. Si vous avez simplement besoin d'utiliser un enregistrement d'un autre domaine sans y ajouter, il est préférable d'utiliser la redirection : (redirect:spf.example.com)
    -all - signifie ce qui arrivera aux lettres qui ne sont pas conformes à la politique : "-" - rejeter, "+" - ignorer, "~" - contrôles supplémentaires, "?" - neutre.

    3.DMARC

    Authentification, reporting et conformité des messages basés sur le domaine (identification des messages, reporting et détermination de la conformité) nom de domaine) ou DMARC est Fiche de données, créé par un groupe d'organisations, conçu pour réduire le nombre de spams et de phishing e-mails, basé sur l'identification domaines de messagerie expéditeur en fonction des règles et caractéristiques spécifiées sur le serveur de messagerie du destinataire (Wiki). Autrement dit, le serveur de messagerie décide lui-même bon message ou mauvais (par exemple, sur la base des politiques ci-dessus) et agit conformément au dossier DMARC.

    Configuration des enregistrements DMARC

    Une entrée typique ressemble à ceci : _dmarc.your.tld TXT "v=DMARC1; p=none; rua=mailto : [email protégé]"
    Il ne prend aucune mesure autre que la préparation et la présentation d'un rapport.

    Maintenant, en savoir plus sur les balises :
    v - version, prend la valeur v=DMARC1 (paramètre obligatoire)
    p - règle pour le domaine. ( Paramètre obligatoire) Peut prendre les valeurs none , quarantaine et rejet , où
    p=none ne fait rien d'autre que générer des rapports
    p=quarantine ajoute l'e-mail au SPAM
    p=reject rejette la lettre
    La balise sp est responsable des sous-domaines et prend les mêmes valeurs que p
    aspf et adkim permettent la correspondance d'enregistrements et peuvent prendre les valeurs r et s, où r est détendu, une vérification plus douce que s est stricte.
    pct est responsable du nombre de lettres à filtrer, indiqué en pourcentage, par exemple, pct=20 filtrera 20% des lettres.
    rua - vous permet d'envoyer des rapports quotidiens par email, exemple : rua=mailto : [email protégé], vous pouvez également spécifier plusieurs emails séparés par un espace (rua=mailto: [email protégé] mail à : [email protégé])

    Exemple de rapport

    1.1.1.1 1 aucun votre.tld votre.tld passer votre.tld passer 1.1.1.1 1 aucun transmis votre.tld votre.tld passer votre.tld passer


    ruf - rapports de lettres qui n'ont pas réussi le contrôle DMARC. Sinon, tout est comme ci-dessus.

    Épilogue

    Nous avons appris à configurer DKIM/SPF/DMARC et à résister à l'usurpation d'identité. Malheureusement, cela ne garantit pas la sécurité en cas de piratage d’un serveur ou d’envoi d’emails vers des serveurs ne prenant pas en charge ces technologies. Heureusement, les services populaires les soutiennent toujours (et certains sont les initiateurs de ces politiques).

    Cet article ne contient que des instructions pour créer vous-même des enregistrements, une sorte de documentation. Il n'y a pas d'exemples prêts à l'emploi, car chaque serveur est unique et nécessite sa propre configuration.

    Je serai heureux de recevoir des critiques et des corrections constructives.

    Cet article abordera la configuration d'une signature numérique pour votre domaine.

    Technologie Courrier identifié par DomainKeys(DKIM) est une méthode d'authentification des emails : un en-tête est ajouté à l'email envoyé Signature DKIM, qui contient des informations cryptées sur le domaine de l'expéditeur. Le contenu de l'en-tête est donc Signature DKIM confirme l'expéditeur de la lettre. Du côté du destinataire, la signature est automatiquement vérifiée, après quoi " listes blanches" Et " listes noires". Après avoir évalué la réputation de l'expéditeur de la lettre, cette lettre peut être acceptée et placée dans le dossier " Courrier indésirable", ou envoyé pour vérification supplémentaire.

    Mise en place de DKIM lors de l'envoi de newsletters via l'hébergement Beget

    Hébergé Engendrer peut être personnalisé Signature DKIM pour les modes d'envoi de lettres suivants :

    • à travers Serveur SMTP;
    • via la fonction PHP mail(), alias envoyer un courrier

    Pour créer Signature DKIM pour les lettres envoyées en PHP mail(), sera requis adresse IP dédiée- son coût est de 660 roubles/an, vous pouvez vous connecter depuis, dans la section. Ensuite, pour configurer une signature DKIM, vous devez rédiger un ticket à partir de la section, en y indiquant le domaine du site.

    Pour créer Signature DKIM pour les lettres envoyées par voie SMTP, vous devez rédiger un ticket dans la section , en indiquant le domaine du site qu'il contient. La mise en place de DKIM pour SMTP n'est possible que sur les comptes payants (au moins pendant un mois selon le plan tarifaire en vigueur). La mise en place d'une signature DKIM de notre part n'est possible que si les mailings sont envoyés via notre hébergement et que le courrier fonctionne via nous, c'est-à-dire que l'enregistrement MX du domaine aura les valeurs suivantes :

    mx1.site mx2.site

    Mise en place de DKIM lors de l'envoi de newsletters via un service tiers (en prenant l'exemple d'unisender.com)

    Voyons comment effectuer les saisies nécessaires en utilisant l'exemple du service unisender.com. Pour les autres services de messagerie, les instructions seront similaires.

    Il y a quelques années, j'ai écrit un article « Comment éviter que les e-mails ne finissent dans la boîte de spam ».

    Hier, mes collègues et moi avons mis en place une autre méthode de vérification des e-mails appelée DKIM. Il peut être utilisé en conjonction avec SPF.

    Résultats d'authentification : mxfront7.mail.yandex.net ; spf = réussite(mxfront7.mail.yandex..85.212.180 comme expéditeur autorisé) smtp.mail=askme@site ; dkim=passer header.i=@site

    La différence est que SPF confirme l'adresse IP de l'expéditeur. DKIM ne prend pas en compte l'adresse IP, mais confirme le fait que l'expéditeur dispose d'une clé secrète qui peut être vérifiée avec la clé publique spécifiée dans l'enregistrement DNS.

    Yandex, apparemment, considère DKIM comme un moyen prioritaire de lutter contre le spam. Voir l'article « Signature numérique - Yandex.Help : Mail ». Pour cette raison, seuls les emails vérifiés via DKIM reçoivent une jolie petite médaille à côté de l'adresse de l'expéditeur.

    La vérification DKIM est beaucoup plus simple pour le destinataire que SPF. Puisque pour vérifier DKIM, vous ne devez demander qu'un seul enregistrement DNS, par exemple pour mon domaine default._domainkey.site, et obtenir à partir de là la clé publique du domaine, qui peut être utilisée pour vérifier le hachage d'en-tête, c'est-à-dire signature numérique(ce qui prouvera que je suis le propriétaire de la clé secrète).

    Dans le cas du SPF, la procédure de vérification est plus compliquée, car vous devez prendre un enregistrement DNS, à partir duquel vous trouverez une liste d'adresses IP autorisées et des liens vers d'autres enregistrements SPF, qui doivent également être traités de manière récursive, etc. Vérifiez ensuite l'adresse IP de l'expéditeur avec cette liste. Dans le cas où une lettre transite par plusieurs serveurs, il convient de tous les signer.

    Mais pour l'expéditeur, au contraire, la mise en place du support SPF est beaucoup plus simple que la mise en place de DKIM. Comme je l'ai déjà écrit, pour configurer SPF il vous suffit de créer une entrée :

    site web. DANS TXT "v=spf1 a include:_spf.google.com ~all"

    Cette ligne vous permet d'envoyer du courrier uniquement à partir de l'adresse IP du domaine spécifié dans l'enregistrement A et depuis les serveurs de Google.

    Comment configurer DKIM dans Google Domain Services

    Tout est écrit en détail dans ce manuel :
    http://support.google.com/a/bin/answer.py?hl=ru&answer=174124
    bref, alors

    1. Aller à page souhaitée dans le panneau des propriétaires de domaine Google
    2. Sélectionnez un domaine et obtenez le code d'intégration dans le DNS
    3. Insérer code requis enregistrement de sous-domaine en TXT. Par exemple, j'ai google2._domainkey.site
    4. Activer
    5. Profit. Vos e-mails envoyés depuis Gmail sont désormais signés avec votre clé de domaine.

    Comment configurer la signature des lettres du serveur lorsqu'elles sont envoyées via PHP

    Si vous envoyez des emails en PHP via Serveurs SMTP Google, tout a déjà été fait. Google utilise une signature lors de l'envoi via SMTP.

    Si vous envoyez du courrier à l'aide de la fonction de messagerie, vous devez installer le package dkim-filter sur le système.

    Miam, installez dkim-filter

    Aptitude à installer le filtre Dkim

    Générez ensuite la clé via dkim-genkey. Les paresseux comme nous peuvent l'utiliser pour tous les domaines du serveur. La clé publique générée dans le fichier .txt doit être ajoutée aux enregistrements du domaine DNS.

    Les utilisateurs Linux peuvent taper la commande # dig google2._domainkey.site TXT

    Ou envoyez une lettre à une boîte aux lettres dans Google ou Yandex.

    Dans Gmail, si vous cliquez sur la flèche, vous verrez quelque chose comme

    Conclusion

    Je voudrais attirer votre attention sur quelques points supplémentaires.

    Si vous utilisez la fonctionnalité Gmail" Envoyez des e-mails comme :", c'est-à-dire ne les envoyez pas directement depuis votre boîte mail. Gmail signera ensuite DKIM avec la boîte aux lettres de l'expéditeur d'origine, et non avec votre domaine.

    Si vous êtes absolument sûr d'avoir configuré DKIM avec succès, vous pouvez empêcher d'autres serveurs d'accepter des e-mails avec votre domaine, mais sans signature, en ajoutant une entrée ADSP :

    _adsp ._domainkey DANS TXT "dkim=all"

    Mise à jour

    J'ai complètement oublié de vous expliquer comment attribuer des signatures de domaine à des domaines spécifiques. adresses e-mail. Le fait est que vous pouvez envoyer du courrier depuis le domaine X, via un serveur de messagerie du domaine Y, et le signer avec la clé du domaine Z. Et cela fonctionnera même =). Les clés sont configurées dans le fichier /etc/mail/dkim-milter/keys/keypath. Ici, il convient de prêter attention à la partie des lignes qui spécifie le modèle d'expéditeur , elle peut contenir un astérisque, en partie ou dans la totalité du domaine. Si vous spécifiez simplement un astérisque, toutes les lettres seront signées avec cette clé et ce domaine.

    # motif-expéditeur:domaine-de signature:chemin de clé # *:exemple.com:sélecteur *@site web:site:/etc/mail/dkim-milter/keys/default # voici toutes sortes d'autres domaines, et ci-dessous se trouve le domaine de signature par défaut. * :verytec.ru:/etc/mail/dkim-milter/keys/default

    Un lecteur attentif a remarqué que le chemin vers la clé secrète est le même pour tous les domaines. Cela ne gêne en rien le fonctionnement des signatures.

    Bonne chance à vous =)



    Des questions ?

    Signaler une faute de frappe

    Texte qui sera envoyé à nos rédacteurs :