Nginx

Nginx 恢復到 sslv3

  • May 8, 2015

我正在使用 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之前不應該有一個冒號嗎?

引用自:https://serverfault.com/questions/690589