5

为什么在我的服务器上仍然启用 SSLv3 ?我想禁用某些计算机由于安全问题而无法打开我的页面的原因。

我找到了这个指南


在此处输入图像描述


但目前我已经设置好了。我的服务器托管在 Google Cloud 中,我目前有这个 Nginx 配置文件:

...
ssl on;
ssl_certificate /etc/nginx/dba_certs/dba_ssl2/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/dba_certs/dba_keys/dba.key;

ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
...

OpenSSL 版本是 1.0.1f 2014 年 1 月 6 日。

在此处输入图像描述

有什么问题?

4

3 回答 3

9

要禁用 SSLv3,您必须编辑默认服务器配置,而不仅仅是任意虚拟主机配置。它只能为监听套接字禁用,而不仅仅是虚拟服务器。您提供的配置片段表明您正在使用每服务器包含的配置文件,因此您必须default_server在适当的listen指令中找到一个,并在那里禁用 SSLv3:

server {
    listen 443 default_server ssl;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ...
}

或者,更好的是,在以下http级别编辑配置nginx.conf

http {
    ...
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ...
}

您也可以考虑将 nginx 升级到最新版本。在 nginx 1.9.1+ 默认情况下禁用 SSLv3。

于 2015-07-29T18:28:41.763 回答
2

我可以确认 SSL3 已启用。要禁用,您需要修改 NGINX 配置 (nginx.conf) 或 VirtualHost 配置文件。在您的情况下,它可能是以下文件:

$ sudo vim /etc/nginx/sites-enabled/dragonboundaimbot.com

        ...
        listen 443 default_server ssl;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ...

$ sudo service nginx restart

SSL3 并不是唯一的问题。一些密码套件已折旧,不应使用。尝试将密码套件减少到以下内容:

TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3d)  256
TLS_RSA_WITH_AES_256_CBC_SHA (0x35)     256
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x3c)  128
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f)     128
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa)     112
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)   ECDH 256 bits (eq. 3072 bits RSA)   FS     256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)   ECDH 256 bits (eq. 3072 bits RSA)   FS    256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)   ECDH 256 bits (eq. 3072 bits RSA)   FS     128
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)   ECDH 256 bits (eq. 3072 bits RSA)   FS    128
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)   ECDH 256 bits (eq. 3072 bits RSA)   FS   112

如需其他改进,请使用 Chrome 浏览器检查网站和/或在ssllabs.com上运行附加测试。

于 2015-07-27T22:04:37.597 回答
-1

我已经为在 Qualys SSL 测试中获得 A 评级所要遵循的步骤创建了一个要点。以及以正确方式禁用 SSLv3 和启用 TSLv1 的步骤

添加 SSL 密码:

ssl_ciphers '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';

修复 OpenSSL Padding Oracle 漏洞:

https://gist.github.com/ArturT/bc8836d3bedff801dc324ac959050d12

添加 SSL 协议:

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

将首选密码设置为:

ssl_prefer_server_ciphers 开启;

在服务器块中,我们应该启用 TCP v6 和 v4 支持

听 443 ssl;

听 [::]:443 ssl;

在上面的块中添加 default_server

听 443 default_server ssl;

听 [::]:443 default_server ssl;

或在这里阅读:

https://gist.github.com/kaushikgandhi/663e6e47d8a42025e848e454f5e064c4

于 2016-10-13T10:12:00.210 回答