Quelqu’un transfère un fil « confidentiel » vers une adresse personnelle. Une semaine plus tard, il apparaît dans une procédure de discovery.
Vous demandez : « Était-ce chiffré ? » et trois équipes répondent trois choses différentes : « Oui, nous utilisons TLS », « Oui, nous avons S/MIME », « Oui, Outlook affiche un cadenas. »
La sécurité des e‑mails est un musée de demi‑solutions. TLS peut être une vraie protection ou du théâtre poli.
S/MIME peut assurer une protection de bout en bout ou devenir un enfer de certificats. Cet article est la carte
pour décider de ce qui réduit réellement le risque, et comment le vérifier avec des commandes plutôt qu’avec des impressions.
Ce que font réellement TLS et S/MIME (et ce qu’ils ne font pas)
TLS pour l’e‑mail : protège la route, pas le colis
Quand les gens disent « l’e‑mail est chiffré », ils veulent généralement dire : « notre serveur de mail utilise TLS lorsqu’il communique
avec d’autres serveurs de mail. » C’est le chiffrement de transport. Il protège les données en transit entre :
- votre client et votre fournisseur (IMAPS/POP3S/HTTPS), et/ou
- votre serveur d’envoi et le serveur destinataire (SMTP avec STARTTLS).
C’est important. Sans TLS, toute personne ayant accès au chemin réseau peut renifler les messages.
Avec TLS, l’interception passive devient beaucoup plus difficile.
Mais TLS ne signifie pas confidentialité de bout en bout. Votre message reste :
- visible par votre fournisseur et celui du destinataire,
- stocké sur des serveurs (souvent plusieurs),
- indexé, filtré et scanné,
- souvent modifié par des passerelles (pied de page, avertissements, DLP, journalisation).
TLS est comme une camionnette de coursier verrouillée. Le personnel de l’entrepôt ouvre toujours chaque colis à l’arrivée.
S/MIME : protège le colis, mais exige un véritable carnet d’adresses et de la discipline
S/MIME signe et/ou chiffre le contenu du message à l’aide de certificats utilisateurs.
Deux fonctions distinctes :
- Signature numérique (intégrité + authentification de l’expéditeur, si l’on fait confiance au certificat) : prouve que le message n’a pas été modifié et le lie à une clé de signature.
- Chiffrement (confidentialité) : seuls les destinataires disposant des bonnes clés privées peuvent déchiffrer.
C’est plus proche du « bout en bout », mais attention au terme. Si vous déchiffrez dans une passerelle
pour scanner, archiver ou ajouter des bannières, vous avez simplement déplacé la fin de l’« end‑to‑end » du poste utilisateur à la passerelle.
Parfois c’est acceptable. Parfois c’est l’objectif. Dites‑le clairement.
La confusion commune, en une phrase
TLS protège le transport hop‑par‑hop ; S/MIME protège l’objet message de bout en bout (ou du moins sur plusieurs sauts), mais dépend de la gestion des certificats.
Petite blague #1 : Si votre politique dit « les e‑mails sont chiffrés » sans préciser TLS ou S/MIME, c’est chiffré comme « nous surveillons tout » signifie « nous avons un tableau de bord quelque part. »
Ce qui réduit le plus souvent la menace
Dans les environnements d’entreprise réels, les plus grands réductions de risque ne sont généralement pas « activer S/MIME partout ».
Ce sont :
- Une sécurité de transport correcte (TLS réellement négocié, avec des suites saines et validation des certificats quand possible).
- Contrôles anti‑usurpation (SPF, DKIM, DMARC) pour arrêter l’usurpation d’identité et réduire le phishing.
- Hygiène d’identité et des postes de travail (MFA, gestion des appareils, patching, EDR).
- Chiffrement ciblé de bout en bout (S/MIME) pour les flux à haute sensibilité lorsque vous pouvez supporter le cycle de vie PKI.
Si vous ne faites que S/MIME mais laissez DMARC en mode « none », vous avez verrouillé le journal intime et laissé la porte d’entrée ouverte.
Les attaquants n’ont pas besoin de lire vos e‑mails s’ils peuvent envoyer de façon convaincante « nouveaux détails bancaires » en se faisant passer pour votre CFO.
Modèles de menace pertinents pour les entreprises réelles
1) Interception passive sur le réseau
Pensez : Wi‑Fi compromis, segment d’un FAI hostile, ou quelqu’un qui écoute un lien interne
entre une agence et un datacenter. TLS est votre défense de base ici.
Sans TLS, SMTP est de la sécurité « carte postale ».
S/MIME aide aussi, mais c’est excessif si votre risque principal est « ne pas fuir sur le fil »
et que vous pouvez appliquer TLS correctement.
2) Infrastructure mail compromise
Si le fournisseur de messagerie ou une passerelle est compromis (ou contraint), TLS ne sert à rien parce que
l’attaquant voit le mail une fois qu’il arrive sur le serveur. Le chiffrement S/MIME peut empêcher
l’exposition du contenu si les clés privées restent sur les postes et que vous n’effectuez pas de déchiffrement en passerelle.
3) Altération des messages et « fraude sur chaîne de réponses »
Les attaquants aiment modifier des PDF de factures et réécrire des instructions de paiement. Une signature
S/MIME correctement validée vous donne une intégrité cryptographique : le message (et les pièces jointes) n’ont pas été altérés
après signature. TLS ne vous donne pas d’intégrité durable de bout en bout à travers le transfert, le stockage et la réexpédition.
4) Usurpation et impersonation
Les utilisateurs voient « Nom du CEO » dans l’affichage From et cliquent dans la panique.
TLS n’empêche pas cela. Les signatures S/MIME peuvent aider en interne (les utilisateurs apprennent à faire confiance à l’indicateur « signé »),
mais opérationnellement, DMARC est votre contrôle pratique pour l’Internet en général.
5) Conformité et défense juridique
Beaucoup d’organisations veulent « chiffrement » pour cocher une case. Très bien. Mais soyez honnêtes sur ce que vous vérifiez.
Si l’exigence est « chiffrer en transit », TLS suffit. Si c’est « seuls les destinataires prévus peuvent lire »,
vous avez besoin d’un chiffrement au niveau du message (S/MIME ou équivalent), plus une gestion forte des clés.
Le mode d’échec ici consiste à écrire des politiques que vous ne pouvez pas prouver. Les auditeurs ne s’intéressent pas à vos sentiments ;
ils veulent des preuves.
Faits et contexte historique utiles (pour arrêter de répéter les erreurs de 1999)
- SMTP a été conçu sans chiffrement ni authentification. Il supposait un réseau amical d’hôtes coopérants. C’est adorable aujourd’hui.
- STARTTLS a été ajouté plus tard comme mécanisme d’amélioration. Par défaut il est opportuniste : si l’autre côté ne l’offre pas, la session continue en clair à moins que vous n’appliquiez des politiques.
- Les premières attaques de rétrogradation TLS exploitaient des opportunités de suppression de STARTTLS. Si un attaquant peut modifier le trafic, il peut parfois supprimer l’annonce STARTTLS et forcer le clair à moins que l’expéditeur n’exige TLS.
- S/MIME est issu de la famille « Secure MIME » et de la culture PKI d’entreprise. Il s’aligne bien avec les autorités de certification d’entreprise, les cartes à puce et les identités gérées—lorsqu’il est bien administré.
- PGP et S/MIME ont résolu des problèmes similaires mais ont évolué dans des écosystèmes différents. PGP s’est orienté vers un modèle décentralisé « web of trust » ; S/MIME vers des CA hiérarchiques et l’émission d’entreprise.
- DMARC est relativement récent comparé à SMTP. Il a été largement adopté après des années de problèmes de phishing, et dépend d’idées d’alignement SPF/DKIM qui embrouillent tout le monde au moins une fois.
- La dépréciation de SHA‑1 a été un déclencheur. Les anciens déploiements S/MIME et TLS ont cassé lorsque les hachages et signatures faibles n’étaient plus acceptés par les clients modernes.
- L’expiration des certificats n’est pas un risque théorique. Les certificats expirés ne cassent pas seulement TLS ; ils brisent les indicateurs de confiance S/MIME et peuvent créer un comportement « non signé » que les utilisateurs ignorent.
- Les fournisseurs activent de plus en plus TLS par défaut, mais pas toujours avec des garanties de politique. Vous pouvez avoir du « TLS la plupart du temps » et toujours fuir sur certains trafics partenaires à moins d’appliquer des règles.
TLS dans SMTP : STARTTLS, MTA‑STS, DANE et les aspects délicats
STARTTLS : opportuniste tant que vous ne le rendez pas obligatoire
SMTP avec STARTTLS est le déploiement courant : se connecter sur le port 25, saluer, voir si le serveur annonce STARTTLS,
puis négocier TLS et continuer. Dans le modèle « opportuniste » par défaut :
- Si TLS est disponible et que la poignée de main réussit, vous avez le chiffrement.
- Si TLS n’est pas disponible, vous livrez quand même—en clair—parce que la livraison des e‑mails est priorisée sur la confidentialité.
Ce n’est pas du « mail sécurisé ». C’est du « meilleur effort ». Parfois c’est acceptable ; parfois cela viole la politique.
Si votre modèle de risque dit que le clair est inacceptable, vous avez besoin de mécanismes d’application.
MTA‑STS : politique pour « exiger TLS vers ce domaine »
MTA‑STS permet à un domaine de publier une politique disant, en gros : « lorsque vous nous envoyez un mail, exigez TLS et validez notre certificat MX. »
Il réduit les attaques de rétrogradation et rend les échecs explicites (le mail peut rebondir plutôt que redescendre en clair).
Ce n’est pas parfait—la récupération de la politique et la confiance ont leur propre complexité—mais c’est un levier pratique.
DANE : TLS avec authenticité soutenue par DNSSEC
DANE lie le certificat TLS attendu au DNS (sécurisé par DNSSEC). C’est élégant, et l’adoption varie.
Si vous pouvez exécuter DNSSEC et le maintenir de façon fiable, DANE peut fournir des garanties d’authenticité plus fortes que
l’écosystème des CA publiques pour SMTP.
Ce que TLS vous apporte, réalistement
TLS pour SMTP défend principalement contre l’écoute passive et l’interception occasionnelle.
Il réduit aussi les altérations triviales du contenu en transit, mais il ne fournit pas une revendication d’intégrité durable de bout en bout
parce que le message peut être modifié sur les serveurs et renvoyé.
Le gain est énorme pour l’hygiène de base. Mais ne le survendez pas comme « seul le destinataire peut le lire ».
Les problèmes opérationnels auxquels vous serez confrontés
- Partenaires legacy qui ne supportent pas TLS correctement, ou présentent des certificats cassés.
- Middleboxes qui interfèrent avec la négociation TLS ou imposent des préférences de chiffrements étranges.
- Confiance excessive due à « on a configuré TLS une fois » sans vérifier les sessions réellement négociées et les repliements.
- Politiques non alignées : la sécurité veut « exiger TLS », les commerciaux veulent « ne jamais faire rebondir un mail ». Choisissez. Ou segmentez par partenaire et type de message.
S/MIME en pratique : signatures, chiffrement et réalité PKI
Commencez par la signature, pas par le chiffrement
Si vous essayez de déployer d’abord le chiffrement S/MIME partout, vous découvrirez la distribution des certificats,
la découverte des destinataires et la récupération des clés à 2 h du matin lors d’une escalade VIP.
Commencez par la signature :
- Les utilisateurs obtiennent un certificat ; les clients signent les messages sortants.
- Les destinataires peuvent valider l’intégrité et l’identité (s’ils font confiance à la chaîne d’émission).
- Vous constrisez des muscles opérationnels : enrôlement, renouvellement, révocation, configuration client et dépannage.
Puis ajoutez le chiffrement pour des groupes et workflows spécifiques qui justifient la friction.
Pourquoi le chiffrement est plus difficile que la signature
Chiffrer pour quelqu’un nécessite sa clé publique. Cela signifie :
- vous avez besoin d’un annuaire (GAL) ou d’un processus d’échange de clés automatique,
- vous devez gérer les destinataires externes (partenaires, clients),
- vous devez gérer la rotation des clés et les certificats expirés de façon élégante.
Aussi : vous avez besoin d’une stratégie de récupération de clés. Les gens perdent des ordinateurs portables. Les gens partent.
Si votre posture de conformité exige de décrypter les anciens mails, vous devez concevoir une mise en séquestre/archivage des clés.
Ce n’est pas du « pur bout en bout », mais cela peut être nécessaire.
Interactions avec les passerelles : où S/MIME devient bizarre
Beaucoup d’entreprises utilisent des passerelles de sécurité e‑mail pour le DLP, le scan antimalware, les bannières et la journalisation.
S/MIME casse le modèle « modifier le message » : le contenu chiffré ne peut pas être scanné sauf s’il est déchiffré, et les messages signés
deviennent invalides si vous ajoutez des pieds de page ou changez les en‑têtes/corps.
Vous devez choisir :
- S/MIME vrai poste client : les passerelles ne modifient pas le contenu ; le scan a lieu sur les postes ou avant le chiffrement. Forte confidentialité, changements opérationnels.
- Déchiffrement/rechiffrement en passerelle : la passerelle détient les clés. Plus simple opérationnellement pour le scan et l’archivage, mais vous centralisez la confiance (et le rayon d’impact).
- Signature seulement + TLS de transport : pragmatique pour beaucoup d’organisations ; réduit la confusion de type usurpation en interne et améliore l’intégrité, sans prendre en charge tout le cycle de vie du chiffrement.
Indicateurs de confiance : les utilisateurs les comprendront mal
Les utilisateurs voient des icônes. Ils en tirent des conclusions. Un « cadenas » peut signifier TLS vers le serveur, chiffrement S/MIME, ou autre chose.
Votre travail est de rendre l’indicateur cohérent et de former à sa signification :
- Signé : « Je peux vérifier qui a signé ceci et il n’a pas été modifié. »
- Chiffré : « Seuls les détenteurs des clés privées peuvent le lire. »
- TLS : « Il n’a pas été envoyé en clair sur le réseau (en grande partie). »
L’authentification n’empêche pas l’usurpation : SPF, DKIM, DMARC
Soyons clairs : l’incident de sécurité e‑mail le plus courant en entreprise n’est pas quelqu’un qui écoute SMTP.
C’est quelqu’un qui envoie un message convaincant qui semble provenir de votre domaine (ou de vos dirigeants),
et un humain suit les instructions du message.
SPF : qui est autorisé à envoyer pour un domaine (en quelque sorte)
SPF vérifie si l’IP d’envoi est autorisée dans le DNS. Il répond principalement à : « Ce serveur est‑il autorisé à envoyer un mail
prétendant venir de ce domaine ? » Ce n’est pas une signature cryptographique du message.
Il casse aussi facilement avec le renvoi (forwarding) sauf si on le compense.
DKIM : le message est signé par le domaine
DKIM signe certains en‑têtes et le corps en utilisant une clé de domaine publiée dans le DNS. Il survit à de nombreux chemins de redirection.
Il peut encore être cassé par des intermédiaires qui modifient les parties signées (comme l’ajout de pieds de page).
DMARC : politique et alignement
DMARC indique aux récepteurs quoi faire quand SPF/DKIM échouent, et il exige un « alignement » entre le From visible
et les identifiants authentifiés. DMARC en mode « reject » est un contrôle anti‑usurpation tangible.
DMARC en mode « none » est un projet de reporting, pas une protection.
Si vous voulez arrêter l’impersonation à grande échelle, amenez DMARC vers l’application. Si vous voulez la confidentialité pour des fils spécifiques,
ajoutez S/MIME. Si vous voulez de l’hygiène de base, faites correctement TLS. Ce sont des outils différents.
Trois micro‑histoires d’entreprise depuis le terrain
Micro‑histoire n°1 : un incident causé par une mauvaise hypothèse (TLS ≠ « e‑mail chiffré »)
Une entreprise de services de taille moyenne avait une politique disant « tous les e‑mails sont chiffrés. » L’informatique le croyait.
Ils avaient STARTTLS activé sur leur MTA sortant, et les tableaux de bord montraient un fort taux TLS.
La sécurité a validé. Le juridique était rassuré. Personne n’a demandé « que se passe‑t‑il quand l’autre côté ne supporte pas TLS ? »
Un nouveau partenaire dans un secteur régulé a commencé à recevoir des messages en clair parce que son système entrant
n’offrait pas STARTTLS sur l’un de ses hôtes MX pendant une migration. Le MTA de l’expéditeur a fait ce que SMTP fait :
il a livré quand même. Le contenu incluait des données personnelles et des pièces de contrat qui devaient « être chiffrées. »
La découverte n’a même pas été dramatique. L’admin mail du partenaire a envoyé un courriel calme : « Nous voyons des connexions SMTP en clair depuis vos IP.
Est‑ce prévu ? » Soudain, tout le monde a relu la politique avec un œil différent.
La correction n’a pas été « déployer S/MIME demain. » Ils ont segmenté : exigé TLS pour ce domaine partenaire via une politique sur le MTA,
mis en place la surveillance des livraisons en clair, et mis à jour la rédaction de la politique pour séparer « chiffrement de transport » et « chiffrement de message ».
Les avocats détestent l’ambiguïté. Les attaquants l’adorent.
Micro‑histoire n°2 : une optimisation qui s’est retournée contre eux (pieds de page en passerelle vs DKIM et S/MIME)
Une autre organisation voulait une marque cohérente et des clauses de non‑responsabilité. Leur passerelle e‑mail sécurisée a appendu un pied de page
à tous les messages sortants. La demande de changement était présentée comme inoffensive : « ajoute juste quelques lignes. »
En quelques jours, les taux de passage DMARC ont chuté pour certains flux. Des partenaires ont signalé des avertissements d’usurpation.
La passerelle modifiait le corps après la signature DKIM pour certains flux, brisant les signatures. Leurs partenaires récepteurs
appliquaient DMARC plus strictement qu’eux.
Puis la vérification des signatures S/MIME a commencé à échouer aussi en interne. Les messages signés étaient modifiés par la passerelle,
invalidant la signature. Les utilisateurs voyaient « signature invalide » et ont appris la pire leçon possible : ignorer l’avertissement.
Le retour en arrière a été pénible parce que le pied de page était devenu « obligatoire. » Ils ont fini par ne modifier que les mails non signés,
déplacer l’étape de signature après l’insertion du pied de page pour certains systèmes, et isoler des flux protégés où le contenu
ne doit pas être modifié. Optimisation : pieds de page centralisés. Résultat : signaux de confiance détruits. Classique.
Micro‑histoire n°3 : une pratique ennuyeuse mais correcte qui a sauvé la situation (discipline du cycle de vie des certificats)
Un fabricant mondial gérait la signature S/MIME pour les dirigeants et les équipes financières. Rien de sophistiqué. La partie ennuyeuse était qu’ils
traitaient les certificats comme des dépendances de production : inventaire, automatisation du renouvellement, déploiements en étapes, et alertes
bien avant l’expiration. Pas d’héroïsme. Juste des échéances respectées à l’avance.
Lors d’un litige fournisseur, ils ont eu besoin de prouver qu’un fil d’e‑mail n’avait pas été modifié après envoi.
Le fournisseur prétendait que « les conditions de paiement avaient été modifiées ensuite. » L’entreprise a pu produire des messages signés
dont les signatures validaient encore des années plus tard parce qu’ils avaient préservé les chaînes de signature et gardé des enregistrements de l’état de la CA émettrice.
L’équipe juridique interne n’a pas eu à se battre sur des captures d’écran ou des exportations de boîtes. Ils avaient une évidence d’intégrité cryptographique.
Ce n’était pas de la « sécurité magique ». C’était le résultat d’avoir fait les tâches PKI peu sexy dans les temps.
C’est le type de victoire en sécurité qui ne fait jamais la une. Ça vous empêche juste de perdre de l’argent en silence.
Tâches pratiques : commandes, sorties et décisions
Ce ne sont pas des commandes de labo. Ce sont des commandes « je suis de garde et j’ai besoin de savoir ce qui est réel ».
Chaque tâche inclut : la commande, ce que la sortie signifie, et la décision à prendre.
Task 1: Verify an SMTP server offers STARTTLS and see the certificate
cr0x@server:~$ openssl s_client -starttls smtp -connect mx.partner.example:25 -servername mx.partner.example -showcerts
CONNECTED(00000003)
depth=2 C=US, O=Example Root CA, CN=Example Root CA 1
verify return:1
depth=1 C=US, O=Example Issuing CA, CN=Example Issuing CA 10
verify return:1
depth=0 CN=mx.partner.example
verify return:1
---
250-STARTTLS
---
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Verify return code: 0 (ok)
Signification : Le serveur annonce STARTTLS, négocie TLS 1.3, et le certificat se valide (verify return code 0).
Décision : Vous pouvez appliquer TLS à ce partenaire si la politique l’exige ; le certificat et la négociation semblent sains.
Task 2: Detect opportunistic TLS falling back to plaintext (no STARTTLS)
cr0x@server:~$ (echo "EHLO probe.example"; sleep 1; echo "QUIT") | nc -w 3 mx.legacy.example 25
220 mx.legacy.example ESMTP
250-mx.legacy.example
250-SIZE 20480000
250-PIPELINING
250 HELP
Signification : Pas de ligne 250-STARTTLS. Cet hôte ne négociera pas TLS.
Décision : Si c’est un domaine avec lequel vous échangez des données sensibles, ajoutez une politique « exiger TLS » et acceptez les rebonds, ou utilisez un canal sécurisé alternatif.
Task 3: Confirm your Postfix actually uses TLS for outbound delivery
cr0x@server:~$ sudo postconf -n | egrep 'smtp_tls_security_level|smtp_tls_loglevel|smtp_tls_policy_maps'
smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
Signification : TLS est opportuniste (may), le niveau de journalisation est faible, et une map de politiques existe.
Décision : Gardez may globalement, mais appliquez encrypt pour des partenaires/domains spécifiques dans tls_policy. Augmentez temporairement le niveau de logs pour le dépannage.
Task 4: Enforce TLS to one partner domain in Postfix and verify the map
cr0x@server:~$ sudo bash -lc 'printf "partner.example encrypt\n" >> /etc/postfix/tls_policy && postmap /etc/postfix/tls_policy && postmap -q partner.example /etc/postfix/tls_policy'
encrypt
Signification : Postfix exigera TLS pour partner.example.
Décision : C’est la correction pragmatique quand la politique dit « ne jamais envoyer en clair à ce partenaire ». Attendez‑vous à des rebonds si leur TLS casse ; c’est voulu.
Task 5: Check outbound delivery logs for TLS negotiation vs plaintext (Postfix)
cr0x@server:~$ sudo grep -E 'status=sent|TLS connection established|no starttls' /var/log/mail.log | tail -n 6
Jan 04 10:11:33 mail postfix/smtp[12091]: TLS connection established to mx.partner.example[203.0.113.10]:25: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
Jan 04 10:11:34 mail postfix/smtp[12091]: 4F2C220A1F: to=<ap@partner.example>, relay=mx.partner.example[203.0.113.10]:25, delay=1.2, delays=0.1/0/0.6/0.5, dsn=2.0.0, status=sent (250 2.0.0 Ok)
Jan 04 10:12:02 mail postfix/smtp[12110]: warning: TLS is required, but was not offered by host mx.legacy.example[198.51.100.20]
Jan 04 10:12:02 mail postfix/smtp[12110]: 9A8D420A45: to=<acct@legacy.example>, relay=none, delay=0.5, dsn=4.7.4, status=deferred (TLS is required, but was not offered by host mx.legacy.example[198.51.100.20])
Signification : Le premier message a été envoyé via TLS. Le second a été différé parce que TLS était requis mais indisponible.
Décision : Pour les domaines sensibles, c’est le comportement correct. Contactez le partenaire ou mettez en place un canal alternatif ; ne « permettez pas temporairement le clair » puis n’y pensez plus.
Task 6: Check negotiated TLS protocol/cipher from an MTA that supports submission (587)
cr0x@server:~$ openssl s_client -starttls smtp -connect smtp.example.com:587 -servername smtp.example.com 2>/dev/null | egrep 'Protocol|Cipher|Verify return code'
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Verify return code: 0 (ok)
Signification : TLS fonctionne, mais a négocié TLS 1.2 (pas forcément mauvais). Le certificat se valide.
Décision : Si votre baseline exige TLS 1.2+, vous êtes bon. Si vous avez besoin de TLS 1.3, ajustez la configuration serveur et vérifiez la compatibilité client.
Task 7: Spot a certificate mismatch (common with load balancers and old MX hosts)
cr0x@server:~$ openssl s_client -starttls smtp -connect mx.weird.example:25 -servername mx.weird.example 2>/dev/null | openssl x509 -noout -subject -issuer
subject=CN=mail.othername.example
issuer=CN=Example Issuing CA 10,O=Example Issuing CA,C=US
Signification : Le CN du certificat ne correspond pas au nom de serveur connecté.
Décision : Le TLS opportuniste peut encore chiffrer, mais le TLS authentifié (MTA‑STS ou validation stricte) peut échouer. Corrigez le certificat MX/SANs ou ajustez les cibles DNS/MX.
Task 8: Validate a local S/MIME certificate expiration and key usage
cr0x@server:~$ openssl x509 -in alice-smime.crt -noout -subject -issuer -dates -text | egrep 'Subject:|Issuer:|Not Before|Not After|Key Usage|Extended Key Usage' -A1
Subject: CN=Alice Example, emailAddress=alice@example.com
Issuer: CN=Corp Issuing CA 3
Not Before: Jan 1 00:00:00 2025 GMT
Not After : Jan 1 00:00:00 2026 GMT
Key Usage: Digital Signature, Key Encipherment
Extended Key Usage: E-mail Protection
Signification : Le certificat est valide pour la protection des e‑mails et expirera le 1er janv. 2026.
Décision : Programmez des alertes de renouvellement bien avant l’expiration ; si l’EKU manque « E‑mail Protection », ne perdez pas de temps à dépanner Outlook—réémettez le certificat correctement.
Task 9: Verify an S/MIME signature on a saved email message
cr0x@server:~$ openssl smime -verify -in signed.eml -CAfile corp-root-ca.pem -out /tmp/verified.txt
Verification successful
Signification : La signature est intacte et chaînée à votre bundle CA fourni.
Décision : Si un utilisateur signale « signature invalide », reproduisez avec ceci. Si ça échoue, vérifiez les modifications en passerelle ou les CA intermédiaires manquantes.
Task 10: Decrypt an S/MIME encrypted message to confirm it’s actually encrypted end-to-end
cr0x@server:~$ openssl smime -decrypt -in encrypted.eml -recip bob-smime.crt -inkey bob-smime.key -out /tmp/decrypted.txt
Signification : Si la commande réussit et produit du texte clair, le message a bien été chiffré S/MIME pour Bob.
Décision : Si le déchiffrement échoue, vous avez probablement la mauvaise clé privée, un décalage de certificat ou le message n’a jamais été chiffré S/MIME (juste TLS en transit).
Task 11: Check whether a domain publishes DMARC and what the policy is
cr0x@server:~$ dig +short TXT _dmarc.example.com
"v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; adkim=s; aspf=s"
Signification : La politique DMARC est reject avec alignement strict pour DKIM et SPF.
Décision : Ce domaine prend l’anti‑usurpation au sérieux. Si c’est le vôtre, bien. Sinon, attendez‑vous à ce que leurs récepteurs rejettent les messages mal alignés ; ajustez vos systèmes d’envoi.
Task 12: Check DKIM selector record exists (common “it broke after rotation” issue)
cr0x@server:~$ dig +short TXT s1._domainkey.example.com
"v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt3..."
Signification : La clé publique DKIM est publiée pour le sélecteur s1.
Décision : Si les rapports DMARC montrent des échecs DKIM après un déploiement, confirmez que le sélecteur dans les en‑têtes du mail correspond à un enregistrement publié et que la clé n’a pas été tronquée par une mauvaise configuration DNS.
Task 13: Confirm SPF record and spot dangerous “+all” or missing includes
cr0x@server:~$ dig +short TXT example.com | grep -i 'v=spf1'
"v=spf1 ip4:203.0.113.0/24 include:_spf.mailvendor.example -all"
Signification : SPF autorise une plage IP et un include fournisseur, et utilise -all pour refuser tout le reste.
Décision : C’est la forme souhaitable. Si vous voyez ~all, vous êtes en « soft fail » ; souvent acceptable lors d’une migration, mais pas l’état final.
Task 14: Inspect an email file for Received headers and Authentication-Results
cr0x@server:~$ sed -n '1,80p' suspicious.eml | egrep -i '^(From:|To:|Subject:|Received:|Authentication-Results:|DKIM-Signature:)'
From: "Finance Ops" <finance@example.com>
To: ap@partner.example
Subject: Updated remittance details
Received: from unknown (HELO smtp.attacker.example) (198.51.100.99) by mx.partner.example with ESMTP; Fri, 03 Jan 2026 21:02:11 +0000
Authentication-Results: mx.partner.example; dmarc=fail (p=reject) header.from=example.com; spf=fail smtp.mailfrom=example.com; dkim=none
Signification : DMARC et SPF ont échoué ; DKIM absent. C’est de l’usurpation classique.
Décision : Traitez comme un incident d’usurpation, pas un « problème TLS ». La correction est la mise en application de DMARC pour votre domaine et la formation des utilisateurs, pas « chiffrer plus ».
Task 15: Check whether your mail service is advertising the right TLSA records (DANE) (if you use DNSSEC)
cr0x@server:~$ dig +short TLSA _25._tcp.mx.example.com
3 1 1 9F4A0A4E3E3B2A6F5E0D0F19C0A9E3C7B7D3A1F9E8B8C2E6A0D0C1B2A3F4E5D6
Signification : Un enregistrement TLSA existe pour l’hôte MX. Sa confiance dépend de la validation DNSSEC par les expéditeurs.
Décision : Si vous vous reposez sur DANE, surveillez l’état DNSSEC et la fraîcheur des enregistrements ; une chaîne cassée ici est une régression silencieuse de sécurité.
Task 16: Confirm your TLS certificate chain served by the MTA includes intermediates
cr0x@server:~$ openssl s_client -starttls smtp -connect mx.example.com:25 -servername mx.example.com -showcerts 2>/dev/null | awk '/BEGIN CERTIFICATE/{i++} {print > ("/tmp/cert" i ".pem")}'
cr0x@server:~$ for f in /tmp/cert*.pem; do echo "== $f =="; openssl x509 -noout -subject -issuer -in "$f"; done
== /tmp/cert1.pem ==
subject=CN=mx.example.com
issuer=CN=Corp Issuing CA 3
== /tmp/cert2.pem ==
subject=CN=Corp Issuing CA 3
issuer=CN=Corp Root CA
Signification : Le serveur fournit la feuille + l’intermédiaire. Bien.
Décision : Si les intermédiaires manquent, certains pairs échoueront la validation sous des politiques TLS strictes. Corrigez la configuration de la chaîne serveur avant d’appliquer MTA‑STS.
Petite blague #2 : La rotation des certificats est le seul sport où « on le fera plus tard » se transforme invariablement en « on le fait maintenant, en urgence ».
Une idée de fiabilité paraphrasée, parce qu’elle s’applique parfaitement ici : idée paraphrasée — Werner Vogels :
« Tout échoue ; concevez vos systèmes et vos opérations en partant de cette hypothèse. » S/MIME et TLS ne font pas exception.
Fiche de diagnostic rapide
Quand quelqu’un dit « la messagerie sécurisée est cassée », il veut généralement dire une des quatre choses suivantes :
(1) le mail a rebondi, (2) le mail a été livré mais marqué suspect, (3) signature invalide, ou (4) le chiffrement n’a pas eu lieu.
Ne commencez pas par débattre des définitions. Isolez d’abord la couche qui a échoué.
Première étape : déterminer ce que « sécurisé » était censé signifier
- Attente de sécurité du transport : TLS était‑il requis pour ce destinataire/domaine ?
- Attente de sécurité du message : la signature et/ou le chiffrement S/MIME étaient‑ils requis ?
- Attente d’identité : l’objectif était‑il d’empêcher l’usurpation (DMARC), pas la confidentialité ?
Deuxième étape : trouver où l’échec s’est produit (client, passerelle, MTA, destinataire)
- Couche client : Outlook/Apple Mail affiche « non signé », demande un certificat, ou ne peut pas déchiffrer.
- Couche passerelle : message modifié, pied de page ajouté, DLP réécrit le contenu.
- Couche MTA : STARTTLS non négocié, mismatch de certificat, politique refusant le clair.
- Couche destinataire : leur DMARC rejette, leur TLS est mal configuré, leur magasin de confiance S/MIME n’a pas votre CA.
Troisième étape : vérifier avec des preuves
- Consultez les logs du MTA pour la négociation TLS et les erreurs de politique (
TLS connection established, messagesTLS is required). - Interrogez le MX du destinataire avec
openssl s_client -starttls smtppour confirmer STARTTLS, le certificat et le protocole. - Inspectez les en‑têtes du message pour
Authentication-Results, DKIM, SPF et DMARC. - Si c’est du S/MIME : utilisez
openssl smime -verifyet confirmez que la passerelle ne l’a pas touché.
Quatrième étape : décider de échouer fermé ou ouvert
C’est là que la plupart des équipes évitent de trancher et créent des « exceptions temporaires » qui deviennent permanentes.
Pour les domaines partenaires sensibles, échouez fermé (bounce/defer en cas d’échec TLS).
Pour l’Internet en général, TLS opportuniste est acceptable, mais alors n’affirmez pas « tous les e‑mails sont chiffrés ».
Erreurs courantes (symptômes → cause racine → correction)
1) « Nous utilisons TLS » mais un partenaire montre des livraisons en clair
Symptômes : Le partenaire signale des sessions SMTP en clair ; votre équipe insiste sur le fait que TLS est activé.
Cause racine : STARTTLS est opportuniste ; vous n’avez pas appliqué TLS pour ce domaine, ou un hôte MX n’annonce pas STARTTLS.
Correction : Appliquez TLS par domaine (maps de politique), validez tous les hôtes MX, et surveillez explicitement les repliements en clair.
2) « Les signatures S/MIME sont invalides » juste après un changement de passerelle
Symptômes : Les utilisateurs voient des avertissements de signature invalide ; la vérification échoue de façon intermittente ; seules certaines routes sont affectées.
Cause racine : La passerelle modifie le corps/les en‑têtes après signature (pieds de page, bannières, réécriture de liens).
Correction : Cessez de modifier le contenu signé ; signez après modifications ; ou isolez les flux signés qui contournent la réécriture.
3) Le chiffrement S/MIME fonctionne en interne mais échoue vers des partenaires externes
Symptômes : L’option « Chiffrer » n’est pas disponible pour un destinataire externe, ou le mail ne peut pas être déchiffré côté partenaire.
Cause racine : Pas de découverte de clé publique, certificat destinataire obsolète/expiré, ou le partenaire ne fait pas confiance à votre chaîne CA.
Correction : Établissez un processus d’échange de certificats ; utilisez des certificats S/MIME publiquement dignes de confiance pour les échanges inter‑entreprises quand nécessaire ; vérifiez l’EKU et les SAN d’adresse e‑mail.
4) DMARC en « reject » et soudain vos systèmes légitimes rebondissent
Symptômes : Notifications SaaS ou e‑mails CRM rejetés chez les destinataires ; échec DMARC visible dans les en‑têtes.
Cause racine : Le système envoie avec votre domaine dans From mais sans DKIM ou SPF alignés (fréquent avec des expéditeurs tiers).
Correction : Configurez la signature DKIM pour l’émetteur au nom de votre domaine, ou utilisez un sous‑domaine avec une politique DMARC distincte ; ne faiblessez pas DMARC pour tout le domaine.
5) « Le chiffrement e‑mail » casse la journalisation et l’eDiscovery
Symptômes : L’équipe conformité ne peut pas lire les mails journalisés ; les archives stockent des blobs illisibles.
Cause racine : Chiffrement S/MIME pur poste client sans conception d’archivage/déchiffrement.
Correction : Décidez intentionnellement : séquestrez des clés, journalisez avant chiffrement, ou acceptez que certains messages ne soient pas lisibles centralement. Documentez et faites valider par le juridique.
6) Erreurs TLS apparaissent seulement pour certains destinataires et parfois seulement
Symptômes : Déferrals/rebonds sporadiques citant un échec de poignée de main TLS.
Cause racine : Le destinataire a plusieurs hôtes MX avec TLS inconsistant, ou votre MTA atteint différentes routes ; parfois vous tombez sur l’hôte « bon ».
Correction : Testez toutes les cibles MX ; exigez que le partenaire corrige sa flotte ; en attendant, utilisez des politiques par hôte si votre MTA le permet ou acceptez des délais de livraison.
7) Les utilisateurs pensent qu’un « cadenas » signifie « personne ne peut lire ceci »
Symptômes : Les utilisateurs envoient des données sensibles en supposant la confidentialité ; les revues d’incident montrent « mais c’était verrouillé. »
Cause racine : Ambiguïté de l’UI : le cadenas peut indiquer TLS vers le serveur ou S/MIME ; la formation et le vocabulaire sont insuffisants.
Correction : Standardisez un indicateur visible et un vocabulaire ; publiez une fiche interne avec captures d’écran ; appliquez le chiffrement pour certaines classifications via des politiques quand c’est possible.
8) Les renouvellements de certificats provoquent des pannes S/MIME soudaines
Symptômes : Certains destinataires ne peuvent plus déchiffrer les nouveaux mails chiffrés après renouvellement ; les anciens mails se déchiffrent correctement.
Cause racine : Le destinataire chiffre vers une ancienne clé publique mise en cache dans l’annuaire ; l’annuaire n’a pas été mis à jour ou plusieurs certificats actifs existent.
Correction : Mettez en place un basculement contrôlé : publiez les nouveaux certificats, conservez les anciens pour le déchiffrement, et assurez que les clients rafraîchissent les clés.
Listes de contrôle / plan pas à pas
Étape par étape : définissez ce que vous protégez (arrêtez de tout regrouper sous « chiffré »)
- Listez les catégories de messages : public, interne, confidentiel, régulé.
- Pour chaque catégorie, décidez : exiger TLS ? exiger la signature S/MIME ? exiger le chiffrement S/MIME ?
- Décidez du comportement en cas d’échec : rebond/différé vs autoriser le clair. Écrivez‑le comme politique, pas comme savoir tribal.
- Décidez où le déchiffrement est autorisé (poste seulement vs passerelle). Faites valider par le juridique/compliance.
Étape par étape : rendre TLS réel (pas aspirational)
- Inventoriez les MTAs sortants et relays (y compris les expéditeurs SaaS utilisant votre domaine).
- Activez et vérifiez STARTTLS ; corrigez les chaînes de certificats et les noms.
- Activez la journalisation à un niveau montrant les issues de négociation TLS pendant le déploiement.
- Mettez en œuvre l’application TLS par domaine pour les partenaires sensibles.
- Envisagez MTA‑STS pour votre domaine afin que d’autres puissent exiger TLS en vous envoyant des mails.
- Ajoutez une surveillance qui alerte sur les livraisons en clair vers les domaines devant être chiffrés.
Étape par étape : déployer S/MIME sans faire fondre votre support
- Commencez par la signature pour un groupe pilote (dirigeants/finance/juridique). Rendre d’abord la validation fiable.
- Choisissez un modèle d’émission : CA interne pour usage interne, publiquement dignes de confiance pour les workflows partenaires externes.
- Mettez en place l’enrôlement et l’automatisation du renouvellement quand c’est possible.
- Définissez la gestion des clés : clés liées à l’appareil, cartes à puce, ou keystores logiciels ; définissez sauvegarde et récupération.
- Décidez comment traiter les passerelles qui modifient le contenu ; isolez les flux signés/chiffrés.
- Étendez le chiffrement à des workflows justifiés ; ne l’imposez pas à tout le monde « pour la conformité ».
Étape par étape : corriger l’usurpation (parce que c’est toujours la source principale de douleur)
- Publiez un SPF précis ; incluez tous les expéditeurs légitimes ; évitez les mécanismes trop larges.
- Activez la signature DKIM pour tous les flux majeurs (MTA corporate, suites cloud, expéditeurs tiers).
- Activez le reporting DMARC pour voir qui envoie en votre nom.
- Passez la politique DMARC de
none→quarantine→rejectselon un plan de montée en charge. - Gérez les cas particuliers : redirections, listes de diffusion et systèmes incapables de signer DKIM ; utilisez des sous‑domaines.
Checklist opérationnelle : quoi surveiller en continu
- Taux de succès TLS par domaine de destination ; alertez sur le clair pour les domaines « TLS requis ».
- Croissance des files MTA due aux différés de politique TLS (rupture partenaire).
- Fenêtres d’expiration des certificats S/MIME (30/14/7 jours) pour les utilisateurs critiques.
- Tendances agrégées DMARC : taux de passage, principales sources non autorisées.
- Modifications de passerelle susceptibles de modifier le contenu (et donc casser DKIM/S/MIME).
FAQ
1) Si nous avons TLS partout, avons‑nous encore besoin de S/MIME ?
Ça dépend du modèle de menace. TLS protège en transit ; les fournisseurs et les passerelles lisent toujours le message.
Utilisez le chiffrement S/MIME lorsque vous avez besoin de confidentialité du message à travers les frontières d’infrastructure mail, ou lorsque vous avez besoin d’une intégrité durable via des signatures.
2) S/MIME arrête‑t‑il le phishing ?
Pas à grande échelle. Il peut aider en interne si les utilisateurs prêtent vraiment attention aux signatures et si la confiance des certificats est bien gérée.
Pour l’usurpation à l’échelle d’Internet, l’application DMARC est le contrôle pragmatique.
3) STARTTLS est‑il « sûr » ?
STARTTLS opportuniste est mieux que rien et est largement utilisé. Ce n’est pas une garantie : la livraison peut retomber en clair.
Si vous avez besoin de garanties, exigez TLS par domaine (et envisagez MTA‑STS ou DANE lorsque c’est approprié).
4) Pourquoi des e‑mails signés affichent parfois « signature invalide » alors qu’il n’y a rien de malveillant ?
Parce que quelque chose a modifié le message après la signature : un pied de page en passerelle, une bannière, la réécriture de liens, ou même certains outils de boîte aux lettres.
La correction consiste à cesser de modifier le contenu signé ou déplacer la signature après ces modifications.
5) Quelle est la différence entre la signature S/MIME et DKIM ?
La signature S/MIME est au niveau utilisateur/message et se rattache à une identité de certificat individuelle (ou du moins à une clé individuelle).
DKIM est au niveau domaine et rattache le message à la clé de signature du domaine expéditeur. DKIM est excellent pour l’infrastructure anti‑usurpation ; S/MIME est utile pour l’intégrité destinée au destinataire et comme preuve non répudiation (dans certaines limites).
6) Devons‑nous déchiffrer S/MIME à la passerelle pour le DLP et le scan antimalware ?
Seulement si vous acceptez le déplacement de confiance : la passerelle devient une cible de haute valeur détenant des clés ou du texte clair.
Si vous avez besoin d’une vraie confidentialité poste client, gardez le déchiffrement sur les postes et déplacez le scan plus tôt dans le flux de travail (ou vers les postes).
7) Pouvons‑nous exiger TLS pour tout l’e‑mail sortant Internet ?
Vous pouvez, mais préparez‑vous à des rebonds vers des domaines legacy et des partenaires mal configurés. La plupart des organisations choisissent « opportuniste pour Internet général, appliqué pour les partenaires sensibles ».
L’important est l’honnêteté dans la politique et la surveillance pour que le clair ne vous surprenne pas.
8) Qu’est‑ce qui casse le chiffrement S/MIME pendant une rotation de certificat ?
Des certificats destinataires mis en cache ou obsolètes, des délais d’annuaire, plusieurs certificats actifs sans règle de sélection définie, et des utilisateurs chiffrant sur une vieille clé.
Planifiez la rotation : publiez les nouveaux certificats, conservez les anciens privés pour déchiffrer l’historique, et assurez‑vous que les clients se rafraîchissent.
9) S/MIME est‑il un « chiffrement de bout en bout » comme les applications de messagerie modernes ?
Il peut s’en rapprocher plus que TLS, mais l’e‑mail a toujours des redirections, des archives, des passerelles et des exigences de récupération de clés. Beaucoup d’entreprises introduisent délibérément un accès central pour la conformité. Appelez‑le « chiffrement au niveau du message » et spécifiez les frontières de confiance.
10) Quelle est la posture minimale viable de messagerie sécurisée pour une entreprise typique ?
TLS activé et vérifié en entrée/sortie, DMARC avec un plan pour atteindre l’application, DKIM sur tous les expéditeurs légitimes,
et S/MIME signé pour les rôles à haut risque. Ajoutez le chiffrement S/MIME de façon sélective là où c’est justifié et soutenable.
Conclusion : quoi faire la semaine prochaine
Si votre organisation débat « TLS vs S/MIME », vous perdez déjà du temps. Ce ne sont pas des substituts ; ils couvrent des modes de défaillance différents.
TLS est l’hygiène de transport de base. S/MIME est la protection du message avec un coût PKI. DMARC est votre cheval de trait anti‑usurpation.
Prochaines étapes pratiques qui ne s’effondreront pas sous leur propre ambition :
- Réécrivez le langage de politique interne : arrêtez de dire « l’e‑mail est chiffré » et spécifiez « TLS en transit » vs « S/MIME chiffrement de message ».
- Mesurez la réalité : lancez des sondes STARTTLS pour les partenaires clés et vérifiez les logs MTA pour les repliements en clair.
- Appliquez TLS uniquement là où cela compte le plus (partenaires, flux régulés) et acceptez les rebonds comme fonction de sécurité.
- Faites avancer DMARC vers l’application ; ne le laissez pas en mode « none » en prétendant que c’est une protection.
- Pilotez la signature S/MIME pour un petit groupe, puis étendez. Traitez le cycle de vie des certificats comme de la production.
L’e‑mail ne sera jamais « résolu » comme certains vendeurs le promettent. Mais vous pouvez le rendre prévisible, vérifiable et significativement plus sûr.
Voilà à quoi ressemble la sécurité en production : moins de mythes, plus de logs.