我最近为一个我以前在 12.04 机器上运行的服务设置了一个 Ubuntu 12.10 服务器。
自 Ubuntu 10.10 起,SSLv2 似乎因已知的安全原因而被禁用。
如果我使用 -1、-2 或 -3 命令对我的 URL 运行 curl,它将适用于 ssl 版本 1 和 3。但是使用 -2 我得到的是curl: (4) OpenSSL was built without SSLv2 support
响应。
现在我的服务在所有浏览器上运行良好,但是在 Java、Python 和 PHP 中遇到了问题。
许多外部程序正在使用我的 API,因此我实际上没有可能升级客户端。
由于 ssl v1 仍然有效,我认为对于仅支持版本 2 的客户端来说,由于版本 3 已发布,所以识别出版本 2 不受支持是一个问题。
我可以在没有 sslv3 支持的情况下进行编译吗?或者我是否可以以某种方式安全地在 ubuntu 上为那些真正需要它的客户端重新启用 sslv2?我现在确定安全问题有多么重要,特别是因为 openssl 用于很多东西,而提供网页只是其中的一部分……
答案1
我认为您从 Curl 看到的错误实际上与客户端 openSSL 库不支持 SSLv2 有关,而不是服务器问题。据我所知,最近的 Ubuntu openSSL 库已弃用 SSLv2。
至于您的服务器问题,Internet Explorer 5 之后的任何浏览器都不需要 SSLv2(据我所知,Internet Explorer 5 是最后一个不支持 SSLv3/TLSv1 或更高版本的浏览器)