在SSL 实验室,我收到通知说我的服务器上启用了 TLS 1.0。我尝试了许多配置来禁用此功能,例如
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
和
SSLProtocol +TLSv1.2 +TLSv1.3
但无论我做什么,它总是说它在 SSL 实验室上已启用。还有其他问题讨论了这个问题,比如这个,但这没有帮助。我grep
编辑了整个 Apache 目录,我确信这是唯一SSLProtocol
启用的实例。
值得一提的是,当我将鼠标指向 TLS 1.0 状态时,SSL Labs 提到了以下内容:
仅在不支持服务器名称指示的客户端上观察到 TLS 1.0 支持。
我还应该做些什么来禁用 TLS 1.0?
编辑:
我现在正在使用:SSLProtocol TLSv1.2 +TLSv1.3 -TLSv1 -TLSv1.1
但那也不起作用。我仍然在 SSL Labs 中看到 TLS 1.0。
答案1
我刚刚与此进行了长时间的斗争。我的服务器运行的是 Centos 7,我有很多使用 Let's Encrypt SSL 的网站。我在/etc/httpd目录(将是/etc/apache2在其他服务器上):
[root@server httpd]# find ./ -type f -exec grep -i sslprotocol {} +
./conf.d/ssl.conf:SSLProtocol all -SSLv2 -SSLv3
./conf.d/ssl.conf:SSLProtocol All -SSLv2 -SSLv3
SSLProtocol TLSv1.2
我把它们改成了这个答案并重新启动了httpd服务,但SSL Labs仍然显示TLS 1.0和1.1已启用。
经过一番挖掘,我发现另一个配置文件包含在 **-le-ssl.conf* 文件中/etc/httpd/站点可用目录:/etc/letsencrypt/options-ssl-apache.conf。我只需要将该文件更改SSLProtocol all -SSLv2 -SSLv3
为SSLProtocol TLSv1.2
(并重新启动 httpd)。现在所有证书都具有 A+ 评级。