DKIM (DomainKeys Identified Mail) est un mécanisme d’authentification conçu pour prévenir l’usurpation d’adresses électroniques. Il améliore la sécurité des emails en permettant au serveur de réception de confirmer la légitimité du domaine de l’expéditeur.  

Comprendre la norme DKIM 

Dans cet article, nous explorerons comment fonctionne DKIM, ses avantages, et pourquoi il est devenu un standard incontournable pour protéger les communications en ligne. 

Quels sont les avantages à l’utilisation de DKIM ? 

L’utilisation de DKIM présente plusieurs avantages importants pour la sécurité et la fiabilité des communications par email : 

  1. Authentification de l’expéditeur : DKIM permet de vérifier que l’email provient réellement du domaine d’envoi légitime, ce qui aide à identifier et bloquer les emails usurpés ou frauduleux.
  2. Protection contre l’altération des messages : les signatures numériques appliquées par DKIM garantissent que le contenu de l’email n’a pas été modifié entre son envoi et sa réception. Cela renforce l’intégrité des messages.
  3. Réduction du phishing : DKIM rend plus difficile pour les attaquants d’usurper l’identité d’un domaine, réduisant ainsi les risques d’attaques d’hameçonnage, dans lesquelles des emails frauduleux se font passer pour des sources de confiance.
  4. Amélioration de la délivrabilité : en utilisant DKIM, les emails légitimes ont plus de chances d’atteindre la boîte de réception des destinataires et d’éviter les filtres anti-spam. Les services de messagerie tiennent compte de la présence d’une signature DKIM lors de l’évaluation de la fiabilité d’un message.

Quelles sont les limites de DKIM ?  

Bien que DKIM soit un outil puissant pour l’authentification des emails, il présente certaines limites : 

  1. Il n’a pas de protection contre le spam : DKIM authentifie l’expéditeur et assure l’intégrité des messages, mais il ne bloque pas directement les emails non sollicités. Un expéditeur légitime peut toujours envoyer du spam avec une signature DKIM valide.
  1. Il ne vérifie pas l’expéditeur final : DKIM garantit que l’email provient d’un domaine autorisé, mais il ne vérifie pas l’identité de l’expéditeur final. Il est possible pour des entités malveillantes d’envoyer des emails à partir de domaines légitimes compromis.
  1. Il présente des vulnérabilités à la relecture (replay attacks) : un attaquant peut capturer un email signé par DKIM et le réutiliser plus tard pour une attaque, car la signature DKIM reste valide. Cela pourrait conduire à une diffusion de messages malveillants.
  1. Ainsi que des problèmes liés à la gestion du contenu : les systèmes qui modifient légèrement les emails après envoi, comme les passerelles anti-virus, les listes de diffusion ou certains services de messagerie, peuvent invalider la signature DKIM. Si le message est modifié en transit (par exemple, ajout d’une signature de bas de page), la vérification échoue.
  1. Il dépend du DNS : DKIM utilise le DNS pour publier la clé publique du domaine. Si un attaquant parvient à compromettre les enregistrements DNS d’un domaine, il peut potentiellement falsifier les signatures DKIM.
  1. Il est complexe à mettre en œuvre : la configuration de DKIM peut être complexe pour les organisations qui ne disposent pas d’une expertise technique approfondie. Une mauvaise configuration peut entraîner des problèmes d’authentification ou rendre le système inefficace.
  1. Il a des incapacités à traiter les emails transférés : lorsqu’un email est redirigé ou transféré, la signature DKIM peut être invalidée si le contenu ou les en-têtes sont modifiés en cours de route, ce qui peut poser des problèmes de fiabilité pour les destinataires finaux.

Importance de DKIM pour la sécurité des emails 

DKIM permet de vérifier l’identité de l’expéditeur d’un email, garantissant que les messages ne finissent pas dans les dossiers de spam ou d’indésirables. Il est crucial pour les organisations qui envoient régulièrement des courriers professionnels ou transactionnels à leurs clients. 

Une des responsabilités d’une entreprise est de protéger l’intégrité de son domaine et de ses communications pour éviter les fuites de données. Sans DKIM, les cybercriminels peuvent facilement envoyer des emails frauduleux qui semblent légitimes, mettant ainsi les clients en danger. 

De plus, DKIM améliore la délivrabilité des emails en renforçant la réputation du domaine auprès des fournisseurs de services Internet (FSI) et des serveurs de messagerie. 

