Pourquoi devrais-je m'inquiéter de la sécurisation de mes e-mails WordPress ?

Publié: 2023-05-31

Les e-mails sont partout. Ils sont devenus l'une des méthodes de communication les plus courantes entre les personnes sur Internet. Les administrateurs WordPress et les propriétaires de sites Web utilisent les e-mails à diverses fins, telles que la communication personnelle et professionnelle, le marketing, le recrutement, etc.

Les e-mails peuvent également contenir des informations sensibles que vous utilisez pour authentifier vos utilisateurs ou leur permettre d'effectuer certaines actions, telles que la réinitialisation d'un mot de passe, etc. Dans ce didacticiel, nous aborderons tout ce que les propriétaires de sites Web doivent savoir sur la sécurité des e-mails dans WordPress.

Commençons la discussion avec la nécessité de sécuriser les e-mails de votre site Web WordPress. Garder vos e-mails sécurisés aide à beaucoup de choses, telles que :

  • Protection des informations sensibles — Comme mentionné précédemment, vous enverrez souvent des e-mails pouvant contenir des informations sensibles. Cela peut inclure des éléments tels que les identifiants de connexion de vos utilisateurs et des informations personnelles liées à leur santé ou à leurs finances. Dans tous les cas, vous devez vous assurer qu'aucune personne malveillante ne puisse intercepter ces informations.
  • Livraison des e-mails - Le spam est un gros problème sur Internet. Nous sommes sûrs que vous avez également reçu votre juste part de spams. Ils sont gênants dans le meilleur des cas et peuvent avoir des conséquences plus dramatiques dans d'autres cas. L'une des façons dont les serveurs de messagerie traitent le spam potentiel consiste à ne pas envoyer d'e-mails qui ne sont pas du tout conformes aux normes. De même, les e-mails qui pourraient être considérés comme du spam par différents clients de messagerie seront marqués comme tels et placés dans un dossier séparé de la boîte de réception principale.
  • Maintenir la réputation de la marque - La réputation de votre marque pourrait être en jeu si vous ne prenez pas au sérieux la sécurité de la messagerie WordPress. Pensez-y, que penseriez-vous d'une marque dont les e-mails sont constamment bloqués dans le filtre anti-spam ou d'une marque dont le manque de sécurité entraîne la fuite de vos informations personnelles ?
  • Prévention des attaques par e-mail — Les personnes malintentionnées peuvent utiliser l'hameçonnage par e-mail pour accéder à votre site Web ou pour accéder aux données des utilisateurs. Cela peut poser toutes sortes de problèmes de sécurité. Dans les deux cas, vous devez prendre les mesures appropriées pour sécuriser les e-mails WordPress.

Envoi d'e-mails sécurisés dans WordPress

WordPress a une fonction intégrée wp_mail() qu'il utilise pour envoyer des e-mails. Cette fonction s'appuie sur la populaire bibliothèque gratuite et open-source PHPMailer pour envoyer tous vos e-mails.

L'un des avantages de l'utilisation de la bibliothèque est qu'elle dispose d'un client SMTP intégré qui vous permet d'envoyer des e-mails sur toutes les plates-formes sans avoir besoin d'un serveur de messagerie local.

Le terme SMTP signifie Simple Mail Transfer Protocol. Un client SMTP est un programme que nous pouvons utiliser pour envoyer des e-mails d'un serveur à un autre. Le client effectue de nombreuses tâches utiles, telles que l'établissement d'une connexion avec le serveur de messagerie, l'authentification de l'expéditeur et la transmission du courrier électronique.

L'utilisation de la fonction wp_mail() n'est pas une garantie automatique que la réception de votre e-mail a réussi. Il renverra vrai une fois la demande réussie, quel que soit le statut de livraison de l'e-mail. Par conséquent, vous devrez vous assurer que les e-mails que vous avez envoyés sont livrés.

Vous pouvez ajouter vos paramètres liés à SMTP dans le fichier wp-config.php en ajoutant quelques lignes de PHP au code source existant. Cependant, une option beaucoup plus simple consiste à utiliser un plugin.
Vous pouvez utiliser l'un des nombreux plugins WordPress SMTP gratuits qui vous aideront à configurer tous vos paramètres pour envoyer vos e-mails de manière efficace et sécurisée. Nous avons déjà couvert en détail la délivrabilité des e-mails WordPress dans le passé.

Configurer un plug-in SMTP

Il convient de mentionner qu'il existe plusieurs plugins SMTP que vous pouvez utiliser sur votre site Web. Vous pouvez les essayer pour voir celui qui vous convient le mieux. L'un des plus populaires est le plug-in WP Mail SMTP.

Plugins SMTP populaires pour WordPress

Tout plugin que vous utilisez vous demandera de choisir un expéditeur SMTP pour votre site Web. Plusieurs options sont disponibles telles que SendLayer, Postmark, SendGrid, Zoho Mail, etc. L'assistant de configuration vous aidera avec la configuration initiale, où vous fournirez toutes les informations nécessaires, telles que la clé API, etc. Tous ces paramètres pour différents les plugins seront disponibles dans le tableau de bord WordPress.

Il y a deux choses importantes que vous devez garder à l'esprit lors de la configuration de ces plugins :

  1. Assurez-vous que vous envoyez des e-mails via SSL avec votre client SMTP. Cela aidera à empêcher les e-mails d'être interceptés pendant leur transit. de nombreux services comme SendLayer, etc., géreront automatiquement le cryptage SSL/TLS pour vous. Cependant, vous pouvez également fournir manuellement des informations sur l'hôte SMTP, le numéro de port, le cryptage, etc. si vous sélectionnez Autre SMTP comme expéditeur SMTP.
  2. Vous pouvez également désactiver la journalisation des e-mails si vous envoyez des informations sensibles par e-mail. Cela empêchera toute fuite de données indésirable en cas de problème. C'est bien d'avoir cette option activée pendant le test, mais elle devrait idéalement être désactivée dans les autres cas.

Cadres communs de sécurité des e-mails

L'installation et l'utilisation de certificats SSL pour l'envoi d'e-mails garantissent la sécurité du contenu de l'e-mail lors de son transit entre le client de messagerie et le serveur de messagerie. Cela devient possible en empêchant tout accès non autorisé ou interception de l'e-mail pendant la transmission.

La prochaine étape dans l'amélioration de la sécurité des e-mails WordPress consiste à utiliser le cryptage afin que seul le destinataire prévu puisse lire le contenu de l'e-mail qui lui est envoyé.

Il existe de nombreux cadres de sécurité des e-mails différents que vous pouvez utiliser pour sécuriser les e-mails sur votre site WordPress. Le terme cadre de sécurité des e-mails fait référence à un ensemble de directives et de normes qui sont en place pour garantir que toutes vos communications par e-mail restent à l'abri des risques de sécurité tels que le spam, le phishing et les accès non autorisés.

Différents serveurs SMTP peuvent utiliser une combinaison de plusieurs cadres de sécurité des e-mails pour atteindre leur objectif de sécurisation des e-mails. Découvrons certains d'entre eux.

Cadre de stratégie de l'expéditeur

Sender Policy Framework, également connu sous le nom de SPF, est un cadre d'authentification des e-mails qui permet au serveur de messagerie du destinataire de vérifier si un e-mail provient d'une source légitime.

En bref, SPF fonctionne en vérifiant l'enregistrement DNS (Domain Name System) du domaine de l'expéditeur pour vérifier que l'adresse IP de l'expéditeur correspond aux adresses IP autorisées pour ce domaine.

Une fois qu'un e-mail est envoyé, le serveur de messagerie côté destinataire vérifie les enregistrements SPF pour déterminer si l'e-mail a bien été envoyé depuis un serveur de messagerie autorisé côté expéditeur. L'enregistrement SPF contiendra des informations sur toutes les adresses IP et les domaines qui peuvent envoyer un e-mail au nom d'un domaine particulier. Toute incompatibilité entraînera le marquage de l'e-mail comme suspect.

