HTTPS安全與兼容性配置指南


自從MySSL推出之後,很多網站HTTPS檢測評分都達到了A或者A+,但在看檢測結果的時候,發現類似於百度和淘寶這類大用戶羣的網站居然沒有評級到A或者在使用的加密套件上有橙色的加密套件,這就讓我們非常詫異,難道是這些個網站不注重安全麼?


如果說百度評級不高,那還能說得過去,畢竟在搜索的時候沒啥重要信息,犧牲一點安全性獲取極致的兼容性。但是淘寶這種電商不應該不會不重視網站的安全性。那又是什麼原因讓這些網站造成了這種情況呢?通過仔細的觀察報告結果和查詢資料發現,這些網站這樣做的原因是爲了更好的兼容性,但各家也有不同的做法:


百度

先來看一下的百度的評分:




從圖中可以看出www.baidu.com這個網站的評分是C,造成這個評分的主要原因是使用RC4加密套件,文章一開始就說了,評不到A或者更高的原因是爲了兼容性,那麼再看一下客戶端模擬的結果:




從這裏發現哪怕用戶使用的是IE6這款老古董級別的瀏覽器也能訪問百度。這樣的兼容性可以說是異常良好了。但是安全性就有點欠缺,如果要適配IE6這款瀏覽器,那麼SSL協議就必須得支持SSL2SSL3,因爲IE6支持也僅支持這兩個協議,SSL2是明確說明不安全的了,SSL3上又有著名的POODLE漏洞問題,SSL3上的所有CBC加密套件都會受該漏洞影響,除去CBC加密套件,那麼就只剩下RC4系列的加密套件了,這個沒得選擇。


淘寶

相對於百度,面對兼容性問題,淘寶又是另一種做法了。


淘寶雖然評分到了A,但是在支持的加密套件中存在橙色的選項:




從圖中可以看出淘寶捨棄了SSL3協議,換句話說就是放棄了對IE6的支持,這個從客戶端模擬結果上也可以體現出來:




但是那個黃色的TLS_RSA_WITH_3DES_EDE_CBC_SHA又是什麼原因呢?這是爲了兼容XP上的IE8這類瀏覽器,這些瀏覽器器支持加密套件基本都是不安全的,唯一比較安全的就是3DES系列的了。爲了兼容這些瀏覽器這應該算是一種比較好的方式了。

如何達到A+

最近發現有很多blog主在他們的blog中推薦我們MySSL這讓我們非常驚喜,在這裏首先感謝一下這些blog主對我們MySSL的推廣。

但是看到給啓用SSL的站點推薦個HTTPS專用工具網站的評論中,有一些blog主對如何評到A以及A+不是很理解,這裏簡單的說明一下。

首先要是,這個評分,並不僅僅是針對於證書的部署情況而言的,這是一個多方面綜合的評級。其中包括了證書、SSL協議、加密套件、漏洞、不安全的外鏈等等。如果您的網站的評分已經達到A,那麼沒有被評到A+的最大的可能性就是沒有使用HSTS,使用HSTS的方法很簡單,只要在添加Strict-Transport-Security這個HTTP頭部信息即可。

nginx服務器做說明:

add_header Strict-Transport-Security "max-age=31536000";

但有一點需要注意,Strict-Transport-Security中的max-age的時間不能小於15552000

總結

如果您的服務器需要支持IE6這種古董級別的瀏覽器,那麼就按照百度的做法,如果說對兼容性沒有太大的需求,只要主流的瀏覽器能夠訪問那麼就不要支持3DES系列的加密套件,如果說想要在保證安全性的同時,也要有最好的兼容性,那麼就請按照淘寶的配置方式進行配置。
下面給出這三種配置情況:


類似百度

Nginx

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;

ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;


類似淘寶

Nginx

ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;


最好的安全性

Nginx

ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;


但也有可能因爲openssl版本的不同會導致相同的配置得到不同的檢測結果。如果您的openssl處於較新的版本那麼按照最好的安全性進行配置,得到一個A,應該是沒有問題的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章