Nginx sslv3 poodle 禁用

Nginx sslv3 poodle 禁用

我尝试在我的 nginx 中设置不带 SSLv3 的 SSL 证书,但是 SSL 实验室说,我的服务器有 SSLv3,如何禁用它。

我的配置:

    add_header Strict-Transport-Security max-age=31536000;
    add_header X-Frame-Options DENY;

    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED";
    ssl_prefer_server_ciphers on;
    add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains';

答案1

这里是一个很好的教程,介绍如何使用最佳设置配置 nginx。

https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html

您对 SSLv3 的配置是正确的。

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

帖子中有一部分是有关您的密码的。

ssl_ciphers 'AES256+EECDH:AES256+EDH';

答案2

我已正确设置了 ssl_protocols,但无法禁用 SSLv3,根据https://www.tinfoilsecurity.co... 或 ssllabs.com 的测试。最终我发现

https://disablessl3.com/#test其中提到尝试:

openssl s_client -connect <hostname:443> -ssl3

作为测试命令。当我这样做时,我发现 nginx 使用另一个虚拟主机的 SSL 证书进行初始握手,而不是在此特定虚拟主机中设置的证书。一旦我在所有使用 SSL 的虚拟主机中添加 ssl_protocols 行,它就会突然开始工作。

答案3

太好了,我修复了它!这是我的配置

ssl on;
ssl_ciphers 'AES256+EECDH:AES256+EDH::!EECDH+aRSA+RC4:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:10m;

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.4.4 8.8.8.8 valid=300s;
resolver_timeout 10s;

ssl_prefer_server_ciphers on;

add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;

我的成绩: 在此处输入图片描述

相关内容