El único revestimiento que probablemente esté buscando para detectar la presencia de un encabezado de extensión de indicación de nombre de servidor SSL / TLS es:
openssl s_client -servername www.SERVERNAME.com -tlsextdebug -connect www.YOURSERVER.com:443 2>/dev/null | grep "server name"
donde www.SERVERNAME.com
está el valor SNI que está probando y www.YOURSERVER.com
es el nombre de dominio o la dirección IP del servidor compatible con TLS que está probando.
La línea de comando usa openssl
's s_client
(vea s_client (1) ) para conectarse al servidor en www.YOURSERVER.com
el puerto 443
. La -tlsextdebug
opción activa la salida de depuración de la extensión TLS. La -servername
opción le dice al s_client
programa que pase www.SERVERNAME.com
como el valor del campo SNI en el paquete ClientHello durante el protocolo de enlace TLS.
Finalmente, 2>/dev/null
simplemente oculta la salida stderr (que puede ser ruidosa), y la | grep "server name"
tubería filtra stdout para mostrar la extensión TLS llamada "nombre del servidor" en s_client
la salida de depuración de la extensión TLS.
Si ve una línea de salida como
TLS server extension "server name" (id=0), len=0
entonces el servidor está devolviendo la información del encabezado SNI en su respuesta ServerHello. Si no lo hace, es posible que el servidor no sea compatible con SNI o que no haya sido configurado para devolver información SNI dado el nombre que está solicitando. En este caso, verifique que esté usando un nombre de dominio en la -servername
opción que el servidor debe responder con información SNI.
openssl
. Algunos detalles están disponibles: se proporcionaopenssl s_client -servername alice.sni.velox.ch -tlsextdebug -msg -connect alice.sni.velox.ch:443
alguna indicación de uso de SNI durante la prueba Qualys SSL .