開源WAF新標桿:雷池SafeLine用語義分析重構網站安全邊界

文章目錄

    • 前言
    • 【視頻教程】
    • 1.安裝Docker
    • 2.本地部署SafeLine
    • 3.使用SafeLine
    • 4.cpolar內網穿透工具安裝
    • 5.創建遠程連接公網地址
    • 6.固定Uptime Kuma公網地址

前言

當個人或企業站點上線后面臨的首要威脅往往來自網絡攻擊——據統計,超過60%的Web應用漏洞利用嘗試在流量到達服務器前即被攔截。而國產開源項目雷池(SafeLine)正是為此而生:它以反向代理形態部署,在流量抵達網站前完成智能清洗,成為防御黑客滲透的第一道防線。

CPolar在此場景中扮演關鍵角色:當雷池部署于內網環境時(如企業私有云或本地服務器),開發者可通過CPolar快速創建加密隧道。此舉既避免了直接暴露Web服務端口的風險,又實現了遠程運維的即時性——例如安全團隊可隨時通過公網URL檢查攻擊日志或更新防護策略。

其核心優勢包括:

  • 精準防御:語義分析引擎無需依賴規則庫,能識別繞過傳統WAF的0day攻擊;
  • 極低延遲:單請求檢測耗時僅1ms級,在2000+ TPS場景下仍保持線性性能;
  • 高可用架構:基于Nginx內核開發,服務穩定性達99.99%,支持彈性擴容。

image-20241024110014279

【視頻教程】

image-20241024135533243

1.安裝Docker

軟件依賴:Docker 20.10.6 版本以上

我這里演示的環境是Ubuntu22.04,Docker版本是24.0.5

在終端中執行下方命令安裝docker:

curl -fsSL https://get.docker.com -o get-docker.sh

然后再啟動docker

sudo sh get-docker.sh

最后我們在docker容器中運行下 hello world 看一下是否安裝成功。

sudo docker container run hello-world

可以看到出現了hello world,說明我們已經安裝docker成功,就可以進行下一步了

image-20241008151101668

2.本地部署SafeLine

本項目提供了最簡單的方式,使用項目提供的一鍵安裝腳本,用root用戶執行以下命令即可

sudo bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

輸入后會提示建議關閉防火墻,按‘’Y‘’即可

image-20241024111730440

看到提示后按照自己喜好填寫安裝目錄,留空就會安裝到默認里。

image-20241024111907962

出現下方二維碼后顯示安裝成功

image-20241024112033452

現在就已經安裝成功了,您可以通過打開Web瀏覽器輸入localhost:9443。但你會發現跳出一個錯誤的頁面。

image-20241024115011422

別擔心,因為本地請求的是https協議,瀏覽器會有安全提示,我們點高級跳過(Advanced),再點擊接受并繼續(Accept the Risk and Continue)就可以了。

image-20241024115931458

3.使用SafeLine

第一次登錄雷池需要初始化你的管理員賬戶(默認會執行),如果沒有找到賬戶密碼,手動執行以下命令即可

sudo docker exec safeline-mgt resetadmin

命令執行完成后會隨機重置 admin賬戶的密碼,輸出結果如下

image-20241024134634936

我們直接復制粘貼就可以進入到雷池的管理界面了。

首先我們要配置一下要保護的站點,這里也說明一下,正常使用的時候,不建議把雷池和實際的業務應用部署到一臺服務器上,這樣對于服務器的負載會很大,存在隱患,最好是單獨的一臺服務器來部署雷池,之后將流量轉給真實應用。

一些關鍵字段的說明如下:

  • 域名: 通過雷池訪問該站點時使用的域名 (支持使用 * 做為通配符)
  • 端口: 雷池監聽的端口 (如需配置 HTTPS 服務, 請勾選 SSL 選項并配置對應的 SSL 證書)
  • 上游服務器: 被保護的 Web 服務的實際地址

image-20241024134953913

配置完成后,用瀏覽器訪問域名,能獲取到業務網站的響應,并且數據統計頁的 “今日請求數” 增加,那恭喜你, 說明你配置的完全正確。

image-20241024135037216

我們可以簡單的模擬下對網站進行攻擊,比如SQL注入伙XSS攻擊

  • 模擬 SQL 注入攻擊: https://chaitin.com/?id=1+and+1=2+union+select+1
  • 模擬 XSS 攻擊: https://chaitin.com/?id=<img+src=x+onerror=alert()>
  • 模擬路徑穿越攻擊: https://chaitin.com/?id=../../../../etc/passwd
  • 模擬代碼注入攻擊: https://chaitin.com/?id=phpinfo();system('id')
  • 模擬 XXE 攻擊: https://chaitin.com/?id=<?xml+version="1.0"?><!DOCTYPE+foo+SYSTEM+"">

