写在前面
雷池刚开放社区版的时候体验过一次,也对拦截有效性做过一次实验,感兴趣师傅可以点上面的合集看往期推送。新版本新增了很多非常实用的功能,再次感受一下。这篇推文包括开源WAF的一键化安装,功能体验,拦截有效性测试。
目录
0x01 安装
0x02 使用
0x03 配置WAF
0x04 新功能体验
0x05 拦截效果测试
安装
可以参考长亭雷池官网的安装手册
https://waf-ce.chaitin.cn/docs/guide/install
如果可以出网,可以使用如下一键化安装方式
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
我这里因为之前刚开源的时候装过一版,卸载再次安装有配置残留,出现如下报错:
关闭重开就好了
docker-compose down
docker-compose up -d
使用
开起来以后WAF的服务会默认开在9443上,直接访问可以看到需要扫码绑定认证软件,这里腾讯身份验证器、谷歌身份验证器、微软身份验证器、FreeOTP都是可以的。
我这里用的是谷歌身份验证器,绑定以后输入动态口令就可以进去了,里面的精神面貌大概是这样的
下图是刚开源时候的首页精神面貌,新版本增加了不少实用功能
配置WAF
如图配置简单的防护站点
在访问映射出来的8080端口,加上恶意的shell.jsp,如果发现被拦截,说明配置成功
从攻击事件也可以看到攻击详情包括:攻击IP、攻击时间、拦截状态等
新功能体验
添加黑白名单,非常实用的功能。除了IP之外甚至可以根据Header和Body来拦截/放行,作为一个开源WAF真的很良心了。体验一下,把我现在的出口IP加到白名单,再访问shell.jsp试试
可以白名单确实放行了,看到是百分百信任
同理在人机验证添加此IP,会有一层验证
语义分析,这一块可以调整规则是否启用,还有规则的严格程度。高强度防护可能会降低用户使用体验,可以在演练期间开启。
通用配置IP组可以一键更新长亭的威胁情报,这个功能太良心了。
拦截效果测试
这里推荐两个工具,WAF-bypass和长亭的blazehttp。WAF-bypass使用可以参考我之前写的一篇推送记一次对WAF的有效性验证。这里体验一下blazehttp,下面是使用手册
https://waf-ce.chaitin.cn/docs/guide/test
blazehttp:
## 测试工具
wget https://waf-ce.chaitin.cn/blazehttp/blazehttp_linux_x64
## 赋权
chmod 777 blazehttp_linux_x64
## 测试样本
wget https://waf-ce.chaitin.cn/blazehttp/testcases.zip
## 解压,注意解压后文件需要和blazehttp_linux_x64在同一目录
unzip testcases.zip
## 使用
./blazehttp -t http://IP:PORT
可以看到准确率是比较高的,有163个漏报,目前暂未看到这个工具怎么输出没拦截到包的输出。有需要详细了解哪些包被遗漏,可以使用第一个工具WAF-bypass
用waf-bypass试试
docker run nemesida/waf-bypass --host='http://10.53.1.10:8080' --threads=15 --detail --exclude-dir=XSS --exclude-dir=UWA --exclude-dir=SSTI --exclude-dir=SSRF --exclude-dir=SSI --exclude-dir=SQLi --exclude-dir=RFI --exclude-dir=RCE --exclude-dir=OR --exclude-dir=NoSQLi --exclude-dir=Misc --exclude-dir=MFD --exclude-dir=LFI --exclude-dir=LDAP --exclude-dir=GraphQL --exclude-dir=FP --exclude-dir=CM
30个payload拦截27个,跟之前一样,有两个是检测到了认为无危害放行的
这时候我再开启高强度防护模式
再次尝试,之前放行的两条也当作攻击拦截了
整体使用下来,用户体验有了很大提升,功能也完善了很多,打个好评。
写在最后
本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好地维护个人信息安全、企业安全、国家安全。
未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。