Product

Les bases du TLS : qu’est-ce que le contrôle de connexion TLS ?

Dans cet article, nous vous montrerons comment utiliser le TLS pour chiffrer vos communications par email en toute sécurité.
Image pour Les bases du TLS : qu’est-ce que le contrôle de connexion TLS ?

De quoi parleriez-vous sur une ligne sécurisée ? De plans dignes de James Bond ?

Il y a de fortes chances que vous fassiez plutôt quelque chose de banal, comme la programmation de votre prochaine réunion ou des achats en ligne. Que vous en ayez conscience ou non, le chiffrement fait déjà partie de vos communications par email, et chaque email que vous envoyez revient essentiellement à discuter sur une ligne sécurisée.

Même s’il existe divers protocoles de chiffrement, la plupart des clients de messagerie, comme Gmail, ont fait du chiffrement TLS (Transport Layer Security) un élément essentiel de leurs protocoles. Mais qu’est-ce que le TLS, et pourquoi est-il important pour l’équipe en charge des campagnes d’emailing d’affiner son contrôle de connexion TLS ? C’est ce que nous allons voir maintenant.

Pourquoi dois-je chiffrer mes emails ?

Commençons par les bases. Vous savez probablement qu’envoyer des messages sans chiffrement est risqué, mais que pourrait-il vraiment se passer si votre message n’était pas chiffré ? Voici quelques problèmes courants de cybersécurité auxquels vous seriez confronté si vous envoyiez et receviez des emails sans chiffrement :

  • Altération des messages : le chiffrement protège la transmission des données sécurisées et permet au destinataire de voir si le message a été modifié en cours de route.
  • Écoute clandestine : n’importe qui peut intercepter et lire vos emails lors de leur transit sur le réseau. Sans chiffrement, vous n’auriez aucune confidentialité. En des termes plus techniques, cela permet d’éviter les attaques de l’homme du milieu.
  • Atteinte à la vie privée : les emails non chiffrés transmettent également des informations sensibles, comme votre adresse IP, votre ville, ou même votre adresse postale, ce qui pourrait aussi compromettre votre confidentialité.
  • Usurpation d’identité : des pirates informatiques pourraient potentiellement intercepter vos informations de connexion si vous n’accédez pas à votre serveur d’email ou à votre site Web via une connexion chiffrée.

Ci-dessous, nous en apprendrons plus sur le TLS et sur la façon de l’intégrer à votre routine d’emailing.

Qu’est-ce que le TLS et pourquoi est-il important ?

Le TLS est un protocole cryptographique qui assure la sécurité de bout en bout des données envoyées entre les applications et les serveurs Web sur Internet. Il chiffre la connexion par laquelle les données sont envoyées sur Internet, empêchant ainsi des tiers de voir vos données, telles que vos mots de passe, vos numéros de carte de crédit et votre correspondance personnelle. En bref, envoyer un message via le protocole TLS revient à parler ouvertement sur une ligne téléphonique sécurisée.

Avant de se plonger dans ce qu’est exactement le TLS, commençons par une brève leçon d’histoire.

L’Internet Engineering Task Force (IETF) a défini le TLS 1.0 en 1999. Avant cela, le Secure Socket Layer (SSL) était le protocole de chiffrement standard sur Internet. Aujourd’hui, les certificats SSL signifient simplement qu’un site Web particulier utilise une forme de protocole cryptographique pour vérifier la propriété du domaine, un rôle rempli par le TLS. En réalité, le certificat SSL devrait plutôt s’appeler certificat TLS, car il utilise le TLS, et non le SSL.

Rassurez-vous : le TLS utilisé par les systèmes modernes ne date pas vraiment de 1999. Les versions 1.0 et 1.1 du TLS ont été abandonnées en 2020 et ne sont plus utilisées par la plupart des services d’emailing. Aujourd’hui,  le TLS 1.3 est la version actuelle du protocole et le TLS 1.2 continue d’être pris en charge.