不出意外的話,這些攻擊都將被雷池攔截,如下圖所示。

image-20241024135258438

對于你的網站而言, 雷池可以實現如下效果:

  • 阻斷 Web 攻擊
  • 可以防御所有的 Web 攻擊,例如 SQL 注入、XSS、代碼注入、操作系統命令注入、CRLF 注入、XXE、SSRF、路徑遍歷 等等。
  • 限制訪問頻率
  • 限制用戶的訪問速率,讓 Web 服務免遭 CC 攻擊、暴力破解、流量激增 和其他類型的濫用。
  • 人機驗證
  • 互聯網上有來自真人用戶的流量,但更多的是由爬蟲, 漏洞掃描器, 蠕蟲病毒, 漏洞利用程序等自動化程序發起的流量,開啟雷池的人機驗證功能后真人用戶會被放行,惡意爬蟲將會被阻斷。
  • 身份認證
  • 雷池的 “身份認證” 功能可以很好的解決 “未授權訪問” 漏洞,當用戶訪問您的網站時,需要輸入您配置的用戶名和密碼信息,不持有認證信息的用戶將被拒之門外。
  • 動態防護
  • 在用戶瀏覽到的網頁內容不變的情況下,將網頁賦予動態特性,對 HTML 和 JavaScript 代碼進行動態加密,確保每次訪問時這些代碼都以隨機且獨特的形態呈現。

小結

上面在本地Linux中使用Docker成功部署了SafeLine,并局域網訪問成功。SafeLine還有很多玩法可以自己嘗試下去開發。總的來說是一款非常不錯的WAF產品,作為開源產品它的功能和完成度非常的高,而且還是國產的開源項目,必須要加分!

如果想在公網遠程管理SafeLine,就可以創建一個公網地址,這里我使用的是cpolar內網穿透,通過cpolar轉發本地端口映射的http公網地址,我們可以很容易實現遠程訪問,而無需自己注冊域名購買云服務器,可節省大量的資金。

4.cpolar內網穿透工具安裝

下面是安裝cpolar步驟:

Cpolar官網地址: https://www.cpolar.com

使用一鍵腳本安裝命令

sudo curl https://get.cpolar.sh | sh

img

安裝完成后,執行下方命令查看cpolar服務狀態:(如圖所示即為正常啟動)

sudo systemctl status cpolar

img

Cpolar安裝和成功啟動服務后,在瀏覽器上輸入ubuntu主機IP加9200端口即:【http://localhost:9200】訪問Cpolar管理界面,使用Cpolar官網注冊的賬號登錄,登錄后即可看到cpolar web 配置界面,接下來在web 界面配置即可:

image-20240801133735424

5.創建遠程連接公網地址

登錄cpolar web UI管理界面后,點擊左側儀表盤的隧道管理——創建隧道:

  • 隧道名稱:可自定義,本例使用了: SafeLine注意不要與已有的隧道名稱重復
  • 協議:http
  • 本地地址:https://localhost:9443
  • 域名類型:隨機域名
  • 地區:選擇China Top

image-20241024143632877

創建成功后,打開左側在線隧道列表,可以看到剛剛通過創建隧道生成了兩個公網地址,接下來就可以在其他電腦(異地)上,使用任意一個地址在瀏覽器中訪問即可。

image-20241024143708134

如下圖所示,成功實現使用公網地址異地遠程訪問本地部署的SafeLine。

image-20241024143726893

使用上面的cpolar https公網地址,在任意設備的瀏覽器進行訪問,即可成功看到我們SafeLine管理界面,這樣一個利用公網地址可以進行遠程訪問的隧道就創建好了,隧道使用了cpolar的公網域名,無需自己購買云服務器,可節省大量資金。使用cpolar創建隧道即可發布到公網進行遠程訪問,新域名登錄,可能需要重新登陸!

6.固定Uptime Kuma公網地址

由于以上使用cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化。

注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。【cpolar.cn已備案】

點擊左側的預留,選擇保留二級子域名,地區選擇china top,然后設置一個二級子域名名稱,填寫備注信息,點擊保留。

image-20241024144126453

保留成功后復制保留的二級子域名地址:image-20241024144150389

登錄cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯

image-20241024144330055

修改隧道信息,將保留成功的二級子域名配置到隧道中

  • 域名類型:選擇二級子域名
  • Sub Domain:填寫保留成功的二級子域名
  • 地區: China Top

點擊更新

image-20241024144423629

更新完成后,打開在線隧道列表,此時可以看到隨機的公網地址已經發生變化,地址名稱也變成了保留和固定的二級子域名名稱。

