資訊中心
用戶網(wǎng)站使用SSL證書再使用CDN時,SSL錯誤是什么意思?難道,安裝SSL證書的網(wǎng)站不能做CDN?其實不然,開啟加速之后,訪問網(wǎng)站的時候就會去CDN服務(wù)器獲取內(nèi)容,對于未開啟https的網(wǎng)站來說,免費的CDN帶來很明顯的加速效果。但是對于開啟 https的網(wǎng)站,我們的證書安裝在網(wǎng)站而不是CND服務(wù)器,所以訪問的時候會提示不安全或者拒絕訪問。要了解SSL錯誤是有哪些原因,得具體了解cdn加速、cdn防御、ssl證書防御原理。
cdn加速:提高網(wǎng)站的速度,增加可擴展性和安全性。早期cdn是將用戶重定向到靠近用戶的代理服務(wù)器(或緩存服務(wù)器)來減少Web訪問的延遲,以提升網(wǎng)站加載速度。這些年,CDN也開始幫助客戶隱藏原始網(wǎng)站IP,并將攻擊流量負(fù)載分配給多個代理服務(wù)器來提供DDoS緩解服務(wù)。通過在緩存服務(wù)器上部署Web應(yīng)用程序防火墻,過濾對原始服務(wù)器的入侵。
cdn防御:在使用CDN加速時,服務(wù)器訪問終止于節(jié)點上的一個代理服務(wù)器,返回緩存的內(nèi)容。
ssl證書防御:是基于,建立加密隧道以在客戶端和Web服務(wù)器之間傳遞敏感信息。獲得證書的網(wǎng)站,在訪問啟用網(wǎng)站時,客戶端可以通過驗證服務(wù)器的證書來驗證服務(wù)器的身份(例如,它是否由受信任的CA頒發(fā),以及服務(wù)器域名是否與證書中列出的信息匹配)。
cdn加速為何會導(dǎo)致ssl錯誤?
①首先,使用cdn時,cdn服務(wù)器會切斷HTTPS通信的中間,并將HTTPS分成兩部分:最終用戶和CDN代理之間的前端通信服務(wù)器,以及CDN代理服務(wù)器和原始Web服務(wù)器之間的后端通信。在這種情況下,客戶端和Web服務(wù)器之間的安全隧道的建立現(xiàn)在涉及三方。雖然后端交互類似于原始HTTPS,但前端通信變得復(fù)雜。
②在HTTPS通信中添加其他方不僅需要更改安全隧道的設(shè)置(例如使用不同的證書),還需要額外的用戶感知和委派控制,在純粹的雙方端到端HTTPS模型中,沒有一個需要考慮。具體而言,當(dāng)網(wǎng)站的所有者將其HTTPS的認(rèn)證信息委托給某些CDN提供商時,應(yīng)該有一種機制通知最終用戶該授權(quán)。
此外,網(wǎng)站所有者除了布置waf和防火墻,應(yīng)該能夠根據(jù)自己的意愿,有效和獨立地從CDN提供商撤銷他/她的代表團(無需當(dāng)前CDN提供商的批準(zhǔn),例如在更換CDN提供商的情況下) 。
ssl錯誤的解決方法:
在這些使用ssl證書和CDN的網(wǎng)站中,有15%的網(wǎng)站引發(fā)了無效證書的警報,對于那些沒有證書警告的人,主要是他們使用了兩種類型的證書:自定義證書和共享證書。
1、自定義證書:要求網(wǎng)站所有者將其證書和私鑰上載到CDN提供商。實質(zhì)上,在網(wǎng)站和CDN提供商之間共享私鑰違反了公鑰加密的基本設(shè)置。實際上,原始網(wǎng)站的所有者通過與CDN提供商共享私鑰而面臨更多安全風(fēng)險,因為CDN提供商可能將這些敏感信息分發(fā)到因特網(wǎng)上的所有節(jié)點。此外,網(wǎng)站不能獨立有效地撤銷其CDN提供商的代表團。
2、在共享證書的情況下,CDN依靠合作伙伴CA頒發(fā)對多個域名有效的證書。為確保Web客戶端收到有效證書,CDN提供商將客戶的域名添加到主題備用名稱(SAN)擴展[1]他的證書。但是,僅由共享證書表示的委派證明不完整(參見§IV-A2),這導(dǎo)致在向最終用戶顯示適當(dāng)?shù)陌踩甘痉麜r喪失HTTPS的功能。
例如,假設(shè)網(wǎng)站所有者已申請EV(擴展驗證)證書以增強網(wǎng)站的保證級別,那么他將無法向網(wǎng)站的用戶顯示它,而是共享低級別DV(域驗證) )屬于他的CDN提供商的證書指示符。而且,我們的經(jīng)驗表明,在這種機制中也存在委托撤銷的問題。
對于后端通信,我們測量了五個CDN提供商的行為,發(fā)現(xiàn)它們都遠非完美。其中兩個使用HTTP而不是HTTPS進行后端通信。其他三個雖然使用HTTPS,但在建立安全通道時沒有執(zhí)行適當(dāng)?shù)纳矸蒡炞C,因此容易受到MITM攻擊。
如何解決使用CDN部署HTTPS的問題?
1、使用名為名稱約束證書的現(xiàn)有技術(shù)檢查潛在的解決方案。在此方法中,網(wǎng)站所有者扮演從屬CA的角色,向CDN提供商頒發(fā)證書,限制為所有者的域。雖然這個解決方案在理論上是可行的,并且沒有任何協(xié)議修改,但我們認(rèn)為由于以下三個原因,它在部署中是不實際的。首先,我們在一些流行的Web瀏覽器中發(fā)現(xiàn)了一個漏洞,可以輕松繞過名稱約束。其次,由于需要運行從屬CA,該方法會給網(wǎng)站所有者帶來沉重的開銷。此外,由于嚴(yán)格的審查和審計責(zé)任,商業(yè)CA不太可能激勵他們的客戶成為從屬CA。
2、通過擴展名為DANE的新興技術(shù)提出另一種解決方案。在此解決方案中,網(wǎng)站所有者可以明確地向他的代表團顯示他的TLSA記錄,該記錄將網(wǎng)站和CDN提供商的證書相關(guān)聯(lián)。因此,最終用戶可以驗證原始網(wǎng)站和CDN提供商的身份,以及它們之間的委托。我們的分析和實現(xiàn)表明,該解決方案可以有效地解決CDN中的HTTPS問題。
總之,CDN會轉(zhuǎn)換IP,而SSL就是依靠IP進行加密zhi傳輸,所以它倆之間有沖突。其實很多CDN目前也開發(fā)出了支持SSL證書的模塊,很多免費DNS服務(wù)采用的都是CDN加速。要解決cdn與https之間的問題,除了分析CDN提供商中HTTPS的當(dāng)前技術(shù),識別其缺陷和實踐問題的測量。還需要進行證書名稱約束問題的發(fā)現(xiàn)和實驗,基于DANE的輕量級靈活解決方案,可解決CDN環(huán)境中的HTTPS身份驗證問題。