Quelle est la différence entre le TLS, le SSL et le HTTP ?

Le TLS est le protocole de chiffrement permettant de sécuriser la majeure partie d’Internet, et il est facile de repérer quels sites sont conformes ou non. Jetez un œil à l’URL de cet article et remarquez qu’elle commence par « https » et présente une icône de cadenas fermé gris. Les connexions sécurisées par le TLS portent le libellé Hypertext Transfer Protocol Secure (HTTPS) au lieu de simple HTTP.

Quels sont les trois principaux éléments permis par le protocole TLS ?

L’histoire ancienne mise à part, le TLS est important car ce protocole permet trois choses principales :

  • Le chiffrement : le TLS protège les données contenues dans vos emails contre les tiers.
  • L’authentification : le TLS authentifie le serveur (et facultativement, le client) depuis lequel un message est envoyé.
  • L’intégrité : le TLS vérifie l’intégrité des données pour s’assurer qu’elles sont à l’abri de toute falsification et altération.

Tous ces éléments fonctionnent ensemble pour garantir une expérience d’emailing sécurisée de bout en bout, aussi bien pour vous que pour vos abonnés.

Pourquoi les entreprises devraient-elles utiliser le protocole TLS, et quels sont les différents niveaux de certifications de sécurité SSL/TLS ?

Une vigilance constante est la clé pour prévenir les violations de données et autres attaques de cybersécurité. Utilisez le chiffrement TLS pour renforcer la sécurité des données de votre entreprise sur le Web, dans vos campagnes d’email marketing et dans vos emails transactionnels. La plupart des navigateurs alerteront également les utilisateurs si votre site Web ou vos communications par email ne sont pas sécurisés, ce qui pourrait entraîner une baisse du trafic Web et nuire à la légitimité de votre marque.

Bien que le TLS offre une sécurité adéquate pour les communications, votre entreprise peut avoir besoin d’une authentification étendue pour offrir une protection accrue des données sensibles. Dans ces cas, votre organisation peut opter pour des certificats d’authentification TLS/SSL de niveau entreprise, qui se déclinent selon les trois niveaux de sécurité suivants :

  • Certificats à validation de domaine\u00A0: Il s’agit du certificat TLS/SSL le plus basique, qui exige que vous prouviez que vous contrôlez le nom de domaine que vous avez fourni. Gardez à l’esprit que le certificat à validation de domaine ne confirme ni votre identité ni celle de votre entreprise.
  • Certificats à validation d’organisation\u00A0: Ce certificat vient s’ajouter au certificat à validation de domaine. Non seulement il exige de prouver que vous contrôlez le nom de domaine fourni, mais il requiert également de démontrer que votre entreprise est légalement enregistrée en tant que société. Nous le recommandons pour les sites ouverts au public qui collectent des données auprès de vos utilisateurs.
  • Certificats à validation étendue\u00A0: Il s’agit du certificat TLS/SSL le plus sécurisé. En plus de prouver la propriété de votre nom de domaine et d’établir la légalité de votre entreprise, ces certificats incluent des étapes de vérification supplémentaires conçues pour protéger les données contre toute altération.

Qu’est-ce que le handshake TLS et comment fonctionne-t-il\u00A0?

Maintenant que nous savons ce qu’est le TLS, voyons comment fonctionne exactement le protocole TLS pour sécuriser vos communications en ligne.

Le TLS moderne, y compris les versions 1.2 et 1.3, utilise deux types de cryptographie pour maintenir des performances élevées et une sécurité fiable\u00A0:

  • La cryptographie symétrique\u00A0: Elle chiffre les données à l’aide d’une clé secrète qui a été partagée à la fois avec l’expéditeur et le destinataire. Gardez à l’esprit que cette clé secrète doit avoir une longueur d’au moins 128 bits.
  • La cryptographie asymétrique\u00A0: Elle chiffre les données avec des paires de clés composées d’une clé privée et d’une clé publique. La cryptographie asymétrique est plus sécurisée que la simple utilisation d’une clé secrète, mais elle exige également une bande passante plus importante puisque la longueur minimale recommandée de la clé est de 1\u00A0024 bits.

