Web如何应对流量劫持?
雖然互聯網經過多年的發展,可是網站使用的底層協議仍是 HTTP,HTTP 作為一種明文傳播協議,所有的傳輸數據都是明文,我們都知道在通信中使用明文(不加密) 內容可能會被竊聽,同時網站存在被劫持的風險。
網站劫持檢測
1、檢測網站是否被劫持
2、域名是否被墻
3、DNS污染檢測
4、網站打開速度檢測
5、網站是否被黑、被入侵、被改標題、被掛黑鏈
【深度檢測】
1、可以檢測多層js劫持、圖片劫持、FLASH劫持、地區電信劫持、DNS劫持、域名被墻、DNS污染
2、可以獲取嚴重占用加載時間的JS或者圖片、css等html所用文件
3、不支持搜索引擎快照劫持檢測
最長等待時間為10分鐘。 此項選擇考慮方向為:各大電信商鏈接檢測網站速度有快慢。
?
限制網站權限
部分網站遭遇劫持主要由于非法服務器獲取了 Web 網站文件及文件夾的讀寫權限,針對這個問題,我們可以利用服務器的安全設置、提高網站程序的安全性,以此防范 Web 劫持。
提升網站 防 SQL 注入功能
SQL 注入通過利用 SQL 語言的特性,向 Web 數據庫寫入內容,獲取權限,因此我們需要針對MS SQL Server 數據庫中的小權限 sa 默認用戶,建立一個只能訪問本系統數據庫的專一用戶,并且為他配置最小權限。
配置 Web 站點文件夾及其操作權限
使用 Windows 系統中的超級管理員權限對 Web 站點文件和文件夾進行權限配置。將大部分人的權限配置為僅讀權限,黑客在沒有寫權限的情況下,很難將木馬程序植入,減少網站域名劫持的可能性。
定期清理 Web 網點中存在的可疑文件
不管黑客通過何種方式獲取權限,在事件管理器中都會顯示出異常情況,通過對異常事件和日期的分析,查看執行代碼文件中是否被人注入代碼或改動,并且對新增可執行代碼進行清理。
使用公共114DNS
讓用戶繞過運營商 local DNS,使用 114 DNS(國內最大的中立緩存 DNS),這種在技術實現上有比較大的難度,成本也比較高。在現在的情況下即使用戶使用公共 DNS,也并不能完全解決問題。先不論公共 DNS 是否也有在做劫持,最關鍵的是,運營商也會專門針對到公共 DNS 的流量做劫持。對于流量入口的把控,運營商不會放松警惕。
HttpDNS,防止 DNS 劫持
在移動客戶端中加入一個域名解析模塊,客戶端通過 HTTP 的方式向網站的流量調度服務器請求 IP,流量調度服務器會根據用戶所在位置給用戶一個最優的IP。客戶端在獲取IP后直接用此IP來訪問所需站點資源。
?
△ HttpDNS 訪問原理圖
HTTPS 防劫持
由于公共 DNS、HttpDNS 的部署成本過高,有一定的技術難度,并且在面對無孔不入的 DNS 劫持時難免會力有不逮。這時候網站開啟 HTTPS 作為防流量劫持手段之一可以高效的解決這些問題。目前絕大部分網站也都已經啟用 HTTPS 來加密。HTTPS 協議就是HTTP+SSL/TLS,在 HTTP 的基礎上加入 SSL /TLS 層,提供了內容加密、身份認證和數據完整性三大功能,最終目的就是為了加密數據,用于安全的數據傳輸。
△ HTTP 請求
△ HTTPS 請求
SSL 協議在 HTTP 請求中增加了握手階段,并且對明文 HTTP 請求、應答進行加密。SSL 握手階段,客戶端瀏覽器會進行服務器身份認證,確認客戶端證書證書屬于該目標網站并且證書本書有效的時候,并且通信雙方還會共同使用一個加密和解密的會話密鑰。
在 SSL 握手階段結束之后,服務端和客戶端通過會話密鑰對交互數據進行加密/解密操作,將 HTTP 請求和應答經過加密之后才會發送到發送到網絡上。
通過 SSL 協議對 Web 服務器的身份認證,使流量劫持導致的連接錯誤服務器情況被發現和終止,保證劫持無法實現。同時 HTTPS 在數據傳輸中對數據進行加密傳輸,保護數據不被竊取以及修改。
服務器遠程桌面連接
?
如何快速啟用 HTTPS
鑒于啟用 HTTPS 會帶來一定的服務器資源消耗,目前大多數公司普遍的選擇是直接使用國內的 CDN 服務,比如又拍云提供一站式 HTTPS 服務,簡單幾步就能完成全站 HTTPS 的部署,光是免費類證書就有2款,而付費證書在 3-5 天內即可完成申購。另外一種可以直接在 Web 服務器上部署證書和私鑰,可以去網上查看教程。
總結
面對 Web 流量劫持,首先我們可以在網站層面限制讀寫權限,限制惡意代碼的寫入,其次可以通過公有 DNS 和 HttpDNS 來防止惡意 DNS 劫持。全站開啟 HTTPS,加密數據傳輸,可以有效防止數據泄漏,同時解決流量劫持的問題。
總結
以上是生活随笔為你收集整理的Web如何应对流量劫持?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加自选是什么意思
- 下一篇: 负载均衡在分布式架构中是怎么玩起来的?