SPF aide à lutter contre les spams et les attaques de phishing où quelqu'un prétend être ce qu'il n'est pas.

Courrier identifié par DomainKeys

Le framework DomainKeys Identified Mail (DKIM) repose sur l'utilisation de signatures numériques pour vérifier que l'expéditeur de l'e-mail est une personne légitime. Il garantit également que le contenu de l'e-mail reste inchangé lors de la transmission de l'e-mail.

La signature numérique n'est rien d'autre qu'une valeur cryptographique générée à l'aide d'une clé privée associée au nom de domaine légitime. Le message électronique contient la valeur cryptographique sous la forme d'un champ DKIM-Signature dans son en-tête.

Le serveur de messagerie côté destinataire peut accéder à la clé publique du domaine de l'expéditeur à partir des enregistrements DNS. Le système de messagerie utilise la clé publique pour déchiffrer la signature afin de vérifier l'authenticité de l'expéditeur. Le système envoie l'e-mail dans la boîte aux lettres du destinataire après avoir validé l'authenticité de l'expéditeur.

Le secret ici est que la clé privée est utilisée pour générer la signature cryptographique, et cette signature ne peut être déchiffrée que par la clé publique correspondante. Cela signifie qu'une valeur correspondante dans les valeurs de hachage générées avec les clés privées et publiques garantit l'authenticité de l'e-mail.

Authentification, création de rapports et conformité des messages basés sur le domaine

Les deux cadres précédents vous permettent de valider que l'expéditeur d'un e-mail est quelqu'un qu'il prétend être. Cela permet d'éviter les spams et les attaques de phishing.

Que se passe-t-il si un e-mail échoue aux vérifications SPF ou DKIM ?

Vous vous demandez peut-être comment un e-mail légitime peut échouer aux contrôles SPF ou DKIM. Cela peut se produire dans diverses situations, telles que des enregistrements SPF ou DKIM mal configurés, un horodatage non valide en raison d'un temps de transit plus long que d'habitude et le transfert d'e-mails où le serveur de transfert n'est pas autorisé à envoyer des e-mails au nom du domaine de l'expéditeur d'origine.

Le cadre DMARC (Domain-based Message Authentication, Reporting, and Conformance) vient à votre secours dans ce cas.

Les propriétaires de domaine peuvent ajouter une politique DMARC à leurs enregistrements DNS pour spécifier ce qui doit arriver à tout message électronique qui échoue aux vérifications d'authentification SPF ou DKIM.

Une fois qu'un e-mail échoue à ces vérifications, le serveur de messagerie du destinataire recherche la politique DMARC du domaine de l'expéditeur. La politique DMARC précisera si l'e-mail doit être rejeté, mis en quarantaine ou remis à la boîte aux lettres du destinataire.

En plus de vérifier la légitimité de l'expéditeur, DMARC inclut des mécanismes pour signaler aux propriétaires de domaine toutes les informations sur les e-mails envoyés depuis leur domaine. L'accès à ces informations peut aider les propriétaires de domaine à identifier les attaques potentielles d'usurpation d'e-mails ou de phishing. Cela se traduit finalement par une sécurité accrue des e-mails.

assez bonne intimité

Pretty Good Privacy, ou PGP, est un autre cadre de sécurité de messagerie intéressant qui fournit un cryptage de bout en bout pour vos e-mails, garantissant que seul le destinataire prévu peut lire vos e-mails.

Le protocole de sécurité PGP repose sur une paire de clés publique et privée pour son système de cryptographie. Tous les utilisateurs du protocole PGP auront leurs propres clés publiques et privées. PGP utilise la clé publique pour chiffrer les messages électroniques et la clé privée pour les déchiffrer. Toute personne souhaitant communiquer avec l'utilisateur a accès à la clé publique. La clé privée reste chez l'utilisateur.

Disons que vous voulez envoyer un e-mail à quelqu'un. En tant qu'expéditeur, vous utiliserez la clé publique fournie par le destinataire pour chiffrer votre message. Cela garantit que seul le destinataire peut déchiffrer le message car lui seul aura la clé privée.

PGP utilise également des signatures numériques pour vérifier l'authenticité et l'intégrité d'un e-mail et pour s'assurer qu'il n'y a pas eu de falsification lors de la transmission.

La clé privée s'avère utile pour générer la signature numérique, qui vérifie l'authenticité de l'expéditeur. La clé privée est utilisée pour créer un hachage du message électronique. Puisque PGP fonctionne sur le principe du partage de clés publiques, le destinataire de l'e-mail aura accès à la clé publique de l'expéditeur. Cette clé publique est utile pour déchiffrer le hachage, qui vérifie que le message est inchangé.

Un autre aspect important de PGP est le système de « toile de confiance », où différents utilisateurs peuvent signer les clés publiques des autres pour indiquer qu'ils ont vérifié le propriétaire de la clé. Cela rend encore plus difficile pour une personne malveillante de se faire passer pour un utilisateur.

Mise en œuvre de la sécurité des e-mails sur votre site WordPress

Nous allons maintenant apprendre à implémenter différents frameworks de sécurité de messagerie sur votre site Web.

Cadre de stratégie de l'expéditeur

Comme mentionné dans la section précédente, SPF fonctionne en vérifiant l'enregistrement DNS du domaine de l'expéditeur. Il vérifie si l'adresse IP de l'expéditeur correspond aux adresses IP autorisées pour ce domaine.

Nous pouvons tester cela en utilisant wpwhitesecurity.com comme exemple. Tout ce que nous avons à faire est d'utiliser la commande nslookup comme suit :
nslookup -type=txt nom de domaine

Enregistrements SPF de sécurité WP White

Le résultat nous indique quels systèmes nous utilisons pour envoyer des e-mails.

v=spf1 a mx include:_spf.google.com include:relay.kinstamailservice.com include:servers.mcsv.net include:helpscoutemail.com include:sendgrid.net ~all

Si un e-mail que vous recevez de notre part ne provient d'aucun de ces systèmes, il est donc probable qu'il ne soit pas légitime.

Tout ce que nous devons faire pour implémenter SPF est d'ajouter un enregistrement TXT au fichier de zone DNS du domaine. Un enregistrement TXT peut contenir du texte arbitraire que vous souhaitez associer à un nom de domaine. Dans ce cas, il contiendra les informations SPF.

La première étape consiste à vous connecter au service que vous utilisez pour gérer vos enregistrements DNS. Dans ce cas, nous utiliserons Cloudflare. Par conséquent, nous nous connectons d'abord au compte Cloudflare et sélectionnons le domaine dont les enregistrements DNS seront modifiés.

Vous devriez voir l'option permettant de modifier les paramètres DNS dans la barre latérale gauche ou sous Actions rapides si vous utilisez Cloudflare. Cliquez dessus pour ajouter un enregistrement DNS. Il y aura un bouton Ajouter un enregistrement sur la page suivante. Cliquez dessus, et vous verrez l'écran suivant.

Ajouter un enregistrement DNS dans Cloudflare

Sélectionnez TXT dans la liste déroulante Type. Définissez le nom sur la racine de votre domaine. Conservez TTL sur Auto et définissez la valeur de Content sur v=spf1 mx a ip4:XXX.XXX.XXX.XXX -all. Utilisez la capture d'écran ci-dessous pour référence.

