web-dev-qa-db-fra.com

Quels problèmes surviennent lorsque nous utilisons un certificat auto-signé pour le protocole SMTP?

Quels problèmes surviennent lorsque nous utilisons un certificat auto-signé pour le protocole SMTP, c'est-à-dire lorsqu'un serveur SMTP utilise un certificat auto-signé?

Tant que l'utilisateur accepte l'avertissement d'exception en raison d'un certificat auto-signé (ce qui peut être le cas dans le client de messagerie Thunderbird), je pense qu'il n'y a pas de problème.

Quelqu'un peut-il me dire quels autres problèmes peuvent survenir?

6
user9414424

Sur les communications de serveur à serveur, il n'y a pas de problème, car les serveurs SMTP acceptent n'importe quel certificat et reviennent même à une connexion non chiffrée. En ce sens, il n'y a pas infrastructure à clé publique pour les serveurs MX. Contre les attaques de déclassement, il y a Authentification basée sur DNS des entités nommées (DANE) (voir RFC 7672 on Sécurité SMTP via Opportuniste DANE TLS ), en utilisant des clés publiques publiées dans DNS sur des clés publiques signées par une autorité de certification. Les certificats auto-signés sont acceptables pour cela.

Pour les communications client-serveur, il est au moins plus pratique d'avoir un certificat signé par une autorité de certification de confiance. Si les utilisateurs apprennent à accepter une exception, il est plus probable qu'ils le fassent même lorsqu'une attaque MitM est en place. De plus, par exemple Android client de messagerie permet uniquement d'exiger un certificat de confiance ou d'en accepter, ce qui rend l'attaque MitM encore plus facile. C'est pourquoi je recommanderais d'utiliser un certificat signé par une autorité de certification pour les communications client.

Il est même possible d'obtenir un certificat Let's Encrypt gratuit pour votre serveur SMTP/IMAP car il n'est pas limité à utiliser le même certificat pour plusieurs protocoles.

6
Esa Jokinen

Un certificat auto-signé pourrait dissuader les tentatives banales d'intercepter le courrier, mais aurait une valeur limitée car il peut être MITM. Si vous souhaitez suivre cette voie, vous devez créer une autorité de certification et demander à vos utilisateurs d'accepter l'autorité de certification. Malheureusement, c'est peut-être une mauvaise idée pour vos utilisateurs (car vous pourriez signer des certificats frauduleux), et d'une valeur limitée car le trafic pourrait toujours être intercepté entre d'autres MTA et le vôtre.

Quelque chose que personne d'autre n'a commenté - bien que la livraison cryptée ne fasse pas partie du protocole SMTP, certains fournisseurs (par exemple GMAIL) marqueront le courrier électronique comme ayant été crypté ou non - et je spécule (je n'utilise pas gmail, alors ne le faites pas '' t sûr) que les MTA utilisant des certificats auto-signés ne seront pas considérés comme sécurisés.

Comme d'autres l'ont mentionné, l'utilisation de LetsEncrypt n'est généralement pas trop compliquée et constitue une meilleure solution.

3
davidgo

Le même problème que vous avez avec chaque certificat auto-signé, le client ne peut pas et ne doit pas faire confiance au serveur. Si vous êtes le seul client de votre serveur smtp, vous pouvez ajouter l'autorité de certification et même ne pas avoir à accepter l'exception. Si je suis l'un des utilisateurs de votre serveur, je ne l'utiliserai certainement pas. Il n'y a aucune garantie que je me connecte au bon serveur, je suppose que c'est un serveur escroc.

La partie de cryptage P.S est toujours OK, le trafic est crypté

1
vx3r