为什么我的服务器仍启用SSLv3?我想禁用由于安全问题导致某些计算机无法打开我的页面的原因。
我发现了guide:
但目前我已经确定了。我的服务器托管在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;
...
2014年1月6日,OpenSSL版本为1.0.1f。
可能出现什么问题?
答案 0 :(得分:8)
要禁用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;
...
}
级别的配置:
{{1}}
您也可以考虑将nginx升级到最新版本。在nginx 1.9.1+中,默认情况下禁用SSLv3。
答案 1 :(得分: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上运行其他测试。
答案 2 :(得分:-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:山茶花:DES-CBC3-SHA:A零位:ENULL:EXPORT:DES:RC4:MD5:PSK:aECDH:EDH-DSS-DES-CBC3 -SHA:EDH-RSA-DES-CBC3-SHA:KRB5-DES-CBC3-SHA&#39 ;;
修复OpenSSL Padding Oracle漏洞:
https://gist.github.com/ArturT/bc8836d3bedff801dc324ac959050d12
添加SSL协议:
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
设置首选密码:
ssl_prefer_server_ciphers on;
在服务器块中我们应该启用TCP v6和v4支持
听443 ssl;
听[::]:443 ssl;
在上面的块中添加default_server
listen 443 default_server ssl;
listen [::]:443 default_server ssl;
或者在这里阅读:
https://gist.github.com/kaushikgandhi/663e6e47d8a42025e848e454f5e064c4