|
自從MySSL推出之后,很多網(wǎng)站HTTPS檢測(cè)評(píng)分都達(dá)到了A或者A+,但在看檢測(cè)結(jié)果的時(shí)候,發(fā)現(xiàn)類似于百度和淘寶這類大用戶群的網(wǎng)站居然沒(méi)有評(píng)級(jí)到A或者在使用的加密套件上有橙色的加密套件,這就讓我們非常詫異,難道是這些個(gè)網(wǎng)站不注重安全么?如果說(shuō)百度評(píng)級(jí)不高,那還能說(shuō)得過(guò)去,畢竟在搜索的時(shí)候沒(méi)啥重要信息,犧牲一點(diǎn)安全性獲取極致的兼容性。但是淘寶這種電商不應(yīng)該不會(huì)不重視網(wǎng)站的安全性。那又是什么原因讓這些網(wǎng)站造成了這種情況呢?通過(guò)仔細(xì)的觀察報(bào)告結(jié)果和查詢資料發(fā)現(xiàn),這些網(wǎng)站這樣做的原因是為了更好的兼容性。但各家也有不同的做法: 百度先來(lái)看一下的百度的評(píng)分:
 從圖中可以看出www.baidu.com這個(gè)網(wǎng)站的評(píng)分是C,造成這個(gè)評(píng)分的主要原因是使用RC4加密套件,文章一開(kāi)始就說(shuō)了,評(píng)不到A或者更高的原因是為了兼容性,那么再看一下客戶端模擬的結(jié)果:
 從這里發(fā)現(xiàn)哪怕用戶使用的是IE6這款老古董級(jí)別的瀏覽器也能訪問(wèn)百度。這樣的兼容性可以說(shuō)是異常良好了。但是安全性就有點(diǎn)欠缺,如果要適配IE6這款瀏覽器,那么SSL協(xié)議就必須得支持SSL2和SSL3,因?yàn)?code>IE6支持也僅支持這兩個(gè)協(xié)議,SSL2是明確說(shuō)明不安全的了,SSL3上又有著名的POODLE漏洞問(wèn)題,SSL3上的所有CBC加密套件都會(huì)受該漏洞影響,除去CBC加密套件,那么就只剩下RC4系列的加密套件了。這個(gè)沒(méi)得選擇。 淘寶相對(duì)于百度,面對(duì)兼容性問(wèn)題,淘寶又是另一種做法了。 淘寶雖然評(píng)分到了A,但是在支持的加密套件中存在橙色的選項(xiàng):
 從圖中可以看出淘寶舍棄了SSL3協(xié)議,換句話說(shuō)就是放棄了對(duì)IE6的支持,這個(gè)從客戶端模擬結(jié)果上也可以體現(xiàn)出來(lái):
 但是那個(gè)黃色的TLS_RSA_WITH_3DES_EDE_CBC_SHA又是什么原因呢?這是為了兼容XP上的IE8這類瀏覽器,這些瀏覽器器支持加密套件基本都是不安全的,唯一比較安全的就是3DES系列的了。為了兼容這些瀏覽器這應(yīng)該算是一種比較好的方式了。 如何達(dá)到A+最近發(fā)現(xiàn)有很多blog主在他們的blog中推薦我們MySSL,這讓我們非常驚喜,在這里首先感謝一下這些blog主對(duì)我們MySSL的推廣。 但是在看到 給啟用 SSL 的站點(diǎn)推薦個(gè) HTTPS 專用工具網(wǎng)站 的評(píng)論中,有一些blog主對(duì)如何評(píng)到A以及A+不是很理解,這里簡(jiǎn)單的說(shuō)明一下。 首先要是,這個(gè)評(píng)分,并不僅僅是針對(duì)于證書(shū)的部署情況而言的,這是一個(gè)多方面綜合的評(píng)級(jí)。其中包括了證書(shū)、SSL協(xié)議、加密套件、漏洞、不安全的外鏈等等。如果您的網(wǎng)站的評(píng)分已經(jīng)達(dá)到A,那么沒(méi)有被評(píng)到A+的最大的可能性就是沒(méi)有使用HSTS,使用HSTS的方法很簡(jiǎn)單,只要在添加Strict-Transport-Security這個(gè)HTTP頭部信息即可。 用nginx服務(wù)器做說(shuō)明: add_header Strict-Transport-Security 'max-age=31536000';
但有一點(diǎn)需要注意,Strict-Transport-Security中的max-age的時(shí)間不能小于15552000。 總結(jié)如果您的服務(wù)器需要支持IE6這種古董級(jí)別的瀏覽器,那么就按照百度的做法,如果說(shuō)對(duì)兼容性沒(méi)有太大的需求,只要主流的瀏覽器能夠訪問(wèn)那么就不要支持3DES系列的加密套件,如果說(shuō)想要在保證安全性的同時(shí),也要有最好的兼容性,那么就請(qǐng)按照淘寶的配置方式進(jìn)行配置。 下面給出這三種配置情況: 類似百度Nginxssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
類似淘寶Nginxssl_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;
最好的安全性Nginxssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
但也有可能因?yàn)?code>openssl版本的不同會(huì)導(dǎo)致相同的配置得到不同的檢測(cè)結(jié)果。如果您的openssl處于較新的版本那么按照最好的安全性進(jìn)行配置,得到一個(gè)A,應(yīng)該是沒(méi)有問(wèn)題的。
|