Comment fonctionne DKIM ? 

La norme DKIM repose sur deux éléments essentiels : l’enregistrement DKIM, stocké dans les enregistrements DNS du domaine, et l’en-tête DKIM, qui est ajouté à chaque email envoyé depuis ce domaine. 

DKIM utilise une signature numérique basée sur la cryptographie à clé publique pour authentifier l’origine d’un email, en prouvant qu’il provient d’un serveur autorisé à envoyer des emails pour ce domaine. Une paire de clés est utilisée : la clé privée, détenue par l’expéditeur pour signer les messages, et la clé publique, disponible pour le destinataire afin de vérifier les signatures. Ces clés sont asymétriques, c’est-à-dire qu’une clé publique ne peut pas être utilisée pour signer des emails, et la clé privée ne peut pas être utilisée pour vérifier. 

À lire aussi :  Qu’est-ce que le Quishing ?

Le fournisseur de messagerie génère les clés et donne la clé publique au propriétaire du domaine, qui la publie dans un enregistrement DNS DKIM accessible au public. 

Les emails envoyés par le domaine incluent un en-tête DKIM contenant une signature numérique générée à l’aide de la clé privée. Le serveur de réception peut vérifier cette signature en accédant à l’enregistrement DNS pour obtenir la clé publique et ainsi authentifier l’email. 

Ce processus garantit également l’intégrité du message, car toute modification des en-têtes ou du corps du message invaliderait la signature, un peu comme un sceau inviolable. 

Processus de vérification et de signature 

Le processus de vérification s’articule en 4 étapes :  

Réception de l’email : lorsque l’email arrive chez le serveur de messagerie du destinataire, ce dernier analyse l’en-tête DKIM pour identifier le domaine d’envoi et la clé publique associée. 

Récupération de la clé publique : le serveur destinataire interroge le DNS du domaine expéditeur pour obtenir la clé publique du domaine. Celle-ci est stockée dans un enregistrement DNS de type TXT. 

Vérification de la signature : le serveur utilise la clé publique pour vérifier que la signature DKIM correspond bien à celle générée par l’expéditeur. Si la signature est valide, cela confirme que : 

  • L’email provient bien du domaine déclaré. 
  • Le message n’a pas été altéré en transit. 

Résultat de la vérification : si la signature est valide, l’email est considéré comme authentique et non modifié. Il est alors plus susceptible d’arriver dans la boîte de réception du destinataire. Si la signature est invalide ou absente, le message peut être marqué comme suspect ou rejeté, selon la politique de sécurité du serveur. 

Exemple de signatures DKIM 

Une signature DKIM se présente sous la forme d’un en-tête ajouté à l’email, contenant des informations spécifiques sur la signature, la clé utilisée, et d’autres détails techniques. Voici un exemple typique d’une signature DKIM : 

DKIM-Signature: v=1; a=rsa-sha256; d=exemple.com; s=mail;
    c=relaxed/simple; q=dns/txt; i=@exemple.com;
    h=from:to:subject:date;
    bh=ABCD1234efgh5678ijklmnopqrstuvwxYZ==;
    b=ZyXwVuT1234567890abcdefgHiJKLMnOpqrstuVWXYZ1234567890abcdeFghi==;
 

Décomposition : 

v=1 : Version de DKIM utilisée (version 1). 

a=rsa-sha256 : Algorithme de signature utilisé (RSA avec SHA-256 pour le hachage). 

d=exemple.com : Domaine qui a signé l’email, ici exemple.com. 

s=mail : Sélecteur DKIM, utilisé pour identifier la paire de clés spécifique dans le DNS. Ici, il s’agit de « mail ». 

c=relaxed/simple : Méthode de canonicalisation utilisée pour la signature (relaxed/simple signifie que certaines modifications mineures dans les en-têtes ou le corps sont tolérées). 

q=dns/txt : Méthode utilisée pour récupérer la clé publique, ici via un enregistrement TXT dans le DNS. 

i=@exemple.com : Identité de l’expéditeur, dans ce cas, un email de @exemple.com. 

h=from:to:subject 

: Liste des en-têtes inclus dans la signature DKIM, tels que « from », « to », « subject », « date ». 

bh=ABCD1234efgh5678ijklmnopqrstuvwxYZ== : Résumé (hachage) du corps de l’email. 

