【渗透工具】雷池WAF安装与使用
WAF简介
WAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。
区别于传统防火墙,WAF 工作在应用层,对基于 HTTP/HTTPS 协议的 Web 系统有着更好的防护效果,使其免于受到黑客的攻击。
WAF的部署架构
社区版雷池以反向代理方式接入,优先于网站服务器接收流量,对流量中的攻击行为进行检测和清洗,将清洗过后的流量转发给网站服务器。
通过以上行为,最终确保外部攻击流量无法触达网站服务器。
安装过程
一键安装
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"
安装完成
访问https://0.0.0.0:9443
登录雷池
根据界面提示,使用 支持 TOTP 的认证软件或者小程序 扫描二维码,然后输入动态口令登录:
本次安装测试利用的是腾讯身份验证器
登录成功后
添加防护站点
雷池社区版主要以 反向代理 的方式工作,类似于一台 nginx 服务。
部署时,需要让网站流量先抵达雷池,经过雷池检测和过滤后,再转给原来的网站业务。
本次采用的是在单独的服务器部署雷池时配置
环境信息:
网站服务器:IPA,对外端口8002,域名可以不填
部署雷池的服务器:IPB
目的:使用雷池的80端口接受请求进行防护
步骤:
1. 必须将网站流量指向雷池的IPB。例如修改域名解析服务的配置,将域名解析到雷池IPB
2. 具体配置参考下图
3. 禁止网站服务器(IPA)上,所有除了雷池之外的访问。例如配置防火墙
配置完成
浏览器访问example.com:80,若能获取到业务网站的响应,并且站点上 “今日访问量” 增加,则代表配置成功。
防护测试
手工测试
模拟 SQL 注入,请访问 http://<IP或域名>:<端口>/?id=1%20AND%201=1
模拟 XSS,请访问 http://<IP或域名>:<端口>/?html=<script>alert(1)</script>
防护设置
黑白名单
频率限制
人机验证
问题分析
如何记录所有访问雷池的请求
默认情况下雷池是并不会保存请求记录的,如果需要保存请求记录,可以修改安装路径下的resources/nginx/nginx.conf
去掉文件第 99 行的注释,删除第 100 行的内容.保存后运行命令检查配置文件
docker exec safeline-tengine nginx -t
应用配置文件
docker exec safeline-tengine nginx -s reload
日志路径:/data/safeline/logs/nginx/access.log