如何檢測網(wǎng)站劫持?
IIS7網(wǎng)站監(jiān)控
檢測網(wǎng)站是否被劫持、DNS污染檢測、網(wǎng)站打開速度檢測等信息。
如何防范HTTP劫持呢?
根據(jù)對(duì)抗HTTP劫持的時(shí)機(jī)來分類,可以主要分為三類
事前加密
事中規(guī)避
事后屏蔽
那么接下來,讓我們一個(gè)個(gè)的來說
事前加密
HTTPS
很大一部分HTTP劫持,主要的原因就是在傳輸數(shù)據(jù)時(shí)都是明文的,使用了HTTPS后,會(huì)在HTTP協(xié)議之上加上TLS進(jìn)行保護(hù),使得傳輸?shù)臄?shù)據(jù)進(jìn)行加密,但是使用HTTPS,一定要注意規(guī)范,必須要全站使用HTTPS,否則只要有一個(gè)地方?jīng)]有使用HTTPS,明文傳輸就很有可能會(huì)被HTTP劫持了
但是相應(yīng)的,全部使用HTTPS,也會(huì)帶來一些問題:
性能可能有所降低,因?yàn)槎嗔薚LS握手所帶來的2次RTT延時(shí)(但是基于HTTPS之上的HTTP2可以更有效的提升性能)
由于運(yùn)營商可能會(huì)使用DNS劫持,在DNS劫持之下,HTTPS的服務(wù)完全用不了了,所以會(huì)導(dǎo)致白屏
加密代理
加密代理的原理就是在用戶側(cè)和目標(biāo)web服務(wù)器之間增加一個(gè)代理服務(wù)器,在用戶和代理之間會(huì)經(jīng)過運(yùn)營商的節(jié)點(diǎn),這里使用各種加密手段保證安全,在代理服務(wù)器與web服務(wù)之間使用HTTP請(qǐng)求,只需確認(rèn)代理與web服務(wù)之間不會(huì)被HTTP劫持就可以避開HTTP劫持
事中加密
拆分HTTP請(qǐng)求數(shù)據(jù)包
在HTTP劫持的步驟中,第一步是標(biāo)記TCP連接,因此只要躲過了標(biāo)識(shí),那么后續(xù)的運(yùn)營商篡改就不會(huì)存在了,有一種方式就是拆分HTTP請(qǐng)求
拆分?jǐn)?shù)據(jù)包就是把HTTP請(qǐng)求的數(shù)據(jù)包拆分成多個(gè),運(yùn)營商的旁路設(shè)備由于沒有完整的TCP/IP協(xié)議棧,所以就不會(huì)被標(biāo)志,而目標(biāo)web服務(wù)器是有完整的TCP/IP協(xié)議棧,能接收到的數(shù)據(jù)包拼成完整的HTTP請(qǐng)求,不影響服務(wù)
事后屏蔽
通過瀏覽器Api,根據(jù)若干規(guī)則去匹配DOM中的節(jié)點(diǎn),對(duì)匹配到的節(jié)點(diǎn)作攔截和隱藏
CSP(內(nèi)容安全策略),DOM事件監(jiān)聽等。
CSP是瀏覽器附加的一層安全層,用于對(duì)抗跨站腳本與數(shù)據(jù)注入,運(yùn)營商植入內(nèi)容性質(zhì)與數(shù)據(jù)注入類似,因此,可以用CSP對(duì)抗運(yùn)營商劫持。通過在HTTP響應(yīng)頭或meta標(biāo)簽設(shè)置好規(guī)則,支持?jǐn)r截和上報(bào)劫持信息的功能。
DOM事件監(jiān)聽主要是監(jiān)聽DOMNodeInserted、DOMContentLoaded、DOMAttrModified等事件,可以在前端DOM結(jié)構(gòu)發(fā)生變化時(shí)觸發(fā)回調(diào),這時(shí)補(bǔ)充一些檢測邏輯,即可判斷是不是業(yè)務(wù)的正常UI邏輯,如果不是,即可認(rèn)為是來自劫持
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。