SSL安全性與nginx配置

服務器SSL/TLS的配置不僅包括證書和私鑰,還需要配置合適的SSL參數以保證安全性:

1. 禁用SSLV1,SSLV2等不安全的協議
2. 使用適當的ciphers:能夠抵禦beast attack (針對SSL 3.0和TLS 1.0)和其它攻擊,並且提供perfect forward secrecy (PFS).

下面的nginx配置能夠在Qualys』s SSL Server Test中得到A Grade。而nginx默認的ssl配置只能得到B(不能防止beast attack)。

ssl_prefer_server_ciphers On;
ssl_ciphers AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH;

nginx官方文檔里推薦的ciphers設置:

ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

但此ciphers在Internet Explorer和Safari下可能不能提供足夠的安全性。

另外,對於客戶端來說,推薦使用Firefox或Chrome瀏覽器。Internet Explorer和Safari由於優先使用的ciphers較弱,訪問絕大多數SSL網站時都無法保證PFS。