从零开始使用国产WAF雷池搭建安全防线守护网站免受黑客侵袭 ...

张裕  金牌会员 | 2025-1-16 09:38:35 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 563|帖子 563|积分 1689

前言

对于建站新手来说,无论你选择创建的是个人博客、企业官网照旧各类应用平台来推广本身的内容或是产物,都已经是现在这个时代非常简单快捷的一种办理方案了。然而,在享受便捷的同时,我们不得不面对一个严峻的事实:网络安全威胁如影随形。
你可能以为本身搭建的网站或应用步伐上线后会立刻吸引到热情洋溢的新用户,但实际上,开始光顾这些新站点的往往不是满怀期待的访客,而是那些带着恶意计划、技能高超的黑客。他们像埋伏在暗处的猎手一样伺机而动,一旦发现漏洞便迅速发起攻击。
面对这样的挑衅,我们不能坐以待毙!本日我要向大家推荐一款非常强大的开源工具——雷池(SafeLine)。这款来自国内的Web应用防火墙不但功能强大、操纵轻便,而且完全免费。它可以大概帮助你轻松抵御各种网络威胁,让你的数字资产更加安全可靠!

1.关于SafeLine

雷池(SafeLine)是一款免费且易于使用的Web应用防火墙(WAF),它采用了行业领先的语义引擎检测技能。通过反向代理的方式轻松接入你的网站或应用步伐,可以大概有效抵御各种网络攻击,确保体系的安全性。

雷池以反向代理方式接入,优先于网站服务器吸收流量,对流量中的攻击行为进行检测和清洗,将清洗过后的流量转发给网站服务器。通过以上行为,最终确保外部攻击流量无法触达网站服务器。
Github地址:https://github.com/chaitin/SafeLine
以下是SafeLine雷池的功能特性:


  • **便捷性:**采用容器化部署,一条下令即可完成安装,0 成本上手。安全配置开箱即用,无需人工维护,可实现安全躺平式管理
  • **安全性:**首创业内领先的智能语义分析算法,精准检测、低误报、难绕过。语义分析算法无规则,面对未知特征的 0day 攻击不再手足无措
  • **高性能:**无规则引擎,线性安全检测算法,均匀请求检测延迟在 1 毫秒级别。并发能力强,单核轻松检测 2000+ TPS,只要硬件充足强,可支持的流量规模无上限
  • **高可用:**流量处理引擎基于 Nginx 开发,性能与稳固性均可得到保障。内置完善的康健检查机制,服务可用性高达 99.99%

2.安装Docker

软件依赖:Docker 20.10.6 版本以上
我这里演示的环境是Ubuntu22.04,Docker版本是24.0.5
如果没有安装Docker,可以检察这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》
3.当地部署SafeLine

本项目提供了最简单的方式,使用项目提供的一键安装脚本,用root用户执行以下下令即可
  1. bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
复制代码
输入后会提示建议关闭防火墙,按‘’Y‘’即可

看到提示后按照本身喜欢填写安装目录,留空就会安装到默认里。

出现二维码后表现安装成功
现在就已经安装成功了,您可以通过打开Web浏览器输入localhost:9443。但你会发现跳出一个错误的页面。

别担心,因为当地请求的是https协议,浏览器会有安全提示,我们点高级跳过(Advanced),再点击担当并继承(Accept the Risk and Continue)就可以了。

4.使用SafeLine

第一次登录雷池需要初始化你的管理员账户(默认会执行),如果没有找到账户密码,手动执行以下下令即可
  1. sudo docker exec safeline-mgt resetadmin
复制代码
下令执行完成后会随机重置 admin账户的密码,输出结果如下

我们直接复制粘贴就可以进入到雷池的管理界面了。
首先我们要配置一下要保护的站点,这里也阐明一下,正常使用的时间,不建议把雷池和实际的业务应用部署到一台服务器上,这样对于服务器的负载会很大,存在隐患,最好是单独的一台服务器来部署雷池,之后将流量转给真实应用。
一些关键字段的阐明如下:


  • 域名: 通过雷池访问该站点时使用的域名 (支持使用 * 做为通配符)
  • 端口: 雷池监听的端口 (如需配置 HTTPS 服务, 请勾选 SSL 选项并配置对应的 SSL 证书)
  • 上游服务器: 被保护的 Web 服务的实际地址

