混合內(nèi)容的影響混合內(nèi)容的影響主要與沒有被加密的內(nèi)容性質(zhì)所決定,目前主要有兩種性質(zhì)的內(nèi)容:
混合被動內(nèi)容(Mixed passive content),混合主動內(nèi)容(Mixed active conttent)。前者也叫混合顯示(Mixed Display),它們是低風險的內(nèi)容,例如圖片; 后者也叫作混合腳本(Mixed Scripting),它們是高風險的內(nèi)容,常見的有JavaScript腳本。
混合主動內(nèi)容是威脅的真正來源。一個不被加密的JavaScript文件的引用,可能會被主動攻擊者劫持,并用來獲取對頁面的完全控制,已經(jīng)使用受害者的身份在網(wǎng)站上執(zhí)行任意的動作。對于其他危險的資源類型也是如此,包括:HTML(框架)、CSS、FLASH和JAVA應(yīng)用程序等。
混合被動內(nèi)容雖然不是那么的危險,但依然會破壞頁面的完整性。在某些情況下,攻擊者可以通過在圖片中插入信息來玩弄受害者,可能導致釣魚攻擊的發(fā)生。
瀏覽器的處理
Android瀏覽器
Android的瀏覽器對混合內(nèi)容沒有任何限制。
Chrome
Chrome從版本38開始,會阻止所有的混合主動內(nèi)容。
Firefox
Firefox很久以前就可以對混合內(nèi)容進行檢測并發(fā)出警告,但一直到版本23以后,開始對所有的混合主動內(nèi)容進行阻斷。
IE
IE從IE5(1999年)開始就支持對混合內(nèi)容的檢測,當IE檢測到同一個頁面上存在加密和明文內(nèi)容的時候,它將提示用戶來決定如何處理。但一直到IE9以后,才開始對混合主動內(nèi)容進行阻斷,同時開始對混合的被動內(nèi)容采取了默許的方式。
Safri
Safri目前不阻斷任何混合內(nèi)容,這是它與其他瀏覽器相比的一個很大的區(qū)別。
Images
CSS
Scripts
XHR
Websockets
Frames
Android Brower 4.4
Y
Y
Y
Y
Y
Y
Chrome 41
Y
N
N
N
N
N
Firefox 30
Y
N
N
N
N
N
IE 11
Y
N
N
N
N
N
Safari
Y
Y
Y
Y
Y
Y
查找混合內(nèi)容
查找網(wǎng)頁是否存在混合內(nèi)容,推薦使用Chrome的“開發(fā)者工具”:
訪問需要測試網(wǎng)頁,然后打開,開發(fā)者工具,選擇“Security”-Non-Secure Origin,就可以看到Mixed Content:
解決辦法
檢查代碼
新的網(wǎng)站開發(fā),在搭建測試環(huán)境時,建議直接在測試環(huán)境部署HTTPS,以確保網(wǎng)站在測試時就能及時發(fā)現(xiàn)混合內(nèi)容問題,并及時糾正。
程序員在代碼開發(fā)時,可以采用以下方式:
本地的圖片和腳本通過HTTP顯示方式直接調(diào)用??梢詸z索所有通過http://絕對路徑方式調(diào)用的元素,改用本地相對路徑。訪問了一些外網(wǎng)的圖片和腳本。譬如某網(wǎng)站www.domain.com,將圖片放在另外一個站點img.domain.com,將腳本訪問js.domain.com上,請在每個站點都部署HTTPS,然后將原先的http://的引用方式調(diào)整為//的引用方式。例如:原先的代碼 <img src=http://img.domain.com/image/1.jpg /> 修改為 <img src=//img.domain.com/image/1.jpg /> 。調(diào)整后,瀏覽器會自動選擇http還是https來訪問外網(wǎng)資源。如需要使用第三方系統(tǒng)提供的應(yīng)用服務(wù),請尋求支持HTTPS的服務(wù)商,目前百度和Google都已經(jīng)支持全網(wǎng)HTTPS,而且正規(guī)的應(yīng)用服務(wù)上,都會開始支持HTTPS了。HTST
HTST是一種強制瀏覽器獲取安全資源的機制,即使在面對用戶錯誤(譬如用戶用80端口訪問到你的網(wǎng)站)以及實現(xiàn)錯誤(網(wǎng)站開發(fā)人員在HTTPS頁面上加了不安全的元素)也依然有效。這個特性有效的消除了混合內(nèi)容的問題,但僅能在你能控制的域名下工作。
HTST要求通過301跳轉(zhuǎn)的方式,一下僅就IIS簡要介紹一下:
首先在網(wǎng)站上配置1個HTTP的網(wǎng)站,和一個HTTPS的網(wǎng)站,選擇HTTP重定向:
狀態(tài)代碼設(shè)置為:永久(301)。重定向到相同域名的HTTPS站點上。
有關(guān)HTST的詳細使用,我們將另外發(fā)文介紹。
CSP
為了阻斷從第三方網(wǎng)站獲取到的不安全資源,可以使用安全內(nèi)容策略(Content Security Policy,CSP)。這個安全特性可以對不安全的資源進行阻斷。它同時還有很多其他有用的特性來處理應(yīng)用層安全問題。
更多關(guān)于云服務(wù)器,域名注冊,虛擬主機的問題,請訪問西部數(shù)碼官網(wǎng):m.ps-sw.cn