Valeria, miembro de nuestro equipo, nos ha hecho el favor de redactar esta crónica ya que domina muy bien dicho tema.
Solución:
Aquí hay varios sitios web que ofrecen pruebas que pueden interesarle.
-
Herramientas SSL es una herramienta basada en la web que prueba un servidor SMTP para cada uno de los elementos que mencionó; prueba la compatibilidad con STARTTLS, un certificado que pasa estrictas verificaciones de validación, compatibilidad con el secreto directo perfecto y otras cosas:
https://ssl-tools.net/mailservers
-
InicioTLS es una herramienta basada en la web que prueba un servidor SMTP y proporciona una calificación simple, junto con muchos detalles sobre la configuración del servidor SMTP (aunque no prueba si se usa el secreto directo perfecto):
https://starttls.info/ (consulte la información de la página acerca del servicio o las estadísticas sobre los sitios verificados con su servicio)
-
Verificar TLS es una herramienta basada en la web que proporciona una forma de probar un servidor SMTP para el servidor STARTTLS, así como también si el certificado está “bien” (es decir, pasa la validación estricta) e información parcial sobre qué cifrado se negoció cuando se conectaron a ese servidor SMTP (pero no hay información sobre el soporte de confidencialidad directa perfecta):
https://www.checktls.com/
-
Las siguientes herramientas basadas en la web comprueban si un servidor SMTP es compatible con STARTTLS, pero no realizan ninguna de las otras comprobaciones mencionadas en la pregunta:
- https://luxsci.com/extranet/tlschecker.html (ver http://luxsci.com/blog/how-to-tell-who-supports-tls-for-email-transmission.html para una introducción)
- https://mxtoolbox.com/
Si tiene que marcar solo uno o dos, pruebe SSL-Tools y StartTLS.
Puede verificar el soporte para starttls con openssl s_client -starttls smtp ...
.
- Con la configuración correcta de -CAfile/-CApath también puede comprobar la cadena de certificados.
- Lo que no verifica es el nombre de host, por ejemplo, debe verificarlo manualmente.
- También imprimirá el cifrado utilizado, por lo que puede verificar si se trata de un cifrado ECDHE o DHE para ver si se usa el secreto hacia adelante.
- Tal vez desee especificar explícitamente una lista de cifrado con la opción -cipher para averiguar si el servidor prefiere los cifrados FS, incluso si el cliente los coloca al final de la lista de preferencias.
Alternativamente, puede usar Perl con un IO::Socket::SSL lo suficientemente reciente como este:
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: [email protected]|$SSL_ERROR";
print "cipher=".$smtp->get_cipher."n";
print "cipher=".$smtp->get_sslversion."n";
Esto hará una verificación adecuada del certificado, verifica el nombre de host, le brinda el cifrado para averiguar si es secreto hacia adelante y también le brinda la versión SSL. Y con las últimas versiones de IO::Socket::SSL, también puede realizar una verificación de OCSP para ver si el certificado está revocado (consulte la documentación en IO::Socket::SSL).
Aquí hay varias herramientas que le dan a Qualys SSL Labs resultados similares y soporte STARTTLS
-
testssl.sh (https://testssl.sh/)
Es una herramienta de línea de comandos que verifica el servicio de un servidor en cualquier puerto para admitir cifrados TLS/SSL, protocolos, fallas criptográficas recientes y más. Su ventaja bastante completa y principal es que también puede escanear sus servidores de intranet.
p.ej. ./testssl.sh -t smtp aspmx.l.google.com:25
-
Prueba HTBridge SSL
Esta es una herramienta basada en la web que permite el correo electrónico y otros puertos.
https://www.htbridge.com/ssl/
-
Descubrimiento de criptosense
Esta herramienta permite escanear en cualquier puerto. Puertos predeterminados escaneados (21, 22, 25, 110, 143, 389, 443, 465, 587, 636, 993, 995, 5222, 5223, 5269)
https://discovery.cryptosense.com/