无法在 Amazon Linux 实例上禁用 SSLv3

无法在 Amazon Linux 实例上禁用 SSLv3

我使用的是 GoDaddy 颁发的 SSL 证书。在我的 Linux 实例上,以下是软件详细信息:-

  • Apache 版本 - Apache/2.4.16(亚马逊)
  • Openssl 版本 - OpenSSL 1.0.2c 2015 年 6 月 12 日
  • mod_ssl 版本 - mod_ssl-2.4.2

注意:- 我从 RPM 包安装 Apache,然后从源代码安装 mod_ssl 和 openssl。

1)问题是当我禁用 SSLv3 并测试 SSL 服务器时 https://www.ssllabs.com/ssltest/它警告我“该服务器不支持当前最好的 TLSv1.2”当我启用 TLSv1.2 协议时,相同的测试会警告我“该服务器支持 SSLv3 协议,容易受到 Poodle 攻击” 如何在服务器上同时禁用 SSLv3 和启用 TLSv1.2?我的有关 SSL 的 Vhost 文件的当前配置是:

SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder     on

2) 我无法创建一个强大的 Diffie-Hellman 组。当前是 1024 位 Diffie-Hellman 组,希望为该站点创建 2048 位组。我发出此命令来生成 2048 位密钥:-

openssl dhparam -out dhparams.pem 2048

我在 VHost 中的配置是:

SSLOpenSSLConfCmd DHParameters /etc/httpd/dhparams.pem

当我重新启动服务器时弹出错误消息:

Invalid command 'SSLOpenSSLConfCmd', perhaps misspelled or defined by a module not included in the server configuration

如何解决这个问题?

答案1

对于 apache http 服务器,请尝试:

SSLProtocol -all +TLSv1

答案2

由于您正在 Amazon 中部署实例,我猜您正在按照我的方式遵循本教程:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-an-instance.html

在该教程中,我们鼓励您使用 Letscrypt 来获取免费的 CA,我也这样做了。经过大量研究尝试更改 ssl.conf 文件但没有成功,我发现 Letsencrypt 有自己的配置文件,该文件会覆盖您在 ssl.conf 文件中键入的任何内容。只需导航至

./etc/letsencrypt/options-ssl-apache.conf

并按照 ssl.conf 文件中的指示输入您的更改。之后,只需重新启动 apache,您的更改就会生效。

相关内容