1粉铐,私鑰和證書
1.1 私鑰必須足夠長
RSA 證書目前應(yīng)用最為廣泛钩乍,RSA 2048能夠獲得112bit的安全呼猪,RSA 3072 能夠獲得128bit的安全画畅。
ECDHE 256即可獲得128bit的安全。
RSA需要消耗大量的計算資源宋距,ECDHE消耗的資源則要少的多轴踱。
還有少量的很老舊瀏覽器只能使用RSA,但是目前瀏覽器都支持ECDHE谚赎。
ECDHE將在未來替換RSA淫僻,因此,目前網(wǎng)站最好是配置RSA和ECDHE雙證書壶唤。
1.2 嚴密保管私鑰
必須在一個可信的設(shè)備上面產(chǎn)生私鑰雳灵,不能由CA來產(chǎn)生。
有條件的話闸盔,使用HSM來保管私鑰
經(jīng)常更新證書悯辙。
1.3 從可信的CA獲取證書
可信CA必須有可以被信賴的安全歷史記錄
CA必須提供 CRL(Certificate Revocation List),OCSP (online Certificate Status Protocol)?
企業(yè)用戶,必須使用EV證書
1.4 使用強的證書簽名算法
證書的強度依賴于兩點:
a躲撰,用于簽名證書的私鑰的強度
b针贬,用于簽名的hash算法的強度
目前,SHA1已經(jīng)不安全拢蛋,必須至少使用SHA256
2坚踩,配置
正確的配置目的:可以給訪問者信心,使用正確的密碼套件瓤狐,排除已知弱點。
2.1 使用完整的證書鏈
EV證書
DV證書
2.2 使用安全的協(xié)議
SSL v2批幌,不安全础锐,不能使用(DROWN攻擊)
SSL v3,不安全荧缘,不能使用(POODLE攻擊)
TLS v1.0皆警,老舊協(xié)議,不推薦使用截粗,存在一些問題
TLS v1.1信姓,無已知安全問題,但使用的算法不夠新
TLS v1.2绸罗,推薦使用意推,無已知安全問題,能夠支持AEAD
TLS v1.3珊蟀,正處于draft21菊值,致力于去掉過時的、不安全的特性育灸,提供更好的性能腻窒、更安全的連接
2.3 使用安全的cipher suites
首選AEAD 套件:支持強認證、密鑰交換磅崭、完美前向安全儿子、至少128bit的安全加密。
為了支持一些老舊的客戶端砸喻,服務(wù)端也要提供一些弱的套件柔逼。
以下加密操作必須避免:
a,不提供認證的ADH 套件
b恩够,Export 套件不安全
c卒落,低于128bit的加密
d,rc4
e蜂桶,3DES 又慢又弱
2.4 選擇最佳的cipher suites
客戶端發(fā)送支持的cipher suites后儡毕,服務(wù)器應(yīng)該從里面選擇一個最佳的支持的cipher suites來建立連接
2.5 使用前向安全
前向安全:連接的安全不依賴于服務(wù)器的私鑰,每個連接都有不同的加密密鑰。避免私鑰被盜后腰湾,監(jiān)聽者可以將之前保存的報文恢復雷恃。
使用ECDHE來保證前向安全。推薦使用ECDHE P-256费坊,是一個又好又塊的曲線倒槐。
不能用RSA 密鑰交換。
3附井,性能配置
3.1 避免過高的安全配置
RSA 2048讨越,ECDHE 256即可。再高的配置并不能帶來更好的安全永毅,但是帶來極高的資源消耗把跨。
3.2 會話重用
可以節(jié)約服務(wù)器資源,同時加速連接建立沼死,改善客戶端體驗着逐。
3.3 優(yōu)化網(wǎng)絡(luò)
TLS的延遲主要是網(wǎng)絡(luò)(服務(wù)器端cpu要么夠用,要么直接拒絕服務(wù)意蛀,不是造成延遲的主要原因)
使用HTTP2耸别,CDN
3.4 使用OCSP stapling
OCSP 會導致TLS握手時,客戶端要與CA建立連接來查詢證書有效性县钥,消耗額外的RTT秀姐,導致時間消耗。
OCSP stapling將此操作在服務(wù)器端完成魁蒜,并在握手時返回給客戶端囊扳,避免額外的RTT。
如果CA的OCSP responder性能兜看、可靠性不行锥咸,OCSP stapling將會帶來很大的性能提升。
4 HTTP 和應(yīng)用安全
4.1 加密所有東西
4.2 避免混用加密和不加密的內(nèi)容细移,尤其不能在同一個頁面混用
4.3 secure cookies
4.4 secure http compression
2012 CRIME 攻擊證明搏予,TLS不能使用壓縮。
4.5 部署 HSTS
HTTP Strict Transport Security弧轧,在http響應(yīng)里面雪侥,加入一個特殊的頭,指示瀏覽器使用精绎。
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
效果:
訪問 http:www.sample.com時速缨,不是先訪問http:www.sample.com,然后服務(wù)器返回302跳轉(zhuǎn)到https:www.sample.com代乃,然后客戶端再訪問https:www.sample.com旬牲;而是直接就在客戶端本地就訪問https:www.sample.com仿粹。
可以避免tcp握手,http請求原茅,節(jié)約時間吭历;同時,避免瀏覽器顯示證書警告擂橘。
http://blog.csdn.net/cteng/article/details/52224344