L'enregistrement DNS se compose de différentes parties. Voyons ce qu'ils signifient un à la fois :

  1. v=spf1 — Cette partie spécifie la version du protocole SPF en cours d'utilisation. Dans ce cas, la version SPF est 1.
  2. mx — Cette partie autorise les enregistrements MX du domaine à envoyer des e-mails au nom du domaine.
  3. a — Cette partie autorise les enregistrements A du domaine ou ses adresses ipv4 à envoyer des e-mails au nom du domaine.
  4. ip4:XXX.XXX.XXX.XXX — Vous pouvez ajouter cette partie pour ajouter une adresse IP spécifique à la liste blanche pour l'envoi d'e-mails.
  5. -all - Cette partie spécifie ce qui doit arriver aux e-mails qui ne correspondent à aucun des domaines ou adresses IP autorisés.

Assurez-vous de remplacer XXX.XXX.XXX.XXX par l'adresse IP que vous souhaitez ajouter à la liste blanche. Vous n'avez pas besoin d'ajouter cette partie si vous prévoyez uniquement d'envoyer des adresses e-mail à partir de votre domaine. Cependant, vous devez inclure ici l'adresse IP de vos serveurs de messagerie pour éviter toute usurpation d'identité.

Messagerie identifiée par clé de domaine

Le framework DKIM s'appuie également sur les valeurs stockées dans les enregistrements DNS pour vérifier l'authenticité de l'expéditeur d'un e-mail.

La principale différence est que, tandis que SPF s'appuie sur la vérification des adresses IP dans les enregistrements DNS pour s'assurer que certaines personnes autorisées ont envoyé l'e-mail, DKIM s'appuie sur l'utilisation de clés publiques et privées.

Si vous utilisez Cloudflare pour gérer votre domaine, vous pouvez ajouter un enregistrement DNS, comme nous l'avons fait dans la section précédente. Cependant, il vous est également possible de mettre à jour les enregistrements DNS à partir du tableau de bord de votre hébergeur.

Voici une capture d'écran d'un enregistrement DKIM TXT actuel dans le cPanel d'un compte d'hébergement. Vous pouvez trouver ces options après vous être connecté à votre compte cPanel, puis avoir vérifié la délivrabilité des e-mails.

Enregistrement DKIM cPanel

Le nom de l'enregistrement DKIM est défini sur default._domainkey pour s'assurer qu'il peut être facilement localisé par différents fournisseurs de services de messagerie.

Le contenu de l'enregistrement DKIM se compose de plusieurs parties, comme expliqué ci-dessous :

  1. v=DKIM1 — Cette partie spécifie la version du protocole DKIM en cours d'utilisation.
  2. k=rsa — Cette partie spécifie que la clé publique que nous utilisons est une clé RSA.
  3. p=KEY_VALUE — Cette partie est la clé publique encodée en Base64.

Authentification, création de rapports et conformité des messages basés sur le domaine

Nous allons maintenant apprendre à ajouter une politique DMARC à notre enregistrement DNS TXT. Le processus d'ajout d'un enregistrement DNS restera le même ici. La seule chose qui change est le nom de l'enregistrement et son contenu.

Le nom de notre enregistrement DNS TXT sera _dmarc.votresiteweb.com, où votresiteweb.com est votre site Web réel. Encore une fois, il s'agit simplement d'une convention standard en place pour faciliter l'identification de la politique DMARC.

Vous pouvez ajouter un total de 11 paires balise-valeur comme contenu de l'enregistrement DNS TXT de la politique DMARC. Vous pouvez lire à leur sujet sur cette page qui décrit en détail un enregistrement DMARC DNS TXT.

Utilisons l'assistant nouvellement introduit dans Cloudflare pour ajouter une politique DMARC.

Ajout de la politique DMARC dans Cloudflare

Une fois que vous avez cliqué sur le lien de l'assistant, vous verrez l'écran suivant. Cliquez simplement sur le bouton Ajouter et vous êtes prêt à partir.

Écran de configuration de l'enregistrement DMARC