Le TLS utilise le chiffrement asymétrique pour établir une session sécurisée entre un client et un serveur. Ensuite, il utilise le chiffrement symétrique pour échanger des données au sein de la session sécurisée. Ce processus est défini comme le handshake TLS\u00A0: le processus par lequel la communication entre un client et un serveur est établie et définie.

En d’autres termes, le processus du handshake TLS est une négociation entre le client de messagerie ou le navigateur Web qui envoie votre message, et le serveur Web avec lequel il interagit. Les deux parties se rencontrent, s’identifient mutuellement, s’authentifient, désignent des algorithmes de chiffrement et s’accordent sur des clés de session sécurisées.

Voici comment fonctionne un handshake TLS 1.3\u00A0:

Diagramme de séquence d'un handshake TLS 1.3 montrant l'échange de clés, les paramètres du serveur, l'authentification et les données d'application
Schéma du handshake TLS 1.3 (Source)
  1. Le client contacte le serveur avec un message «\u00A0client hello\u00A0». Ce message alerte le serveur sur la version TLS du client afin de vérifier la compatibilité. Il partage également une clé et les suites de chiffrement du client. À partir de là, la clé est utilisée pour chiffrer et déchiffrer les messages.
  2. Le serveur répond au message et à la clé partagée du client avec un message «\u00A0server hello\u00A0». Ce message partage une clé en réponse et indique les versions prises en charge par le serveur. Le serveur peut également demander un certificat TLS/SSL et le vérifie.
  3. Le client reçoit le certificat et le vérifie, ce qui termine la partie côté client du handshake TLS.

Désormais, le client peut communiquer avec le serveur en utilisant un protocole HTTP.

Comment personnaliser les paramètres de connexion email avec Mailgun\u00A0?

Mailgun implémente un TLS opportuniste par défaut. Chaque fois que nous nous connectons à un serveur d’échange d’email (MX), nous essayons d’abord de mettre à niveau la connexion vers une connexion TLS pour livrer vos messages. Toutefois, s’il n’est pas proposé ou qu’une erreur se produit lors de l’établissement de la connexion (comme un certificat non valide, par exemple), nous utilisons une connexion SMTP en texte clair à la place.

Nous avons également implémenté des moyens vous permettant de personnaliser vos paramètres de connexion pour la livraison de vos messages\u00A0:

  • En rendant accessible un nouvel indicateur pour garantir que les messages ne sont livrés que via une connexion TLS.
  • En vous permettant d’activer ou de désactiver la vérification des certificats.
  • En affichant dans nos Logs le serveur MX auquel nous avons livré le message, l’état TLS de la connexion, et si nous avons vérifié ou non le certificat lors de la livraison.

Analysons chacun de ces points ci-dessous.

Comment garantir que les messages sont livrés via une connexion TLS\u00A0?

Nous avons ajouté un nouvel indicateur – require tls – qui vous permet de contrôler la façon dont vos messages sont livrés. Réglez cet indicateur sur True pour exiger que le message soit envoyé via une connexion TLS. Si une connexion TLS ne peut pas être établie, Mailgun ne livrera pas le message.

La valeur par défaut de require tls est False, ce qui signifie que nous essaierons d’utiliser une connexion TLS, mais que nous livrerons tout de même votre email via une connexion SMTP en texte clair si nous ne pouvons pas utiliser le TLS.

Comment activer ou désactiver la vérification des certificats\u00A0?

Le nouvel indicateur skip verification vous permet d’activer ou de désactiver la vérification du certificat et du nom d’hôte. S’il est réglé sur True, Mailgun ne vérifiera pas le certificat ni le nom d’hôte lors de la tentative d’établissement d’une connexion TLS. Au lieu de cela, Mailgun acceptera n’importe quel certificat lors de la livraison.

Par défaut, skip verification est réglé sur False, ce qui signifie que nous essaierons de vérifier le certificat et que si nous n’y parvenons pas, aucune connexion TLS ne sera établie.

Comment consulter les détails sur la façon dont mon email a été livré\u00A0?

Nous avons ajouté trois indicateurs supplémentaires dans nos Logs qui vous donnent des informations sur la façon dont votre email a été livré. Tout d’abord, accédez au document delivery-status. Ensuite, recherchez les indicateurs suivants\u00A0:

  • tls\u00A0: cet indicateur précise si nous avons utilisé ou non une connexion TLS pour livrer votre message.
  • certificate-verified\u00A0: cet indicateur précise si nous avons vérifié ou non le certificat lors de la livraison de votre message.
  • mx-host\u00A0: indique le serveur MX auquel nous nous sommes connectés pour livrer votre message.

Quels sont des exemples d’envoi d’emails avec des paramètres de connexion personnalisés dans Mailgun\u00A0?

Mettons les indicateurs ci-dessus en pratique. Dans cette section, nous passerons en revue des exemples d’envoi d’emails avec des paramètres de connexion personnalisés dans Mailgun, notamment\u00A0:

  • L’envoi d’un seul message avec des connexions personnalisées.
  • La configuration de l’ensemble d’un domaine d’envoi pour livrer des messages avec des connexions personnalisées.
  • La vérification de votre configuration.

Comment envoyer un seul email avec des paramètres de connexion personnalisés\u00A0?

Si vous avez un seul message que vous souhaitez livrer avec des paramètres de connexion personnalisés, vous pouvez utiliser le code ci-dessous\u00A0:

                                

                                    curl -sk --user 'api:API_KEY'   
    https://api.mailgun.net/v3/DOMAIN_NAME/messages 
    -F from='foo@example.com' 
    -F to='bar@example.com' 
    -F subject='Hello' 
    -F text='Testing some Mailgun awesomness!' 
    -F o:require-tls='false' 
    -F o:skip-verification='true'
                                
                            

Comment configurer un domaine d’envoi pour livrer des emails avec des paramètres de connexion personnalisés\u00A0?

Si vous souhaitez configurer l’ensemble d’un domaine d’envoi pour livrer des messages d’une manière particulière, consultez le code ci-dessous\u00A0:

                                

                                    curl -sk --user 'api:API_KEY'   
    -X PUT https://api.mailgun.net/v3/domains/DOMAIN_NAME/connection 
    -F require_tls='false' 
    -F skip_verification='true'
                                
                            

Vous pouvez également modifier vos paramètres de domaine pour n’importe quel domaine spécifique via le panneau de contrôle de Mailgun. Pour ce faire, rendez-vous dans votre onglet d’envoi et faites défiler jusqu’à `domain settings`, de là, vous pouvez modifier vos paramètres TLS sous la section `security`.

Paramètres de sécurité : connexion TLS définie sur Opportuniste et vérification de certificat définie sur Requise

Comment vérifier la configuration de ma connexion personnalisée\u00A0?

Vous craignez d’avoir fait une erreur\u00A0? Vous pouvez vérifier que votre configuration est correcte avec le code ci-dessous\u00A0:

                                

                                    curl -sk --user 'api:API_KEY'   
    -X GET https://api.mailgun.net/v3/domains/DOMAIN_NAME/connection
                                
                            

Conclusion

Et c’est tout ! Nous avons appris comment le protocole TLS fonctionne et quelques façons de personnaliser vos paramètres de connexion avec Mailgun.

Si vous souhaitez en savoir plus, consultez notre documentation ici, ou inscrivez-vous à un essai gratuit.