我正在使用 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/问题
Ubuntu 14.04.2 LTS
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_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM OPENSSLDIR:“/usr/lib/ssl”
有什么建议么?
答案1
我相信你的 openssl 版本有问题。openssl 组建议最低版本为 1.01j。
另外,检查一下你的密码。!RC4 前面不是应该有一个冒号吗?