Comme vous le savez peut-être, l'usurpation d'adresse électronique permet aux attaquants de se faire passer pour quelqu'un d'autre afin d'en tirer un profit illégal. Par exemple, je n'utilise que l'adresse [email protected] pour communiquer, mais quelqu'un pourrait créer une adresse électronique usurpée, par exemple [email protected], pour tromper quelqu'un. C'est ce qu'on appelle l'usurpation d'adresse e-mail avec de faux en-têtes comme suit :
Date : Thu, 24 Oct 2021 12:46:10
De : Hébergement web gratuit [email protected]
Reply-To : [email protected]
A :
Les en-têtes corrects ne sont souvent pas vérifiés par les serveurs de messagerie récepteurs, et my@personal_gmail_com peut penser que l'e-mail est de moi. Le problème, c'est que je n'utilise pas du tout opensourceflare.com pour la communication par courriel. Alors comment puis-je empêcher le trafic d'emails illégitimes sur mon domaine ? Dans ce tutoriel, je vais expliquer comment configurer les paramètres DNS qui indiquent aux serveurs de messagerie récepteurs que ce domaine n'est pas configuré pour l'envoi d'e-mails et que l'attaquant envoie malicieusement des e-mails en mon nom.
Paramètres DNS pour éviter l'usurpation d'identité et le hameçonnage pour les domaines non utilisés.
Configuration d'un enregistrement MX de DNS
MX est l'acronyme de mail exchange. Il dirige les e-mails vers le bon serveur de messagerie. Souvent, nous avons plusieurs enregistrements MX pour un domaine. Par exemple, vous pouvez utiliser la commande host ou la commande dig pour obtenir une liste de tous les enregistrements MX :
$ host -t MX {your-domain-here}
$ dig MX {your-domain-here}
$ dig +short MX {your-domain-here}
$ host -t MX hebergementwebgratuit.com
$ dig +short MX hebergementwebgratuit.com
Enregistrements MX
Action à entreprendre
Ainsi, lorsque vous n'envoyez et ne recevez pas de courrier électronique pour votre domaine, vous réglez MX sur . Par exemple :
$ dig +short MX opensourceflare.com
$ host -t MX opensourceflare.com
Voici ce que je vois :
opensourceflare.com mail is handled by 0 .
Voici comment configurer les enregistrements MX pour le domaine dans votre fichier de zone :
opensourceflare.com. 1 IN MX 0 .
Donc maintenant, si quelqu'un essaie d'envoyer ou d'usurper, disons en utilisant [email protected], il obtiendra une erreur en fonction du logiciel smptd :
DNS Error: 913429 DNS type 'mx' lookup of opensourceflare.com responded with code NOERROR The domain opensourceflare.com doesn't receive email according to the administrator: returned Null MX https://www.rfc-editor.org/info/rfc7505
Des réponses plus inamicales se présentent comme suit :
Réponse de Gmail
Configuration d'un enregistrement DNS SPF
Utilisez Sender Policy Framework (SPF) pour protéger votre domaine contre l'usurpation d'identité et éviter que vos messages sortants soient considérés comme du spam. Voici à quoi ressemble le SPF pour hebergementwebgratuit.com où seuls AWS SES et Google/Gmail sont autorisés à envoyer un courriel au nom de mon domaine. Il contient une liste de toutes les adresses IP ou inclut un autre enregistrement DNS :
$ host -t TXT {your_domain_com}
$ dig TXT {your_domain_com}
$ host -t TXT hebergementwebgratuit.com
$ dig TXT hebergementwebgratuit.com
Exemples de résultats :
cyberciti.biz descriptive text "v=spf1 include:amazonses.com include:_spf.google.com ~all"
Les adresses IP suivantes proviennent des directives includes et IP4/IP6 de l'enregistrement SPF de ce domaine :
cyberciti.biz. amazonses.com 199.255.192.0/22 199.127.232.0/22 54.240.0.0/18 69.169.224.0/20 23.249.208.0/20 23.251.224.0/19 76.223.176.0/20 54.240.64.0/19 54.240.96.0/19 52.82.172.0/22 _spf.google.com _netblocks.google.com 35.190.247.0/24 64.233.160.0/19 66.102.0.0/20 66.249.80.0/20 72.14.192.0/18 74.125.0.0/16 108.177.8.0/21 173.194.0.0/16 209.85.128.0/17 216.58.192.0/19 216.239.32.0/19 _netblocks2.google.com 2001:4860:4000::/36 2404:6800:4000::/36 2607:f8b0:4000::/36 2800:3f0:4000::/36 2a00:1450:4000::/36 2c0f:fb50:4000::/36 _netblocks3.google.com 172.217.0.0/19 172.217.32.0/20 172.217.128.0/19 172.217.160.0/20 172.217.192.0/19 172.253.56.0/21 172.253.112.0/20 108.177.96.0/19 35.191.0.0/16 130.211.0.0/22
Action à entreprendre
Maintenant, regardez les enregistrements SPF de opensourceflare.com :
$ host -t TXT opensourceflare.com
Sorties :
opensourceflare.com descriptive text "v=spf1 -all"
Le SPF est toujours configuré pour échouer. En d'autres termes, aucune adresse IP n'est autorisée à envoyer un courriel au nom de mon domaine. Voici comment définir cet enregistrement dans le fichier de zone :
opensourceflare.com. 1 IN TXT "v=spf1 -all"
Configuration d'un enregistrement DKIM
Nous avons mis en place un enregistrement DNS DKIM pour empêcher l'usurpation d'identité sur les messages sortants envoyés depuis votre domaine. Par exemple :
$ host -t TXT google._domainkey.hebergementwebgratuit.com
Exemples de résultats :
google._domainkey.cyberciti.biz descriptive text "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlXtL1tL+0WrwdEldIO0ZED1hmaQJ9AcAA/eN3wMDUd723+MSR+vIqOrp2Bu5rKIPvm3IdADx+Av5UGmQ1UwU/TuJR+T+p5nW9bymUgJGqM8pp+Pg+YPsD4EEu+ClBwt8gExE6BYM/CK17djlrBnv9vbzUkK9IvhGr1UggUaz9N3BDCPRq/0PAhDYiwm18QN+s" "S8j8I3Iuv25oSUz20NYQ2R4PEZFN6dQcPuuwYCC0Ntjip2r/vonwv4LBFgqjEBJfyeuPlGiE+KagxtAI5s1lvIGNGw937vT5FkpmMXe0czJKrKEm0j/RiKb1fgYbjGJndX9x2uNELcqCwP2NQ06PwIDAQAB"
J'ai donc mis en place DKIM qui ajoute une signature chiffrée à l'en-tête de tous les messages sortants. Les serveurs de messagerie qui reçoivent les messages signés utilisent DKIM pour décrypter l'en-tête du message et vérifier que le message n'a pas été modifié après son envoi.
Action à entreprendre
Voici comment configurer DKIM pour votre domaine. Par exemple, l'entrée de la zone DNS :
*._domainkey.opensourceflare.com. 1 IN TXT "v=DKIM1; p="
Vérifiez-le :
$ host -t TXT *._domainkey.opensourceflare.com
Exemples de résultats :
*._domainkey.opensourceflare.com descriptive text "v=DKIM1; p="
Où,
- *._domainkey.opensourceflare.com Le sélecteur DKIM est réglé sur wildcard.
- v=DKIM1, Identifie l'enregistrement récupéré comme un enregistrement DKIM. Il doit s'agir de la première balise de l'enregistrement.
- p : Il est à nouveau défini comme . Cela signifie que la clé publique a été révoquée ou n'est pas définie par défaut. En d'autres termes, DKIP est mis à pour empêcher l'usurpation d'adresse électronique pour tous les sélecteurs.
Configurer la politique DMARC
L'enregistrement DNS DMRC permet d'éviter que l'adresse From : d'un message électronique soit falsifiée par un attaquant. DMARC vous permet également de demander des rapports aux serveurs de messagerie afin de détecter les éventuels problèmes d'authentification et les activités malveillantes pour les messages envoyés depuis votre domaine. Voici comment cela se présente pour mon domaine :
$ dig TXT _dmarc.hebergementwebgratuit.com
$ host -t TXT _dmarc.hebergementwebgratuit.com
Exemples de résultats :
_dmarc.cyberciti.biz descriptive text "v=DMARC1; p=reject; pct=100; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1; ri=2419200;"
Action à entreprendre
Configurez dmarc comme suit pour votre domaine dans le fichier de zone dns :
_dmarc.opensourceflare.com. 1 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"
Où,
- _dmarc.opensourceflare.com. : Configurer DMARC.
- v=DMARC1; : Il doit s'agir de la première balise de la liste TXT indiquant la version DMARC.
- p=reject; : Définir une politique de REJET pour les e-mails qui échouent au test DMARC.
- sp=reject; : Définir une politique de REJET pour les e-mails qui échouent au test DMARC pour le sous-domaine.
- adkim=s; : Définir le mode d'alignement pour DKIM à strict
- aspf=s; : Définir le mode d'alignement pour SPF sur strict
Résumé
Voici le modèle restrictif MX, DMARC, SFP recommandé pour votre domaine qui suggère aux SMTPd (serveurs de messagerie) distants (récepteurs) de supprimer tous les courriels entrants envoyés par mon domaine nommé opensourceflare.com.
opensourceflare.com. 1 IN MX 0 . opensourceflare.com. 1 IN TXT "v=spf1 -all" *._domainkey.opensourceflare.com. 1 IN TXT "v=DKIM1; p=" _dmarc.opensourceflare.com. 1 IN TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"
Voici comment cela se présente dans le tableau de bord Google DNS :
Tableau de bord du domaine Google avec MX et d'autres paramètres pour empêcher le trafic de courrier électronique illégitime, car je n'envoie ni ne reçois de courrier électronique sur ce domaine.
Si votre domaine n'envoie pas d'e-mail, définissez ces paramètres DNS pour éviter l'usurpation d'identité et le phishing.
Utilisez la commande dig ou la commande host pour vérifier les paramètres pour confirmer les paramètres DNS afin d'éviter l'usurpation d'identité et le phishing pour un domaine inutilisé à des fins de messagerie :
$ host -t MX opensourceflare.com
$ host -t TXT opensourceflare.com
$ host -t TXT *._domainkey.opensourceflare.com
$ host -t TXT _dmarc.opensourceflare.com
Résumé
C'est ainsi que vous évitez l'usurpation d'identité et le phishing avec les paramètres DNS lorsque votre domaine n'est pas utilisé pour envoyer ou recevoir des e-mails.
Lectures recommandées
Je sais que ce sujet peut être accablant pour les nouveaux développeurs ou administrateurs système Linux/Unix. C'est pourquoi je vous suggère de lire les pages suivantes :