Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用OpenSSL命令行验证协议_Ssl_Openssl_Heartbleed Bug - Fatal编程技术网

使用OpenSSL命令行验证协议

使用OpenSSL命令行验证协议,ssl,openssl,heartbleed-bug,Ssl,Openssl,Heartbleed Bug,鉴于最近的heartbleed缺陷,我试图对我连接的各种系统(电子邮件、登录页面等)进行一些分析。我试图使用OpenSSL命令行工具来验证我连接的系统使用的是什么协议 部分回应是: ... SSL-Session: Protocol : TLSv1 ... 这就是我需要验证此服务是否未使用Openssl(特别是错误的1.0.1版本)的全部内容吗?(我认为这还不够,因为我连接了一台我知道使用Openssl 0.9.8的服务器,它的响应与上面显示的字符串相同。)TLSv1指的是协议TLS

鉴于最近的heartbleed缺陷,我试图对我连接的各种系统(电子邮件、登录页面等)进行一些分析。我试图使用OpenSSL命令行工具来验证我连接的系统使用的是什么协议

部分回应是:

...
SSL-Session:
    Protocol  : TLSv1
...

这就是我需要验证此服务是否未使用Openssl(特别是错误的1.0.1版本)的全部内容吗?(我认为这还不够,因为我连接了一台我知道使用Openssl 0.9.8的服务器,它的响应与上面显示的字符串相同。)

TLSv1指的是协议TLS版本1,而Openssl、NSS、GnuTLS、PolarSSL。。。是协议的实现。您通常无法仅从正常的TLS对话框检测另一端正在运行哪个SSL实现或实现的哪个版本,因此最好使用任何可用工具来检查服务器是否存在漏洞

您可以尝试使用
openssl s_client
-tlsextdebug
选项来找出对方支持的TLS扩展。易受攻击的版本通常显示它们支持heartbeat扩展,但我不会指望它。当然,固定版本也支持此扩展。如果公布了对扩展的支持,您可以在openssl s_客户端-tlsextdebug-connect…的输出中找到这一点:

TLS服务器扩展“心跳”(id=15),len=1


我希望有更明确的东西来报告目标系统上使用的版本。我想,在某些方面,它没有告诉你底层机制是什么,只是遵循了API。SSL是一个可比的slim协议,不像HTTP那样健谈,在HTTP中,你经常会得到服务器版本、PHP版本等信息。你只得到必要的信息,例如,使用了哪个协议版本,理解了哪些扩展。堆栈溢出是编程和开发问题的一个站点。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。