我正在使用 nginx 作为反向代理,并且正在尝试关闭 sslv3 支持。
我在这里和其他各种网站上都找到了各种答案。他们都建议我需要做的就是在我的 nginx.conf 中的默认 http 块中添加如下内容
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS:!RC4";
ssl_prefer_server_ciphers on;
我已经做到了,甚至从https://cipherli.st/尝试了这个完整的配置
ssl_ciphers "AES128+EECDH:AES128+EDH";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver $DNS-IP-1 $DNS-IP-2 valid=300s;
resolver_timeout 5s;
我仍然只在 SSL Labs 上获得“C”评级(无论我做出任何改变),原因如下
该服务器容易受到 POODLE 攻击。如果可能,请禁用 SSL 3 以减轻影响。等级上限为 C。
此服务器接受弱的 RC4 密码。等级上限为 B。
我还重新启动了服务器,所以我知道配置更改已被应用。
nginx -v
nginx版本:nginx/1.9.0
/etc/issue
Ubuntu 14.04.2 LTS \n \l
openssl 版本 -a
OpenSSL 1.0.1f 2014 年 1 月 6 日构建于:2015 年 3 月 19 日星期四 15:12:02 UTC 平台:debian-amd64 选项:bn(64,64) rc4(16x,int) des(idx,cisc,16 ,int) blowfish(idx) 编译器:cc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat - Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_DSHA512-SHA DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM OPENSSLDIR:“/usr/lib/ssl”
有什么建议么?
我相信你的 openssl 版本是问题所在。openssl 小组建议最低版本为 1.01j。
另外,请检查您的密码。!RC4之前不应该有一个冒号吗?