image-20241024144516967

最后,我們使用固定的公網地址訪問SafeLine管理界面可以看到訪問成功,一個永久不會變化的遠程訪問方式即設置好了。

image-20241024144655397

接下來就可以隨時隨地進行公網訪問管理SafeLine了,把公網地址分享給身邊的人,還可以方便團隊協作。自己用的話,無需云服務器,還可以實現異地遠程訪問!以上就是如何在Linux Ubuntu系統Docker本地安裝SafeLine并實現異地遠程訪問進行管理的全部過程,感謝觀看!

當語義分析遇上智能反向代理,雷池SafeLine與CPolar的組合正在重新定義開源WAF的價值邊界。通過加密隧道實現的安全管控不僅降低了運維復雜度,更在防護未知威脅時展現出獨特優勢——這種技術融合既保障了對攻擊流量的精準攔截能力,又為分布式團隊協作提供了可靠支撐。對于追求“低成本、高效率”安全方案的企業而言,這或許正是平衡防御強度與資源消耗的理想路徑之一。

cpolar官網-安全的內網穿透工具 | 無需公網ip | 遠程訪問 | 搭建網站

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92963.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92963.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92963.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mac M1探索AnythingLLM+SearXNG

SearXNG 能聚合來自多達 200 多個搜索服務&#xff0c;可私有化部署&#xff0c;并提供了靈活自定義選項。 AnythingLLMSearXNG&#xff0c;剛好能解決AnythingLLM因為網絡限制導致web search不可用的問題。 1 安裝docker 下載mac m1版本的docker并安裝。 https://docs.dock…

模式設計:策略模式及其應用場景

簡介 策略模式(Strategy Pattern)是一種行為型設計模式,它允許在運行時動態選擇算法或行為。核心思想是將算法封裝成獨立的類(策略),使它們可以相互替換,讓算法的變化獨立于使用它的客戶端。 核心思想 解耦:將算法的定義與使用分離。每個算法封裝起來,使它們可以互…

Squash Merge(壓縮合并)和Rebase Merge(變基合并)介紹

文章目錄**1. Squash Merge&#xff08;壓縮合并&#xff09;****定義****操作步驟****特點****優點****缺點****2. Rebase Merge&#xff08;變基合并&#xff09;****定義****操作步驟****特點****優點****缺點****3. 對比總結****4. 選擇建議****5. 示例場景****Squash Merg…

Linux編程 —— framebuffer

一、framebuffer概念framebuffer&#xff1a;幀緩沖&#xff0c;幀緩存技術Linux內核專門為圖形化顯示提供的一套應用程序接口。二、基本操作步驟1. 打開顯示設備(/dev/fb0) 2. 獲取顯示設備相關參數&#xff08;分辨率&#xff0c;像素格式&#xff09;---》ioctl 3. 建立顯存…

文件編輯html

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>文件行內容編輯器</title><script src&…

具有熔斷能力和活性探測的服務負載均衡解決方案

一、整體架構設計 1.核心組件 負載均衡器&#xff1a;負責選擇可用的服務節點健康檢查器&#xff1a;定期檢測服務節點的可用性服務節點管理&#xff1a;維護所有可用節點的狀態信息 2.負載均衡策略 輪詢(Round Robin)隨機(Random)加權輪詢(Weighted Round Robin)最少連接(Leas…

技術演進中的開發沉思-62 DELPHI VCL系列:VCL下的設計模式

今天聊聊設計模式&#xff0c;當然這個章節目前僅限于DELPHI VCL,因為接下來梳理的Factory/Factory Method、Bootstrap 和 ForEach 這三種設計樣例&#xff0c;看似獨立&#xff0c;卻在實際開發中相互配合&#xff0c;共同構建起高效、靈活的程序架構。在 DELPHI VCL 開發的技…

Docker 101:面向初學者的綜合教程

掌握 Docker 已成為軟件開發中的一項關鍵技能。本教程探討了容器化的世界&#xff0c;包括其核心概念、優缺點&#xff0c;以及開始使用容器化的分步指南。 無論是 Docker 的新手&#xff0c;還是希望復習基礎知識的更有經驗的開發人員&#xff0c;本指南都能滿足需求。 什么…

RTOS YAFFS

在 YAFFS (Yet Another Flash File System) 的語境中&#xff0c;“Check Point” 并不是一個標準的、核心的官方術語。它更可能是對 YAFFS 關鍵機制 Summary 或 Checkpointing 功能的非正式表述或理解偏差。其核心含義是指 YAFFS 在特定時刻保存文件系統關鍵元數據的狀態&…

【SpringBoot系列-02】自動配置機制源碼剖析

【SpringBoot系列-02】自動配置機制源碼剖析 咱們天天用Spring Boot&#xff0c;一個SpringBootApplication注解扔進去&#xff0c;啥配置都不用寫&#xff0c;項目就跑起來了。你有沒有過這種疑惑&#xff1a;那些DispatcherServlet、DataSource是從哪冒出來的&#xff1f;今天…

51單片機-51單片機最小系統

本章概述思維導圖&#xff1a;51單片機最小系統51單片機最小系統是51系列單片機&#xff08;如AT89C51、STC89C52等&#xff09;能夠獨立工作的最簡電路配置&#xff0c;它為單片機提供了運行所需的基本條件。51單片機最小系統板是嵌入式系統開發的基礎平臺&#xff0c;集成了單…

git學習1

目錄引入版本控制集中式和分布式版本控制git工作機制代碼托管中心Git常用命令設置用戶簽名初始化本地庫查看庫狀態add和提交版本穿梭git分支操作分支定義分支好處分支操作查看分支創建分支切換分支分支合并&#x1f495;?&#x1fa77;合并沖突git團隊協作團隊內協作跨團隊協作…

redis原理篇--Dict

Dict數據結構一、Redis字典的核心組件Redis字典由三部分構成&#xff1a;dictht&#xff08;哈希表&#xff09;&#xff1a;存儲桶數組與元數據dictEntry&#xff08;哈希節點&#xff09;&#xff1a;存儲鍵值對dict&#xff08;字典主體&#xff09;&#xff1a;包含雙哈希表…

靜態路由主備切換

在網絡中&#xff0c;靜態路由的主備切換是實現網絡冗余的基礎方案之一&#xff0c;通過配置不同優先級的靜態路由&#xff0c;確保主用路徑故障時&#xff0c;流量能自動切換到備用路徑&#xff0c;提升網絡可靠性。以下從知識講解和實驗配置兩部分詳細說明。一、靜態路由主備…

PDF處理控件Aspose.PDF教程:在C#、Java、Python中快速縮小PDF

如果您的PDF太大&#xff0c;無法通過電子郵件發送&#xff0c;或者在線加載時間過長&#xff0c;您可以在幾秒鐘內縮小 PDF 大小。本教程介紹了借助Aspose.PDF使用 C#、Java 和 Python 編程快速縮小PDF的方法。 Aspose.PDF官方試用版下載 通過編程縮小 PDF 尺寸 如果您需要…

AWS EKS 常用命令大全:從基礎管理到高級運維

前言 Amazon Elastic Kubernetes Service (EKS) 是 AWS 提供的托管 Kubernetes 服務,大大簡化了 K8s 集群的部署和管理工作。作為 EKS 管理員或開發者,熟練掌握 kubectl 命令是日常工作的基礎。本文將詳細介紹 EKS 環境中常用的 kubectl 命令,涵蓋集群管理、工作負載操作、…

GitHub Browser-Use 的部署失敗記錄:失敗了,失敗了。。。。

一、項目背景與核心作用 browser-use 是一個開源的瀏覽器自動化工具&#xff0c;通過集成 AI 智能體&#xff08;如 GPT、Claude、DeepSeek 等大型語言模型&#xff09;&#xff0c;實現用自然語言控制瀏覽器操作。其核心目標是 簡化網頁交互自動化&#xff0c;尤其適合復雜、…

調用springboot接口返回403,問題定位及總結

背景在一次與前端聯調后端接口時前端返回接口返回狀態碼是403&#xff0c;前端返回說已經帶了請求token。排查 查看后端控制臺沒有出現任何錯誤信息。自己postman手動調用接口&#xff0c;發現接口正常。仔細核對前端調用接口與postman請求的區別&#xff0c;沒有發現任何問題。…

布隆過濾器原理分析、應用場景、與redis使用案例

一、核心結構與工作原理1.1 數據結構布隆過濾器由以下兩部分組成&#xff1a;位數組&#xff08;Bit Array&#xff09;&#xff1a;一個長度為 m 的二進制數組&#xff0c;初始所有位為0。哈希函數組&#xff1a;k 個獨立的哈希函數&#xff0c;每個函數將輸入元素映射到位數組…

異步并發×編譯性能:Dart爬蟲的實戰突圍

Dart憑借其高效的異步并發模型、AOT編譯性能和現代化的語法&#xff0c;正成為爬蟲開發中值得關注的新選擇。特別是對于Flutter應用開發者而言&#xff0c;Dart提供了一種"全棧同語言"的獨特優勢。 本文我將通過實戰代碼展示如何利用Dart的核心優勢——包括基于Futur…