提升SSL安全性的十個技巧
原創【51CTO.com 獨家譯稿】你的SSL服務器上是否存在錯誤配置或已知漏洞這樣的安全隱患呢?根據以下10個技巧,可以幫你避免這些常見的SSL安全威脅。
1.禁用SSLv2。早在15年前,這個版本的SSL協議早就被確認存在安全問題了,但還是有很多Web服務器仍然支持這個協議。
禁用它只需幾分鐘的時間。例如,在Apache v2中,你只需要改變默認設置:
- SSLProtocol all
- to
- SSLProtocol all -SSLv2
2.禁止支持弱加密。幾乎所有Web服務器都支持128位強度或者256位高強度的加密算法,但也有少部分的Web服務器支持弱加密。弱加密會被黑客利用,威脅企業信息安全。所以,沒有理由去支持弱加密服務。同樣,在幾分鐘之內就可以禁用掉這個服務,例如:
- SSLCipherSuite RSA:!EXP:!NULL:+HIGH:+MEDIUM:-LOW
3.確保你的服務器沒有支持不靠譜的重新握手和協商過程。SSL和TLS身份認證的漏洞容易遭到中間人攻擊的利用,進而導致任何內容都可以重定義并注入到加密的數據流當中。大部分廠商都發布了此漏洞的補丁,若你還沒有打這個補丁,最好還是先禁用這個重定義服務吧。
4.確保通過SSL認證的所有階段。關鍵是要保護你的用戶證書,也就是說用戶通過SSL連接提交給你登錄表單,同時,你要保護他們的證書安全。否則,黑客會通過他們自己的服務器來攔截你的信息并轉發一個惡意信息給用戶,以便竊取到用戶們的授權證書。
5.在你的網頁上不要把SSl保護的內容和明文內容混在一塊。混合使用加密認證會導致你的網站受到攻擊,因為像Javascipt這種單個未受保護的資源容易被注入惡意代碼或者是受到中間人攻擊。
6.使用HSTS加密保護你的域(包括子域)。用HSTS協議來保護你的網站,在你首次訪問網站中的任何連接時,可以將HTTP自動轉換成HTTPS。與此同時,若用戶持非法私有證書,是不能再次瀏覽該網站的。這就意味著,黑客將不能你的用戶轉移到那些他們所操控的具有不安全SSL連接以及危險cookies信息的釣魚網站了。
STS協議頭必須保證只通過HTTPS發送,并且配置應該盡可能地清晰簡單。其配置只需要簡單的兩行命令。例如在Apache中,你可以輸入下面的命令:
- Header set Strict-Transport-Security "max-age=XXXXXX"
- Header append Strict-Transport-Security includeSubDomains
7.使用HttpOnly和安全標識來保護cookies。用來鑒定SSL會話持續時間的cookies常常會削弱SSL會話的安全性。HttpOnly標識可以隱藏你的客戶端腳本,所以他們不能通過跨站點腳本攻擊來竊取信息。也就是說,安全標識cookies只能通過加密的SSL來傳輸,因此不能被截獲。
用HttpOnly來配置你的Web服務器,從而保護cookies。通過這樣簡單增加安全屬性的方法,可以防御上述兩種類型的攻擊;用HttpOnly來設置Cookie Http響應前端:
- Set-Cookie: =; =
- ; expires=; domain=
- ; secure; HttpOnly
推薦閱讀:利用HTTP-only Cookie緩解XSS之痛
8.使用擴展驗證(Extended Validation(EV))證書。雖然這個證書對于你的網站安全來說并不是非常必要,但是EV證書可以在地址搜索欄上展示出明確的視覺確認效果,通過安全的SSL連接,用戶可以一下子就確認是你的網站,而非釣魚網站。
推薦閱讀:EV SSL 服務器證書是什么
9.確保你的證書被包含在子域當中。為了避免網站用戶得到錯誤的證書,你要確保https://www.yourdomain.com和https://yourdomain.com 都覆蓋了你的SSL證書。
你可以使用多域名SSL證書,它可以允許你最多選擇三個主名(SNAs)例如yourdomain.com 或 www.yourdomain.com
10.進行SSL服務器測試。使用Qualys公司的SSL實驗室可以進行免費測試,你可以檢查SSL服務器配置,認證鏈,以及協議和密碼組在內的整體SSL安全狀態。
【51CTO.com獨家譯稿,非經授權謝絕轉載!合作媒體轉載請注明原文出處及出處!】