- 資訊首頁(yè) > 網(wǎng)絡(luò )安全 >
- SSL和TLS的部署方法
這篇文章主要講解了“SSL和TLS的部署方法”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“SSL和TLS的部署方法”吧!
在TLS中,所有安全性都以的加密身份開(kāi)始,這就需要一個(gè)強大的私鑰來(lái)防止攻擊者進(jìn)行模擬攻擊。同樣重要的是擁有一個(gè)有效和強大的ssl/' target='_blank'>證書(shū),它會(huì )授予私鑰來(lái)代表一個(gè)特定的主機名。
對于大多數網(wǎng)站都來(lái)說(shuō),由2048位RSA密鑰提供的安全性就已經(jīng)足夠了。 由于RSA公鑰算法應用廣泛,從而使得它成為安全的默認選擇。對于2048位的RSA密鑰來(lái)說(shuō),能夠提供大約112位密鑰。如果你想要更高的安全性, RSA密鑰則不能很好地進(jìn)行擴展。比如,要獲得128位的密鑰,就需要3072位的RSA密鑰,這顯然運行較慢。橢圓曲線(xiàn)數字簽名算法ECDSA顯示為你提供了更好的安全性和更好的性能。以ECDSA256為例,,ECDSA密鑰提供了128位的密鑰。
如何保護私鑰
(1)要在具有足夠熵的可信計算機上生成私鑰。
(2)從一開(kāi)始就要為密鑰設置密碼保護,以防止在存儲到備份系統中時(shí)受到攻擊。私鑰密碼在實(shí)際運行中不會(huì )有太大的安全保障,因為威脅者完全可以隨時(shí)從進(jìn)程內存中檢索密鑰。利用硬件設備(硬件安全模塊或HSM),即使在服務(wù)器受損的情況下也可以保護私鑰,但是這些設備是昂貴的,因此僅適用于對安全有嚴格安全性要求的機構。
(3)被攻擊后,撤銷(xiāo)舊證書(shū)并生成新密鑰。
(4)每年更新證書(shū),建議你的設備可以自動(dòng)執行此過(guò)程,因此具有較短使用周期的證書(shū)在實(shí)踐中更為安全。
(5)除非特殊情況,否則每當獲得新證書(shū)時(shí),就應該生成相應的新私鑰。
確保證書(shū)覆蓋所使用的網(wǎng)站
確保你的證書(shū)覆蓋你所使用的網(wǎng)站,避免無(wú)效的證書(shū)警告。
即使你只有一個(gè)域名,你也應確保證書(shū)與www前綴有關(guān),例如,example.com和www.example.com。安全的Web服務(wù)器的每個(gè)名稱(chēng)都應該配置一個(gè)有效的證書(shū)。還有就是,訪(fǎng)問(wèn)私鑰的人越少越好。
可靠的CA獲取證書(shū)
選擇CA時(shí),請注意以下5方面:
(1)所有CA的安全狀態(tài)都要經(jīng)過(guò)定期審核;
(2)選擇以CA為主業(yè)務(wù)且提供各種功能支持的機構;
(3)你選擇的CA應提供證書(shū)吊銷(xiāo)列表(CRL)和在線(xiàn)證書(shū)狀態(tài)協(xié)議(OCSP)撤銷(xiāo)的支持;
使用強大的證書(shū)簽名算法
證書(shū)安全性取決于用于簽署證書(shū)的私鑰的強度及簽名中使用的哈希函數的強度。原來(lái)大多數證書(shū)都依賴(lài)于SHA1散列函數,不過(guò)現在已經(jīng)證實(shí)這是不安全的。因此,目前的趨勢是正在向SHA256轉型。截止2016年底,SHA1證書(shū)將不再被網(wǎng)站支持。
TLS服務(wù)器的配置
使用完整的證書(shū)鏈
無(wú)效的證書(shū)鏈會(huì )讓服務(wù)器證書(shū)無(wú)效并導致瀏覽器發(fā)出安全警告,在大多數SSL和TLS部署中,只有服務(wù)器證書(shū)需要兩個(gè)或多個(gè)證書(shū)來(lái)建立完整的信任鏈。
使用安全協(xié)議
SSL/TLS系列中有五種協(xié)議:SSL 2,SSL 3,TLS 1.0,TLS 1.1和TLS 1.2。
SSL2和SSL3已經(jīng)非常過(guò)時(shí)了,建議不要使用。從理論上來(lái)講,TLS 1.0也不應該被使用,但在實(shí)踐中經(jīng)常被使用。截至目前,TLS 1.1和 1.2都還沒(méi)有什么安全問(wèn)題,但只有 1.2提供了現代的加密算法。
所以TLS 1.2應該是被使用的主要協(xié)議,因為它是僅有可提供現代認證加密(也稱(chēng)為AEAD)的版本。
選擇加密套件
加密套件是用于在SSL/TLS握手期間協(xié)商安全設置的算法的組合。在ClientHello和ServerHello消息交換之后,客戶(hù)端發(fā)送優(yōu)先級列表的密碼支持套件。然后,服務(wù)器使用從列表中選擇的密碼套件進(jìn)行響應。加密套件為以下組合:
密鑰交換算法(RSA,DH,ECDH,PSK);
認證算法(RSA,DSA);
批量加密算法(AES,Camellia,ARIA);
消息認證碼算法(SHA-256);
不過(guò)有幾個(gè)過(guò)時(shí)的加密原語(yǔ)必須禁止使用:
(1)匿名Diffie-Hellman(ADH)套件不提供身份驗證。
(2)NULL加密套件不提供加密。
(3)導出加密套件在連接協(xié)商時(shí)不安全,但也可以針對更強大的套件(FREAK攻擊)的服務(wù)器使用。
(4)弱密碼(通常為40和56位)的套件使用可以輕松被攻擊。
(5)RC4是不安全的。
(6)3DES運行緩慢且易被攻擊。
在SSL 3及更高版本的協(xié)議版本中,客戶(hù)端會(huì )先提交一系列支持的加密套件,服務(wù)器從列表中選擇一個(gè)用于連接的套件。然而,并不是所有的服務(wù)器都能執行此操作,有些會(huì )固定的從客戶(hù)端列表中選擇第一個(gè)支持的套件,所以服務(wù)器主動(dòng)選擇可用加密套件對于提升安全性至關(guān)重要。
使用前向保密
前向安全或前向保密(英語(yǔ):Forward Secrecy,縮寫(xiě):FS),有時(shí)也被稱(chēng)為Perfect Forward Secrecy,縮寫(xiě):PFS,是密碼學(xué)中通訊協(xié)議的安全屬性,指的是長(cháng)期使用的主密鑰泄漏不會(huì )導致過(guò)去的會(huì )話(huà)密鑰泄漏。 [2] 前向安全能夠保護過(guò)去進(jìn)行的通訊不受密碼或密鑰在未來(lái)暴露的威脅。如果系統具有前向安全性,就可以保證在主密鑰泄露時(shí)歷史通訊的安全,即使系統遭到主動(dòng)攻擊也是如此。
使用強大的密鑰交換算法
確保數據的傳輸、存儲安全,通常都會(huì )對傳輸的數據加密后存儲或傳輸,接收方收到數據后解密密文,還原明文。通常采用的加密算法主要有對稱(chēng)密鑰加密算法以及非對稱(chēng)密鑰加密算法。在安全的數據通信中,通信的雙方必須分別具有加密的密鑰以及解密的密鑰。一旦通信的密鑰被泄漏或破解,由其加密的信息就會(huì )被泄漏。因此,如何安全地交換或協(xié)商通信密鑰就成為至關(guān)重要的問(wèn)題,從而如何保證密鑰的安全,特別是安全的密碼交換就成為電子商務(wù)中安全信息交換的核心問(wèn)題。
2015年,研究人員發(fā)現一個(gè)SSL加密安全漏洞LogJam,LogJam漏洞將影響任何支持DHE_EXPORT密碼的服務(wù)器及所有瀏覽器,包括新版的IE、Chrome、Firefox、Safari等。隨后他們評估稱(chēng)學(xué)術(shù)派黑客可以破解768位的密鑰,而國家支持的黑客更可以突破1024位的密鑰。所以為了安全起見(jiàn),如果部署DHE,至少要配置2048位的密鑰。
正確部署前的驗證
也許在按著(zhù)本文的方法在進(jìn)行部署時(shí),許多軟件和硬件配置都有了新的版本,建議大家先對自己的SSL / TLS做個(gè)全面評估,以確保運行的安全,推薦大家使用此鏈接進(jìn)行測試。
實(shí)踐部署過(guò)程中的注意事項
避免一味的追求過(guò)高的安全性
使用太短的密碼肯定是不安全的,但使用太長(cháng)的密碼也不一定安全,比如會(huì )導致操作的復雜。對于大多數網(wǎng)站來(lái)說(shuō),使用強于2048位的RSA密鑰以及使用強于256位的ECDSA密鑰會(huì )浪費CPU功耗,并可能會(huì )損害用戶(hù)體驗。類(lèi)似地,增加臨時(shí)密鑰交換的強度對于DHE為2048位以及ECDHE為256位幾乎沒(méi)有什么好處,使用高于128位的加密也沒(méi)有明顯的好處。
使用會(huì )話(huà)重用機制
由于SSL握手的非對稱(chēng)運算無(wú)論是RSA還是ECDHE,都會(huì )消耗性能,故為了提高性能,對于之前已經(jīng)進(jìn)行過(guò)握手的SSL連接,盡可能減少握手round time trip以及運算。
SSL提供2中不同的會(huì )話(huà)復用機制。
(1)session id會(huì )話(huà)復用;
(2)session ticket會(huì )話(huà)復用,Session id會(huì )話(huà)復用有2個(gè)缺點(diǎn),其一就是服務(wù)器會(huì )大量堆積會(huì )話(huà),特別是在實(shí)際使用時(shí),會(huì )話(huà)老化時(shí)間配置為數小時(shí),這種情況對服務(wù)器內存占用非常高。
使用廣域網(wǎng)優(yōu)化
廣域網(wǎng)優(yōu)化(WAN optimization),通常也被稱(chēng)為廣域網(wǎng)加速(WAN acceleration),即通過(guò)一些優(yōu)化技術(shù)來(lái)提供高性能的遠程數據訪(fǎng)問(wèn),從而提高應用程序在廣域網(wǎng)上的性能。
緩存公共內容
通過(guò)TLS進(jìn)行通信時(shí),瀏覽器可能會(huì )把所有流量都視為敏感數據。這樣,它們通常會(huì )使用內存來(lái)緩存某些資源,但一旦關(guān)閉瀏覽器,所有內容都可能會(huì )丟失。為了獲得性能提升并實(shí)現對某些資源的長(cháng)期緩存,可以將公共資源(例如圖像)標記為公開(kāi)。
啟用OCSP Stapling
OCSP (Online Certificate Status Protocol) 通常由 CA 提供,用于在線(xiàn)實(shí)時(shí)驗證證書(shū)是否合法有效,這樣客戶(hù)端就可以根據證書(shū)中的 OCSP 信息,發(fā)送查詢(xún)請求到 CA 的驗證地址,來(lái)檢查此證書(shū)是否有效。
而 OCSP Stapling ,顧名思義,是將查詢(xún) OCSP 接口的工作交給服務(wù)器來(lái)做,服務(wù)器除了可以直接查詢(xún) OCSP 信息,還可以?xún)H進(jìn)行少數次查詢(xún)并將響應緩存起來(lái)。當有客戶(hù)端向服務(wù)器發(fā)起 TLS 握手請求時(shí),服務(wù)器將證書(shū)的 OCSP 信息隨證書(shū)鏈一同發(fā)送給客戶(hù)端,從而避免了客戶(hù)端驗證會(huì )產(chǎn)生的阻塞問(wèn)題。由于 OCSP 響應是無(wú)法偽造的,因此這一過(guò)程也不會(huì )產(chǎn)生額外的安全問(wèn)題。
使用快速加密原語(yǔ)
盡可能使用支持硬件加速AES的CPU,如果你真的想要進(jìn)一步提高性能,請考慮使用ECDSA密鑰。
HTTP的加密
加密整個(gè)網(wǎng)站,加密的問(wèn)題可能是當今重大的安全問(wèn)題之一,比如:
(1)沒(méi)有TLS的網(wǎng)站
(2)具有TLS但不執行TLS的站點(diǎn)
(3)混合了TLS和非TLS內容的網(wǎng)站,有時(shí)甚至在同一網(wǎng)頁(yè)內
(4)編程錯誤的網(wǎng)站會(huì )破壞TLS
刪除混合內容
即使你加密了整個(gè)網(wǎng)站,仍然可能會(huì )從第三方網(wǎng)站中檢索出未加密的一些資源?;旌蟽热蓓?yè)面是通過(guò)TLS傳輸但是包含不通過(guò)TLS傳輸的資源(例如,JavaScript文件,圖像,CSS文件)的頁(yè)面。這樣的頁(yè)面非常不安全,這些不受保護的JavaScript資源會(huì )被中間人攻擊所利用,例如劫持整個(gè)用戶(hù)會(huì )話(huà)。
了解第三方服務(wù)
多數網(wǎng)站都是通過(guò)從另一臺服務(wù)器下載的JavaScript代碼來(lái)激活的第三方服務(wù)比如Google Analytics。包含第三方代碼的網(wǎng)站會(huì )創(chuàng )建一個(gè)隱含的信任連接,有效地使對方完全控制你的網(wǎng)站。雖然第三方連接可能不是惡意的,但是這些服務(wù)背后的廠(chǎng)商可能被攻擊。
安全設置Cookie
為了在保持性能的前提下,實(shí)現安全,網(wǎng)站需要TLS,而且所有的Cookie在創(chuàng )建時(shí)都被明確標記為安全的。否則就有可能被MITM攻擊者利用,建議大家為你的Cookie添加加密完整性驗證。
安全的HTTP壓縮
CRIME攻擊通過(guò)利用壓縮過(guò)程中的漏洞,可解密部分安全連接。而禁用TLS壓縮可防止這種攻擊。另外要注意,HTTP壓縮可能被TIME和BREACH攻擊利用。與TLS壓縮不同,HTTP壓縮是必需的,不能關(guān)閉。因此,為了解決這些攻擊,需要對應用程序代碼進(jìn)行更改。
配置使用HTTP嚴格傳輸安全(HSTS)
要激活HSTS保護,你可以向你的網(wǎng)站添加一個(gè)新的響應頭。之后,支持HSTS的瀏覽器就會(huì )執行它。通過(guò)自動(dòng)將所有明文鏈接轉換為安全的鏈接,來(lái)實(shí)現了這一目標。
建議大家添加對HSTS的支持,這是為T(mén)LS安全性做出的最重要的保障。為了獲得更好的安全效果,請考慮使用HSTS預加載,將HSTS配置嵌入到瀏覽器中。只要是在有效期內,瀏覽器都將直接強制性的發(fā)起HTTPS請求。
部署內容安全策略(CSP)
敏感內容作出處理
由于使用基于云的應用平臺正在增加,所以為了讓所有敏感內容只讓接收方收到,你必須小心對敏感內容作出處理。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站