web-dev-qa-db-fra.com

Tester la configuration STARTTLS du serveur SMTP

Existe-t-il un moyen simple de tester un serveur SMTP pour vérifier les problèmes de configuration associés au chiffrement STARTTLS et signaler s'il a été configuré correctement afin que les e-mails soient chiffrés à l'aide de STARTTLS?

Considérez le testeur de serveur SSL Qualys comme une analogie: c'est un excellent outil pour vérifier rapidement un serveur Web pour voir si l'utilisation de SSL a été correctement configurée et identifier les opportunités d'amélioration de la configuration pour fournir un cryptage plus fort. Il sait reconnaître de nombreuses erreurs de configuration courantes et donne une note. Y a-t-il quelque chose comme ça pour STARTTLS sur les serveurs SMTP?

En particulier, étant donné un serveur SMTP, je voudrais dire:

  1. s'il prend en charge STARTTLS,
  2. si sa configuration STARTTLS a été correctement configurée afin que les e-mails envoyés par d'autres grands fournisseurs de messagerie finissent par être cryptés,
  3. si elle prend en charge le parfait secret avancé et si elle est configurée de manière à ce que les suites de chiffrement parfaites vers le secret soient utilisées dans la pratique (si possible),
  4. s'il fournit un certificat approprié qui passera des contrôles de validation stricts,
  5. s'il a d'autres erreurs de configuration.

Comment puis-je faire ceci?

Facebook et Google ont récemment mis en évidence l'état d'utilisation de STARTTLS sur Internet et ont appelé les opérateurs de serveur à activer STARTTLS et à le configurer de manière appropriée afin que les e-mails soient cryptés pendant le transit. Existe-t-il des outils faciles à utiliser pour atteindre cet objectif?

31
D.W.

Voici plusieurs sites Web qui fournissent des tests qui pourraient vous intéresser.

  • SSL-Tools est un outil Web qui teste un serveur SMTP pour chacun des éléments que vous avez mentionnés; il teste la prise en charge de STARTTLS, un certificat qui passe des contrôles de validation stricts, la prise en charge de la parfaite parfaite confidentialité et d'autres choses:

    https://ssl-tools.net/mailservers

  • StartTLS est un outil Web qui teste un serveur SMTP et fournit une note simple, ainsi que de nombreux détails sur la configuration du serveur SMTP (bien que non test de l'utilisation du secret de transmission parfait):

    https://starttls.info/ (voir la page à propos informations sur le service, ou statistiques sur les sites vérifiés avec leur service)

  • CheckTLS est un outil basé sur le Web qui fournit un moyen de tester un serveur SMTP pour le serveur STARTTLS ainsi que si le certificat est "ok" (c'est-à-dire qu'il passe une validation stricte) et des informations partielles sur le chiffrement qui a été négocié lors de la connexion à ce serveur SMTP (mais aucune information sur la prise en charge parfaite du secret de retransmission):

    https://www.checktls.com/

  • Les outils Web suivants vérifient si un serveur SMTP prend en charge STARTTLS, mais n'effectue aucune des autres vérifications mentionnées dans la question:

Si vous ne devez cocher qu'un ou deux, essayez SSL-Tools et StartTLS.

31
MrBrian

Vous pouvez vérifier la prise en charge des starttls avec openssl s_client -starttls smtp ....

  • Avec les bons paramètres de -CAfile/-CApath, vous pouvez également vérifier la chaîne de certificats.
  • Ce qu'il ne vérifie pas, c'est le nom d'hôte, par ex. vous devez le vérifier manuellement.
  • Il imprimera également le chiffrement utilisé, vous pouvez donc vérifier s'il s'agit d'un chiffrement ECDHE ou DHE pour voir si le secret de retransmission est utilisé.
  • Vous pouvez peut-être spécifier explicitement une liste de chiffrement avec l'option -cipher pour savoir si le serveur préfère les chiffrements FS même si le client les a mis à la et de la liste de préférences.

Alternativement, vous pouvez utiliser Perl avec un IO :: Socket :: SSL assez récent comme ceci:

use strict;
use warnings;
use IO::Socket::SSL 1.968;
use Net::SSLGlue::SMTP;

my $Host = 'mx.example.com';
my $smtp = Net::SMTP->new($Host, Debug => 1) or die "connect failed";
$smtp->starttls(
    # where your CA are, has usable defaults
    # SSL_ca_file => ...,
    # SSL_ca_path => ....,
    # to restrict ciphers and set preference
    # SSL_cipher_list => '...',
) or die "starttls failed: $@|$SSL_ERROR";
print "cipher=".$smtp->get_cipher."\n";
print "cipher=".$smtp->get_sslversion."\n";

Cela fera une vérification de certificat appropriée, vérifie le nom d'hôte, vous donne le chiffre pour savoir s'il s'agit de la confidentialité du transfert et vous donne également la version SSL. Et avec les dernières versions IO :: Socket :: SSL, vous pouvez également vérifier OCSP pour voir si le certificat est révoqué (voir la documentation dans IO :: Socket :: SSL).

12
Steffen Ullrich

Voici plusieurs outils qui donnent des Labs SSL Qualys comme des résultats et prennent en charge STARTTLS

  • testssl.sh ( https://testssl.sh/ )

    C'est un outil en ligne de commande qui vérifie le service d'un serveur sur n'importe quel port pour la prise en charge des chiffrements TLS/SSL, des protocoles ainsi que des failles cryptographiques récentes et plus encore. Son avantage très complet et majeur est que vous pouvez également analyser vos serveurs intranet.

    par exemple. ./testssl.sh -t smtp aspmx.l.google.com:25

  • Test SSL HTBridge

    Il s'agit d'un outil basé sur le Web qui permet le courrier électronique et d'autres ports.

    https://www.htbridge.com/ssl/

  • Découverte Cryptosense

    Cet outil permet de numériser sur n'importe quel port. Ports par défaut analysés (21, 22, 25, 110, 143, 389, 443, 465, 587, 636, 993, 995, 5222, 5223, 5269)

    https://discovery.cryptosense.com/

2
bhushan5640

CryptCheck est comme le testeur de serveur SSL Qualys, mais seulement avec le support SMTP. CryptCheck vérifie vos ciphersuites classant C/B/A/A + ...

CryptCheck: https://tls.imirhil.fr

Le site est en français https://imirhil.fr

1
Ronald

Pour la partie TLS, il existe d'autres outils en ligne que vous pouvez utiliser:

et aussi certains hors ligne:

0