b=ZyXwVuT1234567890abcdefgHiJKLMnOpqrstuVWXYZ1234567890abcdeFghi== : La signature cryptographique générée avec la clé privée. 

DKIM est-il véritablement indispensable ?  

DKIM présente deux avantages principaux : il aide à prévenir l’usurpation d’identité par email et améliore la délivrabilité des messages. 

Les fraudeurs usurpent souvent des adresses email en se faisant passer pour une autre personne. Grâce à DKIM, les destinataires peuvent vérifier qu’un email provient bien du véritable propriétaire du domaine, empêchant ainsi les messages falsifiés d’atteindre leur boîte de réception. Cela ajoute une couche supplémentaire de sécurité pour les expéditeurs et les destinataires. 

Par ailleurs, de nombreux fournisseurs de messagerie utilisent l’authentification DKIM pour évaluer la légitimité des emails entrants. Même si un email est légitime et envoyé par le propriétaire du domaine, sans DKIM, il risque d’être considéré comme spam par le serveur du destinataire. 

Ainsi, l’adoption de DKIM réduit les risques que des emails légitimes soient filtrés par les systèmes anti-spam. 

Comment configurer DKIM ? 

La configuration de DKIM est essentielle pour protéger l’authenticité de vos e-mails et garantir leur intégrité. Voici comment configurer DKIM en fonction de la plateforme utilisée : 

Ajout d’un enregistrement DKIM avec Gmail  

Pour configurer DKIM avec Gmail (G Suite ou Google Workspace), suivez ces étapes : 

Accéder à la console d’administration : 

  • Connectez-vous à la console d’administration Google en utilisant un compte administrateur. 
  • Allez dans Applications > Google Workspace > Gmail. 

Accéder à l’authentification par email : 

  • Dans la section Gmail, cliquez sur Authentification par email (Email authentication). 
  • Sélectionnez le domaine pour lequel vous souhaitez activer DKIM. 
À lire aussi :  Baromètre Cyber 2023

Générer la clé DKIM : 

  • Cliquez sur Générer une nouvelle clé DKIM. 
  • Choisissez une longueur de clé (2048 bits est recommandé). 
  • Choisissez un sélecteur (par exemple google ou default). 

Ajouter l’enregistrement DNS DKIM : 

  • Google génère une clé publique. Copiez cette clé. 
  • Accédez au panneau de gestion DNS de votre hébergeur. 
  • Créez un enregistrement TXT avec le nom suivant : google._domainkey.votre-domaine. 
  • Collez la clé publique générée par Gmail dans le champ contenu de l’enregistrement TXT. 
  • Enregistrez les modifications. 

Activer DKIM : 

  • Une fois l’enregistrement DNS mis à jour, retournez dans la console d’administration Gmail. 
  • Cliquez sur Commencer l’authentification pour activer DKIM. 

Vérifier la configuration : 

  • Vous pouvez utiliser des outils comme MXToolbox pour tester si DKIM est correctement configuré. 

Ajout d’un enregistrement DKIM avec Office 365 

Pour configurer DKIM avec Office 365, suivez ces étapes : 

Accéder au centre d’administration Exchange : 

  • Connectez-vous à votre compte Microsoft 365 avec des privilèges d’administrateur. 
  • Allez dans le Centre d’administration Exchange. 

Générer l’enregistrement DKIM : 

  • Allez dans Protection > DKIM. 
  • Sélectionnez le domaine pour lequel vous souhaitez configurer DKIM. 
  • Cliquez sur Activer. Cela génère deux sélecteurs (ex : selector1 et selector2). 

Ajouter les enregistrements DNS : 

  • Accédez au panneau de gestion DNS de votre hébergeur. 
  • Pour chaque sélecteur, créez deux enregistrements CNAME : 
  • Nom : selector1._domainkey.votre-domaine 
  • Cible : selector1-votre-domaine._domainkey.votre-domaine.onmicrosoft.com 
  • Répétez pour selector2. 
  • Enregistrez les modifications DNS. 

Activer DKIM dans Office 365 : 

  • Retournez dans le centre d’administration Exchange. 
  • Sélectionnez le domaine et cliquez sur Activer pour finaliser la configuration DKIM. 

Vérifier la configuration : 

  • Utilisez des outils comme DKIM Core pour tester si DKIM est bien activé. 

Configuration DKIM sur les serveurs de messagerie privé 

Si vous utilisez un serveur de messagerie privé (Postfix, Exim, etc.), voici comment configurer DKIM : 

