我尝试在我的nginx中设置没有SSLv3的SSL证书,但SSL实验室说,我的服务器有SSLv3如何禁用它。
我的configuration:
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';
这里是一个很好的教程,如何configurationnginx的最佳设置。
https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
您的SSLv3configuration是正确的。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
在post里是你的密码部分。
ssl_ciphers 'AES256+EECDH:AES256+EDH';
根据https://www.tinfoilsecurity.co …或ssllabs.com的testing,我已经正确地设置了我的ssl_protocols,并且无法让它禁用SSLv3。 最终我发现了
其中提到尝试的https://disablessl3.com/#test :
openssl s_client -connect <hostname:443> -ssl3
作为命令来testing它。 当我这样做的时候,我发现nginx正在使用另一个虚拟主机的SSL证书进行初始握手,而不是在这个特定的虚拟主机中设置的证书。 一旦我在所有使用SSL的虚拟主机中的ssl_protocols行中添加,它突然开始工作。
我修好了! 这是我的configuration
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;
我的等级: 