无论我做什么,Apache 都不会禁用 TLSv1

无论我做什么,Apache 都不会禁用 TLSv1

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 -SSLv3SSLProtocol TLSv1.2(并重新启动 httpd)。现在所有证书都具有 A+ 评级。

相关内容