Nous allons maintenant apprendre ce que signifie le contenu à l'intérieur de l'enregistrement DMARC :

  1. v=DMARC1 — Comme d'habitude, ceci spécifie la version du protocole DMARC en cours d'utilisation.
  2. p=none — Cette partie spécifie qu'aucune action de stratégie n'a lieu pour les vérifications ayant échoué. Vous pouvez également définir cette valeur sur mettre en quarantaine ou rejeter. Définir la valeur sur quarantaine marquera l'e-mail comme potentiellement suspect, mais le remettra toujours dans le dossier spam de la boîte aux lettres du destinataire.
  3. rua=mailto:[email protected] — Cette partie spécifie l'adresse e-mail qui reçoit les rapports. Les rapports contiendront des informations sur les messages électroniques qui ont réussi ou échoué aux vérifications DMRC.

Sécuriser les emails pour une meilleure sécurité

Comme le dit le vieil adage, une chaîne est aussi solide que son maillon le plus faible. Cela est très vrai en matière de sécurité, qui oblige les administrateurs WordPress et les propriétaires de sites Web à regarder au-delà de la sécurisation de WordPress et à s'occuper de l'infrastructure de support/environnante.

La sécurité des e-mails a tendance à être négligée ; cependant, comme nous venons de le voir dans l'article, la sécurisation des emails est relativement simple et très accessible. De la configuration des enregistrements DNS au chiffrement des e-mails, cela garantira non seulement une meilleure portée des clients et des utilisateurs, mais réduira considérablement les risques de sécurité.

Plus de conseils pour améliorer la sécurité de WordPress

La sécurisation de vos e-mails n'est qu'une partie de la sécurité globale du site Web. Voici quelques conseils généraux pour améliorer la sécurité globale de votre site Web.

  • Mettre à jour régulièrement - Il est important de garder tous vos thèmes ou plugins WordPress à jour. Les mises à jour ajoutent généralement de nouvelles fonctionnalités et corrigent les vulnérabilités connues.
  • Utilisez des mots de passe forts - Vous devez utiliser des mots de passe forts et uniques pour tous vos comptes liés au site Web, y compris l'hébergeur Web, la base de données, les comptes FTP, les comptes d'administrateur WordPress, etc. Cela empêchera les attaques par force brute de déchiffrer votre mot de passe. Vous pouvez utiliser le plugin MelaPress Login Security pour suivre toutes les meilleures pratiques de sécurité de connexion, telles que des mots de passe forts, bloquer trop de tentatives de connexion infructueuses, etc.
  • Installer des plugins de sécurité - Vous devriez également envisager d'installer un plugin de sécurité. Certaines des options les plus populaires sont Wordfence, iThemes Security, All-In-One security, etc. Vous pouvez également installer des plugins comme WP Activity Log pour enregistrer toutes les modifications qui se produisent sur votre site Web WordPress.
  • Utiliser l'authentification à deux facteurs — Vous pouvez utiliser l'authentification à deux facteurs pour ajouter une couche de sécurité supplémentaire. Des plugins gratuits tels que WP 2FA peuvent vous aider à le faire facilement.
  • Effectuez des sauvegardes régulières - Vous devez également effectuer des sauvegardes régulières de votre site Web. Cela vous aidera à mettre votre site Web en ligne rapidement en cas de faille de sécurité ou d'autres problèmes.
  • Utilisez un hébergeur fiable - Assurez-vous que vous utilisez un hébergeur réputé et fiable pour héberger votre site Web. L'hébergeur sera responsable de plusieurs choses, telles que la sécurisation du serveur Web, sa mise à jour, la prise de ses sauvegardes dans le backend, etc.
  • Utilisez un pare-feu — L'installation d'un pare-feu empêchera tout accès non autorisé tout en protégeant contre les menaces de sécurité courantes et les attaques DDOS. Il est possible d'installer un pare-feu au niveau du serveur par votre hébergeur ou au niveau du site Web par vous en tant que plugin WordPress. La bonne nouvelle est que des plugins comme Wordfence, etc., offrent déjà un pare-feu et vous protégeront des logiciels malveillants.
  • Limiter les tentatives de connexion - Une autre mesure de sécurité que vous pouvez prendre consiste à limiter le nombre de tentatives de connexion infructueuses pour empêcher les attaques par force brute par des bots.