当前位置: 首页 > news >正文

开源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.lryc.cn/news/619572.html

相关文章:

  • Go语言实战案例:使用Gin处理路由参数和查询参数
  • .net\c#web、小程序、安卓开发之基于asp.net家用汽车销售管理系统的设计与实现
  • Redis学习——Redis的十大类型String、List、Hash、Set、Zset
  • SQL详细语法教程(一)--数据定义语言(DDL)
  • PCIe Base Specification解析(十)
  • 基于机器学习的自动驾驶汽车新型失效运行方法
  • BGP综合实验_Te. BGP笔记
  • Python实战教程:PDF文档自动化编辑与图表绘制全攻略
  • Blender模拟结构光3D Scanner(一)外参数匹配
  • 解决:nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module
  • PyTorch神经网络工具箱(神经网络核心组件)
  • 第十二节:粒子系统:海量点渲染
  • 5.0.9.1 C# wpf通过WindowsFormsHost嵌入windows media player(AxInterop.WMPLib)
  • Go 1.25正式发布
  • ant-design a-from-model的校验
  • 自然语言处理的实际应用
  • OpenAI官方写的GPT-5 prompt指南
  • [C语言]第二章-从Hello World到头文件
  • 服务器硬件电路设计之 I2C 问答(五):I2C 总线数据传输方向如何确定、信号线上的串联电阻有什么作用?
  • Vue实时刷新,比如我提交审核,审核页面还需要点查询才能看到最新数据
  • 广州健永信息科技有限公司发展历程
  • 【分布式 ID】一文详解美团 Leaf
  • ubuntu24.04安装 bpftool 以及生成 vmlinux.h 文件
  • MySQL的MVCC多版本并发控制
  • 拓扑结构图解析
  • iscc2025区域赛wp
  • GitHub宕机时的协作方案
  • 软考备考——三、操作系统
  • 【计组】指令与CPU
  • 建设有人文温度的智能社会:规划与实施路径