一款國產開源 Web 防火墻神器!
隨著開源 Web 框架和各種建站工具的興起,搭建網站已經是一件成本非常低的事情,但是網站的安全性很少有人關注,以至于 WAF 這個品類也鮮為人知。
一、WAF 是什么?
WAF 是 Web 應用防火墻(Web Application Firewall)的縮寫,也就是我們俗稱的網站防火墻。它可以保護網站不被黑客所攻擊,通常以 Web 網關的形式存在,作為反向代理接入。WAF 可以識別常見的 Web 攻擊并實施阻斷,比如:SQL 注入、跨站腳本攻擊(XSS)、跨站請求偽造(CSRF)、服務端請求偽造(SSRF)、WebShell 上傳與通信等等。
圖片
二、雷池
今天 HelloGitHub 給大家帶來的是一款開箱即用、功能強大、廣受好評的網站防護工具——雷池 WAF,不讓黑客越雷池半步。
GitHub:https://github.com/chaitin/safeline
雷池是一款簡單易用、廣受好評的社區 WAF 項目,它底層基于 Nginx 的 Web 網關,作為反向代理接入網絡,清洗來自黑客的惡意流量,保護你的網站不受黑客攻擊。雷池擁有友好的 Web 界面,就算你不具備網絡安全技術背景,也可以通過它發揮出頂尖的網站防護效果。
雷池由國內頂尖的網絡信息安全公司長亭科技,在今年 4 月開源的網站防火墻工具。它迭代速度相當驚人,短短四個月的時間共發布了 31 個版本,被 1.8w 的網站站長使用,在 GitHub 收獲了 3K+ 的 Star?。
圖片
下面,就讓我們一起上手這款國產開源網站防火墻神器吧!
三、安裝部署
雷池采用容器化部署的方式,服務由多個 Docker 容器組成,支持簡單方便的一條龍安裝腳本。只要服務器能聯網,執行安裝腳本后,自動拉取鏡像、初始化配置文件、啟動服務一氣呵成。
3.1 一條命令安裝
直接使用在線安裝腳本。
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
3.2 克隆倉庫安裝
克隆倉庫后,執行 setup.sh 腳本即可安裝。
git clone git@github.com:chaitin/safeline.git
cd safeline
bash ./setup.sh
3.3 安裝成功
整個安裝過程對新手十分友好,提示詞為中文、自動安裝 Docker 等,只需按照提示一路向下即可。
____ __ _ _
/ ___| __ _ / _| ___ | | (_) _ __ ___
\___ \ / _` | | |_ / _ \ | | | | | '_ \ / _ \
___) | | (_| | | _| | __/ | |___ | | | | | | | __/
|____/ \__,_| |_| \___| |_____| |_| |_| |_| \___|
[SafeLine] 腳本調用方式確認正常
[SafeLine] 缺少 Docker 環境
[SafeLine] 是否需要自動安裝 Docker (Y/n)
# Executing docker install script, commit: xxx
...
[SafeLine] 雷池安裝目錄 (留空則為 '/data/safeline'):
[SafeLine] 目錄 '/data/safeline' 當前剩余存儲空間為 47G ,雷池至少需要 5G,是否確定 (Y/n)
[SafeLine] 創建安裝目錄 '/data/safeline' 成功
...
[SafeLine] 雷池 WAF 社區版安裝成功,請訪問以下地址訪問控制臺
[SafeLine] https://0.0.0.0:9443/ # 安裝成功
安裝完成后,根據提示訪問本地的 Web 服務端口即可開始使用。
四、工作原理
下面將通過簡單的 WAF 部署架構圖,介紹雷池的工作原理。
下圖是一個簡單的網站拓撲,外部用戶發出請求,經過網絡最終傳遞到網站服務器。
此時,若外部用戶中存在惡意用戶,那么由惡意用戶發出的攻擊請求也會經過網絡最終傳遞到網站服務器。
圖片
雷池以反向代理方式接入,優先于網站服務器接收流量,對流量中的攻擊行為進行檢測和清洗,將清洗過后的流量轉發給網站服務器。
通過以上行為,可以在請求到達網站服務器前過濾掉惡意請求,最終確保外部攻擊流量無法觸達網站服務器。
圖片
五、核心能力
雷池是一款內外兼修的網站防火墻,它不光有好看的界面,還有強大的網站安全防護功能。
5.1 防護 Web 攻擊、CC 攻擊、爬蟲
雷池的 Web 攻擊檢測能力由語義分析算法驅動,不同于通用的語義分析,雷池的自動機引擎 yanshi
可以支持對片段語法進行分析,對 HTTP 請求參數進行自動化遞歸解碼,提取請求參數中的攻擊片段,并通過攻擊打分模型對參數中的攻擊代碼進行識別,最終判定 HTTP 請求是否為惡意攻擊,具備對通用攻擊的防護能力,也具備泛化識別能力,可以實現無規則檢測 0Day
攻擊。
雷池集成了基于惡意 IP 情報、客戶端指紋、鼠標鍵盤行為識別、訪問頻率限制的人機驗證算法,可用來對抗爬蟲、對抗掃描、對抗 CC 攻擊。
圖片
圖片
5.2 Web 流量訪問控制
雷池支持通過可視化頁面配置網站的訪問控制黑白名單,允許匹配源 IP、路徑、域名、Header、Body 等條件。
圖片
5.3 網站資源識別
雷池基于 HTTP 流量自動識別 Web 資源,從而生成 API 畫像持續統計和分析。采用動態基線和預測分析技術分析異常訪問行為,精準識別操作正常但請求異常的攻擊行為,從正常行為中檢測出異常流量。
圖片
六、最后
雷池是長亭科技耗時近 10 年打造的開源網站防火墻,具有開箱即用、企業防護能力、高性能等特點。
- 開箱即用:安裝只需要一條命令,界面簡單易操作。
- 功能強大:首創的語義分析驅動的 Web 攻擊檢測算法,支持 IP 威脅情報、動態限頻、智能建模等企業級產品才有的高級防護能力。
- 高性能:在 Nginx 之上增加了攻擊檢測能力,輕松支撐 10000+ TPS 流量,攻擊檢測帶來的延遲在 1 毫秒級別。
如果你使用后覺得雷池還不錯,就給它點一個 Star? 吧!
GitHub:https://github.com/chaitin/safeline