Installer un service DKIM : 

  • Installez un service comme OpenDKIM ou Amavis sur votre serveur de messagerie. 
  • Pour OpenDKIM sur un serveur Linux, utilisez les commandes suivantes : 

sudo apt install opendkim opendkim-tools
 

Générer la paire de clés DKIM : 

  • Utilisez OpenDKIM pour générer une paire de clés : 

opendkim-genkey -s selector -d votre-domaine.com

  • Cela génère deux fichiers : selector.private (clé privée) et selector.txt (clé publique). 

Ajouter la clé publique au DNS : 

  • Copiez le contenu du fichier .txt. 
  • Accédez à la gestion DNS de votre domaine. 
  • Créez un enregistrement TXT avec un nom du format selector._domainkey.votre-domaine. 
  • Collez la clé publique et enregistrez l’entrée. 

Configurer OpenDKIM : 

  • Éditez le fichier de configuration d’OpenDKIM (/etc/opendkim.conf) et ajoutez les lignes suivantes : 

Domain          votre-domaine.com
Selector        selector
KeyFile         /etc/opendkim/keys/votre-domaine.com/selector.private
 

  • Assurez-vous que Postfix ou Exim utilise OpenDKIM en configurant les en-têtes de messagerie. 

Redémarrer le serveur de messagerie : 

  • Redémarrez les services OpenDKIM et votre serveur de messagerie pour appliquer les modifications : 

sudo systemctl restart opendkim
sudo systemctl restart postfix

Comment générer et vérifier des clés DKIM ? 

La génération et la vérification des clés DKIM sont essentielles pour garantir l’authenticité des emails envoyés depuis un domaine. Voici les étapes pour générer et vérifier des clés DKIM : 

Générer des clés DKIM : 

  • Utilisez un générateur de clés DKIM ou des outils intégrés dans votre serveur de messagerie (comme OpenDKIM). 
  • Générez une paire de clés : une clé privée pour signer les emails et une clé publique à publier dans le DNS. 
  • La clé publique est ajoutée dans un enregistrement TXT au format selector._domainkey.votre-domaine. 

Vérifier les clés DKIM : 

  • Pour vérifier que la clé publique est bien ajoutée, utilisez des outils de vérification de DNS comme MXToolbox ou DKIM Core. 
  • Testez ensuite en envoyant un email à un outil de vérification DKIM comme Mail-tester. Cet outil vous indiquera si l’email a été correctement signé avec DKIM. 

Quel est le lien entre DKIM, SPF et DMARC ? 

DKIM, SPF et DMARC sont trois protocoles complémentaires qui permettent de renforcer la sécurité des emails et de protéger contre la fraude et l’usurpation d’identité. 

DKIM (DomainKeys Identified Mail) : 

  • DKIM vérifie l’authenticité des emails en ajoutant une signature numérique, permettant de s’assurer que le message provient bien du domaine de l’expéditeur et n’a pas été altéré. 

SPF (Sender Policy Framework) : 

  • SPF permet au propriétaire d’un domaine de spécifier quelles adresses IP sont autorisées à envoyer des e-mails en son nom. Cela empêche les attaquants d’utiliser des serveurs non autorisés pour envoyer des emails frauduleux. 

DMARC (Domain-based Message Authentication, Reporting & Conformance) : 

  • DMARC combine DKIM et SPF pour offrir un niveau de protection supplémentaire. Il définit une politique qui indique comment traiter les emails qui échouent aux vérifications DKIM et SPF, par exemple en les rejetant ou en les signalant. 
À lire aussi :  Qu’est-ce que le spearphishing ?

Ensemble, ces protocoles assurent une authentification complète des emails et renforcent la protection contre le phishing et l’usurpation d’identité. 

Quels sont les avantages à combiner l’utilisation de DKIM, SPF et DMARC ? 

Les avantages à combiner l’utilisation de DKIM, SPF et DMARC sont nombreux :  

Protection complète contre l’usurpation : l’association de DKIM, SPF et DMARC assure que seuls les emails authentiques provenant de serveurs autorisés peuvent être délivrés, réduisant ainsi les risques de fraude par email. 

Renforcement de la réputation du domaine : en utilisant ces trois protocoles, les serveurs de messagerie reconnaissent le domaine comme sécurisé, améliorant ainsi la réputation du domaine et réduisant les chances que les emails légitimes soient marqués comme spam. 

