Web如何應對流量劫持?


雖然互聯網經過多年的發展,可是網站使用的底層協議仍是 HTTP,HTTP 作為一種明文傳播協議,所有的傳輸數據都是明文,我們都知道在通信中使用明文(不加密) 內容可能會被竊聽,同時網站存在被劫持的風險。

上篇《網站莫名跳轉,從百度談什么是網站劫持?》中我們講到了搜索引擎劫持、網絡劫持、瀏覽器劫持、路由器劫持等常見的網站劫持,面對多種方式的網站劫持,我們應該如何應對?

限制網站權限

部分網站遭遇劫持主要由於非法服務器獲取了 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 面臨較高的成本,我們可以選擇國內公有雲廠商比如又拍雲的 HttpDNS 調度功能,可以有效防止 DNS 劫持。

△ HttpDNS 訪問原理圖

HTTPS 防劫持

由於公共 DNS、HttpDNS 的部署成本過高,有一定的技術難度,並且在面對無孔不入的 DNS 劫持時難免會力有不逮。這時候網站開啟 HTTPS 作為防流量劫持手段之一可以高效的解決這些問題。目前絕大部分網站也都已經啟用 HTTPS 來加密。HTTPS 協議就是HTTP+SSL/TLS,在 HTTP 的基礎上加入 SSL /TLS 層,提供了內容加密、身份認證和數據完整性三大功能,最終目的就是為了加密數據,用於安全的數據傳輸。

 

△ HTTP 請求

△ HTTPS 請求

SSL 協議在 HTTP 請求中增加了握手階段,並且對明文 HTTP 請求、應答進行加密。SSL 握手階段,客戶端瀏覽器會進行服務器身份認證,確認客戶端證書證書屬於該目標網站並且證書本書有效的時候,並且通信雙方還會共同使用一個加密和解密的會話密鑰。

在 SSL 握手階段結束之后,服務端和客戶端通過會話密鑰對交互數據進行加密/解密操作,將HTTP 請求和應答經過加密之后才會發送到發送到網絡上。

通過 SSL 協議對 Web 服務器的身份認證,使 DNS 劫持導致的連接錯誤服務器情況被發現和終止,保證流量劫持無法實現。同時 HTTPS 在數據傳輸中對數據進行加密傳輸,保護數據不被竊取以及修改。

如何快速啟用 HTTPS

鑒於啟用HTTPS會帶來大量的服務器資源消耗,目前大多數公司普遍的選擇是直接使用國內的 CDN 服務,諸如又拍雲等提供一站式 HTTPS 服務,簡單幾步就能完成全站 HTTPS 的部署。這些服務商一般都提供免費和多種付費 SSL 證書供個人和企業選擇,像又拍雲,光是免費類證書就有2款,而付費證書在 3-5 天內即可完成申購。

另外一種,我們可以直接在 Web 服務器上部署證書和私鑰,這個網上有教程可以查看,在此就不贅述了,大家可以去網上查看教程。

總結

面對 Web 流量劫持,首先我們可以在網站層面限制讀寫權限,限制惡意代碼的寫入,其次可以通過公有 DNS 和 HttpDNS 來防止惡意 DNS 劫持。全站開啟 HTTPS,加密數據傳輸,可以有效防止數據泄漏,同時解決流量劫持的問題。

 

傳送門:免費 SSL 證書申請入口

推薦閱讀:

HTTPS系列干貨 ( 一):HTTPS 原理詳解

HTTPS系列干貨(二):突破這5個技術難點,HTTPS會好用到飛起來


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM