開(kāi)源免費(fèi)WEB防火墻,不讓黑客越雷池一步!

大家好,我是星哥,隨著Web應(yīng)用攻擊手段的日益復(fù)雜化,開(kāi)源免費(fèi)WAF(Web Application Firewall)憑借其靈活性和成本優(yōu)勢(shì),成為中小企業(yè)及開(kāi)發(fā)者構(gòu)建安全防線(xiàn)的核心工具。

項(xiàng)目介紹

SafeLine,中文名 "雷池",是一款簡(jiǎn)單好用, 效果突出的 Web 應(yīng)用防火墻(WAF),可以保護(hù) Web 服務(wù)不受黑客攻擊。

雷池通過(guò)過(guò)濾和監(jiān)控 Web 應(yīng)用與互聯(lián)網(wǎng)之間的 HTTP 流量來(lái)保護(hù) Web 服務(wù)??梢员Wo(hù) Web 服務(wù)免受 SQL 注入、XSS、 代碼注入、命令注入、CRLF 注入、ldap 注入、xpath 注入、RCE、XXE、SSRF、路徑遍歷、后門(mén)、暴力破解、CC、爬蟲(chóng) 等攻擊。

image-20250423180423740 同類(lèi)型的堡塔云WAF
打開(kāi)網(wǎng)易新聞 查看精彩圖片
image-20250423180423740 同類(lèi)型的堡塔云WAF

堡塔云 WAF 是一款基于寶塔面板安裝量的網(wǎng)站業(yè)務(wù)安全實(shí)戰(zhàn)經(jīng)驗(yàn)打造的免費(fèi)私有云 WAF 防火墻,只是這star數(shù)有點(diǎn)寒酸了。

開(kāi)源地址:https://github.com/aaPanel/aaWAF

還是回到介紹今天的雷池項(xiàng)目

安裝雷池WAF 環(huán)境準(zhǔn)備

安裝雷池前請(qǐng)確保你的系統(tǒng)環(huán)境符合以下要求

  • ? 操作系統(tǒng):Linux

  • ? CPU 指令架構(gòu):x86_64, arm64

  • ? CPU 指令架構(gòu):x86_64 架構(gòu)需要支持 ssse3 指令集

  • ? 軟件依賴(lài):Docker 20.10.14 版本以上

  • ? 軟件依賴(lài):Docker Compose 2.0.0 版本以上

  • ? 最低資源需求:1 核 CPU / 1 GB 內(nèi)存 / 5 GB 磁盤(pán)

可以根據(jù)以下命令來(lái)查看相關(guān)信息

uname -m                                    # 查看指令架構(gòu) cat /proc/cpuinfo| grep "processor"         # 查看 CPU 信息 lscpu | grep ssse3                          # 確認(rèn) CPU 是否支持 ssse3 指令集 docker version                              # 查看 Docker 版本 docker compose version                      # 查看 Docker Compose 版本 docker-compose version                      # 查看老版本 docker-compose 版本 free -h                                     # 查看內(nèi)存信息 df -h                                       # 查看磁盤(pán)信息
基于docker安裝 1.創(chuàng)建雷池目錄

mkdir -p "/data/docker/safeline"

該命令會(huì)創(chuàng)建/data/docker/safeline目錄作為雷池的安裝目錄(你可以根據(jù)你的實(shí)際情況選擇安裝目錄)

請(qǐng)確保該目錄至少有 5GB 的存儲(chǔ)空間(如果日常流量較大,請(qǐng)保證充足的磁盤(pán)容量)

2.下載 compose 編排腳本

使用下方的命令進(jìn)入雷池安裝目錄,并下載 docker compose 編排腳本

cd "/data/docker/safeline" wget "https://
3.配置 compose 環(huán)境變量

使用下方的命令進(jìn)入雷池安裝目錄,并創(chuàng)建.env配置文件

cd "/data/docker/safeline" touch ".env"

使用文本編輯器打開(kāi).env文件,寫(xiě)入下方的內(nèi)容,POSTGRES的密碼需自定義

使用 vim .env 填寫(xiě)一下內(nèi)容: SAFELINE_DIR=/data/docker/safeline IMAGE_TAG=latest MGT_PORT=9443 POSTGRES_PASSWORD=yourpassword #-------(自定義密碼使用數(shù)字+英文大小寫(xiě)組合,勿使用特殊字符) SUBNET_PREFIX=172.22.222 IMAGE_PREFIX=swr.cn-east-3.myhuaweicloud.com/chaitin-safeline ARCH_SUFFIX= RELEASE= REGION= 按鍵ESC,再按“:wq”保存
打開(kāi)網(wǎng)易新聞 查看精彩圖片
image-20250423181922725

如果是 ARM 服務(wù)器需要把ARCH_SUFFIX改成-arm

ARCH_SUFFIX=-arm

如果是安裝 LTS 版本需要把RELEASE改成-lts

RELEASE=-lts
根據(jù)你的實(shí)際情況修改配置文件中的 SAFELINE_DIR 和 POSTGRES_PASSWORD 字段
如果使用的是海外服務(wù)器建議設(shè)置 IMAGE_PREFIX=chaitin 直接通過(guò) docker.io 拉取鏡像

配置文件的格式說(shuō)明如下:

  • ?SAFELINE_DIR: 雷池安裝目錄,如/data/safeline

  • ?IMAGE_TAG: 要安裝的雷池版本,保持默認(rèn)的latest即可

  • ?MGT_PORT: 雷池控制臺(tái)的端口,保持默認(rèn)的9443即可

  • ?POSTGRES_PASSWORD: 雷池所需數(shù)據(jù)庫(kù)的初始化密碼,請(qǐng)隨機(jī)生成一個(gè)

  • ?SUBNET_PREFIX: 雷池內(nèi)部網(wǎng)絡(luò)的網(wǎng)段,保持默認(rèn)的172.22.222即可

  • ?IMAGE_PREFIX: 雷池鏡像源的前綴,建議根據(jù)服務(wù)器地理位置選擇合適的源

  • ?ARCH_SUFFIX: 雷池架構(gòu)的后綴,ARM 服務(wù)器需要配置為-arm

  • ?RELEASE: 更新通道,LTS 版本需要配置為-lts

4.啟動(dòng)雷池

現(xiàn)在萬(wàn)事具備,使用以下命令啟動(dòng)雷池服務(wù)

cd "/data/docker/safeline" docker compose up -d
打開(kāi)網(wǎng)易新聞 查看精彩圖片
image-20250423182248010

命令執(zhí)行成功則代表雷池安裝成功,現(xiàn)在你可以 訪(fǎng)問(wèn)雷池控制臺(tái)

docker ps|grep safeline dc20aa099857   swr.cn-east-3.myhuaweicloud.com/chaitin-safeline/safeline-luigi:latest      "/bin/sh -c /app/lui…"   18 seconds ago   Up 13 seconds                      80/tcp                                                safeline-luigi f3ea17940f08   swr.cn-east-3.myhuaweicloud.com/chaitin-safeline/safeline-mgt:latest        "/docker-entrypoint.…"   18 seconds ago   Up 13 seconds (health: starting)   80/tcp, 0.0.0.0:9443->1443/tcp, :::9443->1443/tcp     safeline-mgt c08794c24f9a   swr.cn-east-3.myhuaweicloud.com/chaitin-safeline/safeline-tengine:latest    "entrypoint.sh nginx…"   19 seconds ago   Up 17 seconds                                                                            safeline-tengine 26da86ec5703   swr.cn-east-3.myhuaweicloud.com/chaitin-safeline/safeline-postgres:15.2     "docker-entrypoint.s…"   19 seconds ago   Up 17 seconds (health: starting)   5432/tcp                                              safeline-pg b332e5deeab2   swr.cn-east-3.myhuaweicloud.com/chaitin-safeline/safeline-fvm:latest        "/app/fvm /app/confi…"   19 seconds ago   Up 17 seconds                                                                            safeline-fvm 76bf1c89530b   swr.cn-east-3.myhuaweicloud.com/chaitin-safeline/safeline-chaos:latest      "./entrypoint.sh /us…"   19 seconds ago   Up 17 seconds                      8080/tcp, 9000/tcp                                    safeline-chaos df4210e22e06   swr.cn-east-3.myhuaweicloud.com/chaitin-safeline/safeline-detector:latest   "/detector/entrypoin…"   19 seconds ago   Up 17 seconds (healthy)            8000-8001/tcp                                         safeline-detector
訪(fǎng)問(wèn)雷池控制臺(tái)

雷池安裝成功以后,你可以打開(kāi)瀏覽器訪(fǎng)問(wèn) IP+9443 來(lái)使用雷池控制臺(tái)。如果是云服務(wù)器記得打開(kāi)安全組的端口。

image-20250423182717958 2.登錄
打開(kāi)網(wǎng)易新聞 查看精彩圖片
image-20250423182717958 2.登錄

第一次登錄雷池需要初始化你的管理員賬戶(hù)(默認(rèn)會(huì)執(zhí)行),如果沒(méi)有找到賬戶(hù)密碼,手動(dòng)執(zhí)行以下命令即可

docker exec safeline-mgt resetadmin 會(huì)顯示用戶(hù)名和密碼 2025/04/23 18:38:20 [INFO] model/user.go:168 admin password has been reset [INFO] Initial username:admin [INFO] Initial password:****** [INFO] Done
打開(kāi)網(wǎng)易新聞 查看精彩圖片
image-20250423182756483 3.進(jìn)入WAF后臺(tái)
打開(kāi)網(wǎng)易新聞 查看精彩圖片
image-20250423183945592

至此雷池WAF安裝完成,下次再介紹如何防護(hù)你的WEB網(wǎng)站。

寫(xiě)文不易,如果你都看到了這里,請(qǐng)點(diǎn)個(gè)贊和在看,分享給更多的朋友;也別忘了關(guān)注星哥玩云!這里有滿(mǎn)滿(mǎn)的干貨分享,還有輕松有趣的技術(shù)交流~點(diǎn)個(gè)贊、分享給身邊的小伙伴,一起成長(zhǎng),一起玩轉(zhuǎn)技術(shù)世界吧!