technique · réponse sourcée
SMTPS et TLS implicite
SMTPS en TLS implicite est une méthode de sécurisation des communications SMTP dans laquelle le handshake TLS a lieu dès l’ouverture de la connexion. Contrairement à STARTTLS, qui commence par une session en clair, SMTPS exige que la connexion soit chiffrée avant tout échange de commandes SMTP.
Fonctionnement technique
Dans une connexion en TLS implicite, le client établit une connexion TCP avec le serveur, généralement sur le port 465. Le serveur attend immédiatement un handshake TLS. Si le handshake échoue ou si le client tente d’envoyer du texte en clair, le serveur coupe la connexion. Ainsi, aucune donnée sensible, comme les identifiants d’authentification ou le contenu des e-mails, n’est jamais transmise en clair.
Comparaison avec STARTTLS
STARTTLS est du TLS explicite : la session commence en clair sur le port 587 ou 25, puis le client envoie une commande STARTTLS pour faire passer la connexion en mode chiffré. SMTPS en TLS implicite supprime cette étape de mise à niveau, ce qui élimine le risque d’attaques par rétrogradation, dans lesquelles un attaquant de l’homme du milieu supprime la commande STARTTLS pour forcer la session à rester en clair.
Pourquoi c’est important pour les expéditeurs
Le TLS implicite offre une garantie de sécurité plus forte pour les e-mails transactionnels. Il empêche les fuites accidentelles en clair et simplifie la configuration des clients en faisant du chiffrement une condition préalable à toute communication. Les développeurs peuvent utiliser les outils gratuits de SendHQ pour vérifier leur configuration e-mail générale et s’assurer que leur infrastructure respecte les normes de sécurité modernes.
Notes opérationnelles
De nombreux systèmes anciens reposent encore sur le port 25 ou 587. Lorsque vous configurez SMTPS, assurez-vous que la bibliothèque cliente est explicitement réglée en mode SSL ou TLS, et non STARTTLS. Un client configuré par erreur pour utiliser STARTTLS sur le port 465 provoquera un timeout ou une réinitialisation de la connexion, car le serveur attend un handshake TLS pendant que le client envoie du texte en clair.
Exemple de mise en œuvre
Une mise en œuvre typique consiste à configurer un client SMTP pour qu’il se connecte à smtp.example.com sur le port 465 avec l’option SSL/TLS activée. Le client ouvre le socket TCP, effectue le handshake TLS, et n’envoie qu’ensuite la commande EHLO pour lancer le transfert de l’e-mail.
Les questions que posent les équipes
Quel port est utilisé pour SMTPS en TLS implicite ?
Le port standard de SMTPS en TLS implicite est le 465, tel qu’enregistré par l’IANA et recommandé par les RFC modernes pour la soumission sécurisée.
SMTPS est-il différent de STARTTLS ?
Oui, SMTPS est implicite : le chiffrement commence immédiatement. STARTTLS est explicite : la session commence en clair puis passe en mode chiffré au moyen d’une commande.
Pourquoi préférer le TLS implicite au TLS explicite ?
Le TLS implicite résiste mieux aux attaques par rétrogradation, car il refuse de communiquer tant qu’un tunnel chiffré sécurisé n’a pas été établi.