首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >禁用Nginx上的SSLv3

禁用Nginx上的SSLv3
EN

Stack Overflow用户
提问于 2015-07-24 23:12:14
回答 3查看 7.3K关注 0票数 5

为什么我的服务器上仍然启用了SSLv3?我想禁用一些原因,在一些计算机无法打开我的网页,因为安全问题。

我找到了这个指南

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

代码语言:javascript
运行
复制
...
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日。

有什么不对的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-29 18:28:41

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

代码语言:javascript
运行
复制
server {
    listen 443 default_server ssl;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ...
}

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

代码语言:javascript
运行
复制
http {
    ...
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ...
}

您还可以考虑将nginx升级到最近的版本。在nginx中,默认情况下禁用1.9.1+ SSLv3。

票数 9
EN

Stack Overflow用户

发布于 2015-07-27 22:04:37

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

代码语言:javascript
运行
复制
$ 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并不是唯一的问题。一些密码套件是折旧的,不应该使用。尝试将密码套件减少到以下几个方面:

代码语言:javascript
运行
复制
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上运行额外的测试。

票数 2
EN

Stack Overflow用户

发布于 2016-10-13 10:12:00

我已经为在Qualys测试中获得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填充Oracle漏洞:

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

添加SSL协议:

ssl_protocols TLSv1.2TLSv1.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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31621118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档