在Linux上,您可以使用OpenSSL命令行工具来检查SSL/TLS配置。以下是一些常用的OpenSSL命令,用于检查服务器的SSL配置:
检查SSL/TLS版本支持:
openssl s_client -connect example.com:443 -tls1_2
这个命令会尝试使用TLS 1.2协议连接到example.com的443端口。您可以将tls1_2替换为其他版本,如tls1_1、tls1或ssl3,以检查服务器对这些版本的支持。
获取证书信息:
openssl s_client -connect example.com:443 -showcerts
这个命令会显示与example.com的443端口连接时使用的证书链。-showcerts选项会让OpenSSL显示整个证书链,包括中间证书和根证书。
检查加密套件:
openssl ciphers -v 'TLS_AES_128_GCM_SHA256'
这个命令会列出所有支持的加密套件,并且可以通过指定特定的加密套件来检查它是否被支持。例如,上面的命令会检查TLS_AES_128_GCM_SHA256是否在支持的列表中。
检查服务器名称指示(SNI):
openssl s_client -connect example.com:443 -servername example.com
SNI允许在同一IP地址上托管多个SSL证书。这个命令会发送一个带有SNI扩展的ClientHello消息,以便服务器知道客户端想要连接哪个域名。
检查OCSP Stapling:
openssl s_client -connect example.com:443 -tlsextdebug
这个命令会显示TLS扩展的调试信息,包括OCSP Stapling的状态。如果服务器支持并启用了OCSP Stapling,您应该在输出中看到相关的OCSP响应。
检查协议细节:
openssl s_client -connect example.com:443 -debug
这个命令会提供详细的调试信息,包括握手过程中的所有消息和协议细节。
在使用这些命令时,请将example.com和443替换为您要检查的服务器的域名和端口号。这些命令可以帮助您诊断SSL/TLS配置中的问题,并确保您的服务器使用了安全的协议和加密套件。