Si vous possédez votre propre serveur email avec Postfix, vous pouvez parfois voir passer cet avertissement dans les logs lorsque Postfix établit une connexion TLS vers un serveur distant :
postfix/smtp[13461]: Untrusted TLS connection established to gmail-smtp-in.l.google.com[64.233.166.27]:25: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)Langage du code : JavaScript (javascript)
À première vue, le message peut inquiéter. Pourtant, il ne signifie pas forcément que la connexion n’est pas chiffrée. Il signifie plutôt que Postfix a bien établi une connexion TLS, mais qu’il ne considère pas le certificat du serveur distant comme vérifié ou digne de confiance.
En clair : la session est chiffrée, mais la chaîne de confiance du certificat n’a pas été validée comme Postfix l’attendait.
Comprendre le message “Untrusted TLS connection established”
Le log contient deux informations importantes :
TLS connection established: la connexion TLS a bien été établie ;Untrusted: Postfix n’a pas pu valider la confiance du certificat présenté.
Donc le problème ne vient pas forcément du chiffrement lui-même. Il vient souvent de la vérification du certificat : bundle CA absent, chemin CA non déclaré, certificats racines non installés, certificat distant incomplet, ou niveau de sécurité TLS qui ne force pas la validation.
Postfix distingue la configuration TLS côté client SMTP, utilisée quand votre serveur envoie un mail vers un autre serveur, et la configuration TLS côté serveur SMTPD, utilisée quand un autre serveur ou client se connecte au vôtre. Dans les noms de paramètres, smtp_ concerne le client sortant, tandis que smtpd_ concerne le serveur entrant. La documentation TLS de Postfix sépare d’ailleurs clairement les deux rôles.
Vérifier les certificats racines du système
Sur Debian ou Ubuntu, commencez par vérifier que le paquet ca-certificates est installé. C’est lui qui fournit les certificats racines utilisés pour valider les chaînes TLS.
sudo apt update
sudo apt install ca-certificates
sudo update-ca-certificates
Ensuite, vérifiez que le répertoire des certificats existe :
ls -ld /etc/ssl/certs
ls -l /etc/ssl/certs/ca-certificates.crt
Sur Debian et Ubuntu, les deux chemins les plus fréquents sont :
/etc/ssl/certs
/etc/ssl/certs/ca-certificates.crt
Le premier est un répertoire de certificats hachés. Le second est un fichier bundle contenant les certificats racines.