在全新安装的 ubuntu 14.04.1 Server 上禁用 Apache2 中的 SSLv3

在全新安装的 ubuntu 14.04.1 Server 上禁用 Apache2 中的 SSLv3

我新安装了 ubuntu 服务器版本 14.04.1,我的 apache2 启用了 SSL。我想禁用 SSLv3

(我知道这是一个常见问题,但我已在多个网站上搜索过所有其他答案,并且我相信我已经遵循了他们建议的所有步骤。)

当我使用以下命令时:

nmap --script ssl-enum-ciphers -p 443 MYDOMAIN.com

我可以看到两组密码。一组是 SSLv3,一组是 TLSV1.0

我已启用 SSL 模块,其配置文件是 /etc/apache2/mods-enabled/ssl.conf

我通过改变行来改变它

SSLProtocol all

SSLProtocol All -SSLv2 -SSLv3

从所有文档和网络教程来看,这应该禁用 SSLv3。

我使用以下命令重新启动 apache

sudo service apache2 restart

但没有变化。SSLv3 仍然在列表中。

我尝试停止服务器并重新运行命令,以确保我没有意外检查错误的服务器。结果正如预期的那样发生了变化。

有人能指出我犯了什么错误吗?

罗伯特

我的确切 Ubuntu 版本:

root@xxxx:/etc/apache2/mods-enabled# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.1 LTS
Release:    14.04
Codename:   trusty

我的确切 apache2 版本:

root@xxxx:~# apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Jul 22 2014 14:36:38

我的确切 openssl 版本:

root@xxxx:~# openssl version
OpenSSL 1.0.1f 6 Jan 2014

参考:

http://httpd.apache.org/docs/current/mod/mod_ssl.html#sslprotocol

答案1

我发现我有其他配置文件覆盖了该选项。

可以通过运行以下命令找到这些文件:

cd /etc/apache2
grep -r "SSLProto" .

答案2

SSLv2 不再受支持。

所以

SSLProtocol All -SSLv2 -SSLv3

不起作用

SSLProtocol All -SSLv3

将要

答案3

在您的 apache 配置文件中使用以下设置:

SSLProtocol ALL -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS

然后重启 Apache 并检查你的站点

https://www.ssllabs.com/ssltest/analyze.html?d=www.yourfancysite.com

它给了我 A 级(截至 2017 年 7 月),而我之前的设置只给了 F :)

致谢:

https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/

相关内容