配置完成后,用浏览器访问域名,能获取到业务网站的响应,而且数据统计页的 “本日请求数” 增长,那恭喜你, 阐明你配置的完全正确。

我们可以简单的模拟下对网站进行攻击,好比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+"">
不出意外的话,这些攻击都将被雷池拦截,如下图所示。

对于你的网站而言, 雷池可以实现如下效果:


  • 阻断 Web 攻击
  • 可以防御所有的 Web 攻击,比方 SQL 注入、XSS、代码注入、操纵体系下令注入、CRLF 注入、XXE、SSRF、路径遍历 等等。
  • 限定访问频率
  • 限定用户的访问速率,让 Web 服务免遭 CC 攻击、暴力破解、流量激增 和其他范例的滥用。
  • 人机验证
  • 互联网上有来自真人用户的流量,但更多的是由爬虫, 漏洞扫描器, 蠕虫病毒, 漏洞利用步伐等主动化步伐发起的流量,开启雷池的人机验证功能后真人用户会被放行,恶意爬虫将会被阻断。
  • 身份认证
  • 雷池的 “身份认证” 功能可以很好的办理 “未授权访问” 漏洞,当用户访问您的网站时,需要输入您配置的用户名和密码信息,不持有认证信息的用户将被拒之门外。
  • 动态防护
  • 在用户浏览到的网页内容不变的情况下,将网页赋予动态特性,对 HTML 和 JavaScript 代码进办法态加密,确保每次访问时这些代码都以随机且独特的形态出现。
小结
上面在当地Linux中使用Docker成功部署了SafeLine,并局域网访问成功。SafeLine还有很多玩法可以本身尝试下去开发。总的来说是一款非常不错的WAF产物,作为开源产物它的功能和完成度非常的高,而且照旧国产的开源项目,必须要加分!
如果想在公网远程管理SafeLine,就可以创建一个公网地址,这里我使用的是cpolar内网穿透,通过cpolar转发当地端口映射的http公网地址,我们可以很轻易实现远程访问,而无需本身注册域名购买云服务器,可节省大量的资金。
5.cpolar内网穿透工具安装

下面是安装cpolar步骤:
   Cpolar官网地址: https://www.cpolar.com
  使用一键脚本安装下令
  1. sudo curl https://get.cpolar.sh | sh
复制代码

安装完成后,执行下方下令检察cpolar服务状态:(如图所示即为正常启动)
  1. sudo systemctl status cpolar
复制代码

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

6.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:


  • 隧道名称:可自定义,本例使用了: SafeLine注意不要与已有的隧道名称重复
  • 协议:http
  • 当地地址:https://localhost:9443
  • 域名范例:随机域名
  • 地域:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道天生了两个公网地址,接下来就可以在其他电脑(异地)上,使用恣意一个地址在浏览器中访问即可。

如下图所示,成功实现使用公网地址异地远程访问当地部署的SafeLine。

使用上面的cpolar https公网地址,在恣意设备的浏览器进行访问,即可成功看到我们SafeLine管理界面,这样一个利用公网地址可以进行远程访问的隧道就创建好了,隧道使用了cpolar的公网域名,无需本身购买云服务器,可节省大量资金。使用cpolar创建隧道即可发布到公网进行远程访问,新域名登录,可能需要重新登陆!
7.固定Uptime Kuma公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,倒霉于恒久远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地域选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

保留成功后复制保留的二级子域名地址:

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

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


  • 域名范例:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地域: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

末了,我们使用固定的公网地址访问SafeLine管理界面可以看到访问成功,一个永世不会变化的远程访问方式即设置好了。

在这个布满不确定性的互联网天下里,保护好本身的网站和应用步伐至关紧张。选择一款高效可靠的WAF工具是实现这一目标的紧张一步。雷池(SafeLine)依附其精良的技能气力与用户友好的界面设计赢得了广泛好评,成为众多开发者心中的首选。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表