Meilleure visibilité sur les tentatives d’usurpation : DMARC fournit des rapports qui permettent aux administrateurs de surveiller les tentatives d’usurpation ou d’utilisation abusive du domaine, offrant ainsi une meilleure visibilité sur les attaques potentielles. 

Meilleure délivrabilité des emails : les emails envoyés à partir de domaines correctement configurés avec DKIM, SPF et DMARC ont plus de chances d’atteindre la boîte de réception des destinataires, évitant les filtres anti-spam. 

Meilleures pratiques pour maximiser l’efficacité de DKIM 

Utiliser des clés de longueur adéquate : Il est recommandé d’utiliser des clés de 2048 bits pour DKIM afin d’assurer un niveau de sécurité suffisant. Les clés plus courtes, comme celles de 1024 bits, sont plus vulnérables aux attaques. 

Mettre à jour régulièrement les clés : Pour renforcer la sécurité, il est conseillé de renouveler les clés DKIM périodiquement, par exemple une fois par an. 

Surveiller les rapports DMARC : Activez et analysez régulièrement les rapports DMARC pour identifier les éventuels problèmes d’authentification DKIM et SPF. 

Combiner DKIM avec SPF et DMARC : DKIM est plus efficace lorsqu’il est utilisé avec SPF et DMARC. Cela permet de couvrir différents aspects de la sécurité des emails (authentification de l’expéditeur, signature numérique et gestion des politiques de vérification). 

Assurer la bonne propagation DNS : Après avoir ajouté ou modifié un enregistrement DKIM, vérifiez que l’enregistrement DNS a bien propagé dans les serveurs DNS et que l’authentification fonctionne correctement. 

Comment détecter et répondre à une attaque DKIM ? 

Surveiller les rapports DMARC : Utilisez DMARC pour surveiller les tentatives d’usurpation d’identité. Ces rapports vous fourniront des informations détaillées sur les emails qui échouent aux vérifications DKIM ou SPF et permettront de détecter des attaques potentielles. 

Utiliser des outils de surveillance : Des outils comme DKIM Core ou MXToolbox peuvent être utilisés pour vérifier régulièrement si DKIM est correctement configuré et si des anomalies apparaissent dans les en-têtes des emails envoyés par votre domaine. 

Analyser les journaux de messagerie : Consultez les journaux de votre serveur de messagerie pour repérer les tentatives d’envoi d’emails non signés ou mal signés, provenant de serveurs non autorisés. 

Réagir en cas de compromission : Si une attaque est détectée, il est crucial de révoquer la clé DKIM compromise immédiatement. Remplacez-la par une nouvelle paire de clés et mettez à jour les enregistrements DNS. En parallèle, réévaluez vos politiques DMARC pour renforcer la sécurité. 

Exemples d’incidents et leur résolution 

Incident : emails légitimes marqués comme spam : 

  • Problème : Les emails envoyés par une entreprise étaient marqués comme spam chez plusieurs destinataires. 
  • Résolution : Après une analyse des rapports DMARC, il a été constaté que les enregistrements DKIM étaient mal configurés. En corrigeant les enregistrements DNS et en activant une politique stricte DMARC, la délivrabilité des emails a été rétablie. 

Incident : tentative d’usurpation d’identité : 

  • Problème : Une entreprise a remarqué une tentative d’usurpation d’identité, où des attaquants envoyaient de faux emails en se faisant passer pour la société. 
  • Résolution : En activant DMARC avec une politique de rejet (p=reject), tous les emails non authentifiés ont été bloqués, empêchant les messages frauduleux d’atteindre les destinataires. 

Incident : clé DKIM compromise : 

  • Problème : Une clé DKIM privée a été compromise, permettant à un attaquant de signer des emails frauduleux en provenance du domaine. 
  • Résolution : La clé a été rapidement révoquée, et une nouvelle paire de clés a été générée. Le sélecteur DKIM a été mis à jour et le domaine a renforcé ses mesures de sécurité, y compris le suivi des rapports DMARC. 

DKIM vous intéresse et vous souhaitez l’utiliser dans votre organisation ? Alors notre solution de protection de messagerie est faite pour vous.  

Articles similaires

Cybersécurité
29.04.2020

Comment se prémunir d'une cyberattaque ?

Cybersécurité
10.06.2021

Cyberculture en entreprise : quels enjeux ?