为了不被网络攻击,我的网站接入了"雷池 WAF"。帮助我拦截我网站所有的恶意请求和网络攻击。
强烈推荐阅读B站视频版本:https://www.bilibili.com/video/BV1LRR9BmEee/

起初是在某一天 VX 收到一条商务合作的添加人消息,说 OSS 的下行流量消耗太大寻求解决方法。由于已经达成了合作并且完美的解决了该网络流量消耗大问题,这里简称客户。
听到上述的客户问题简要描述之后,其实还不能断定问题原因,因为我们不清楚业务,同时我们需要查看 OSS 下行流量的消耗情况(看监控)。
一看文件访问统计情况,这流量明显不正常,一张图最高都跑了 115.6 GB 的流量,最低 10.65 GB。从下图来看,明显是被网络攻击恶意盗刷了流量。

应对这种网络攻击,我们采取两种解决方案:
-
开启 OSS 防盗链(防盗链比较简单,本文不介绍)
-
使用 Web 应用防火墙"雷池 WAF"
下面我们就正式来介绍一下,如何使用"雷池 WAF"。
雷池 WAF 介绍
雷池(SafeLine)是由长亭科技(Chaitin Tech)研发的一款下一代 Web 应用防火墙。它在 GitHub 有 21.1k Start,是 GitHub 上最受欢迎的开源 WAF 项目,没有之一。
开源指路:https://github.com/chaitin/SafeLine
雷池 WAF,它是一款专注于保护网站和 Web 应用免受网络攻击的安全产品。通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受 SQL 注入、XSS、 代码注入、命令注入、CRLF 注入、ldap 注入、xpath 注入、RCE、XXE、SSRF、路径遍历、后门、暴力破解、CC、爬虫 等攻击。
与传统 WAF 主要依赖正则表达式规则匹配不同,雷池的核心创新在于其智能语义分析技术,这使其能够更精准地识别和拦截各类 Web 攻击,尤其擅长防御未知威胁和经过伪装的复杂攻击。

雷池 WAF 原理
雷池 WAF 原理,具体可以参考官方文档:
-
反向代理
-
HTTP请求在雷池内部流转的过程

安装雷池 WAF
安装雷池 WAF 非常简单,准备一台 Linux 机器、安装 Docker,之后执行一条命令即可安装。具体如下:
1)环境依赖

2)执行下面一条命令,实现自动化安装(建议采用单独机器部署)
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"
# /opt/module/waf-leichi

3)访问雷池 WAF
安装完成后,保存好访问地址和账号密码,浏览器输入地址访问即可。

网站接入雷池 WAF
网站接入雷池 WAF 前,我们肯定是要有自己的网站,如果有自己的网站的可以直接接入,没有的可以随意不是一个 Web 应用即可,如 Nginx。我这里也会采用 Nginx 来充当我们的网站业务。

网站接入雷池非常简单,创建一个反向代理,将流量接收过来即可。
注意:应用域名处,如果不通过域名访问,通过 IP 访问的话,这里写*即可。
在防护应用中创建一个应用,基本信息如下,如果没有证书需要删除 443 端口的 HTTPS 协议。如图:

雷池 WAF 流量接管测试
在测试一起,我们需要修改 web.qiuyl.com域名 DNS 解析到192.168.1.51WAF 节点公网 IP 上。没有域名可以采用本地 Hosts 解析。
Windows hosts 文件路径:C:\Windows\System32\drivers\etc\hosts
验证解析是否生效(Windows 本地 hosts 解析的话 ping 一下该域名即可)
yum install bind-utils -y
dig web.qiuyl.com

浏览器访问web.qiuyl.com验证服务是否正常

WAF 管理页面可以看到对应站点的请求量,就说明接管成功,具备防护能力。

测试防护效果
测试防护效果:点击跳转


点击对应某条攻击日志查看详情
