一、什么是雷池WAF
SafeLine,中文名 "雷池",是一款简单好用, 效果突出的 Web 应用防火墙(WAF),可以保护 Web 服务不受黑客攻击。
雷池通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受SQL 注入、XSS、 代码注入、命令注入、CRLF 注入、ldap 注入、xpath 注入、RCE、XXE、SSRF、路径遍历、后门、暴力破解、CC、爬虫 等攻击。
二、安装部署
2.1环境准备
安装雷池前请确保你的系统环境符合以下要求
- 操作系统:Linux
- CPU 指令架构:x86_64, arm64
- CPU 指令架构:x86_64 架构必须支持 ssse3**, 推荐支持 avx2指令集
- 软件依赖:Docker 20.10.14 版本以上
- 软件依赖:Docker Compose 2.0.0 版本以上
- 最低资源需求:1 核 CPU / 1 GB 内存 / 5 GB 磁盘
可以根据以下命令来查看相关信息
uname -m # 查看指令架构
cat /proc/cpuinfo| grep "processor" # 查看 CPU 信息
lscpu | grep ssse3 # 确认 CPU 是否支持 ssse3 指令集
lscpu | grep avx2 # 确认 CPU 是否支持 avx2 指令集
docker version # 查看 Docker 版本
docker compose version # 查看 Docker Compose 版本
docker-compose version # 查看老版本 docker-compose 版本
free -h # 查看内存信息
df -h # 查看磁盘信息
2.2安装部署
本次操作选择自动安装,输入下述命令,3 分钟即可完成自动安装。
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"
命令执行后选择安装后回车即可,安装完成后即可输出管理用户密码以及访问的路径。
搭建完成成功访问WAF页面,输入用户密码选择登录,
成功进入WAF页面。
三、安全防护能力实战
3.1防护应用添加
在首页界面,选择防护应用,点击添加应用,
打开需要防护的站点,选择网址信息http://192.168.1.17:5000/
添加应用配置:
1)域名:因为是测试使用,网站访问使用IP+端口,未使用域名,则通过*进行匹配即可,如果是域名则输入访问域名即可。
2)端口:本次测试不使用https,所以只配置端口即可,如果需要开启https则需要选择SSL并添加证书,证书可以选择申请免费证书。
3)上游服务器:上游服务器就是真实的网站url,输入即可。
点击提交即可完成本次应用在WAF上的基本配置,配置完成后则通过WAF服务的IP+配置的端口可以实现对防护网站的访问,且对所有访问流量可以通过WAF进行检测防护。
通过WAF配置的IP+端口成功访问站点:http://192.168.198.146:8888/
3.2日志记录配置
对于WEB应用网站的安全分析运营中,为了方便溯源或者问题的排查,对于到达WAF的所有访问日志和错误日志原则上也是需要查询分析的,因此需要对日志记录功能开启。
在防护应用中选择详细,
进入后滑到最下边,应用日志菜单下包含访问日志和错误日志
依次点击变绿,并打开选择记录访问日志和错误日志,再次访问防护网站时,所有访问日志和错误日志均被记录。
3.3攻击防护实战
攻击防护能力是所有WAF最基本的安全防护能力,添加完应元后则自动启动该项防护
访问被防护的网站,输入XSS等语句尝试攻击测试
WAF成功拦截攻击行为
点击攻击防护菜单,选择攻击日志可以查看所有识别到的攻击行为,
点击详情,可以查看具体的攻击信息,包括请求响应等信息
点击智能AI攻击分析,则可以查看针对该攻击行为的分析解释,包括影响和修复建议。
3.4身份认证防护实战
身份认证功能主要实现登录鉴权操作,对于很多个人开发者或者小型企业,有简单的web服务在互联网部署,没有实现登录鉴权,但还不想让其他人能够访问查看,那么该功能就非常方便,可以通过waf自动增加登录功能,登录完成后方可使用。
点击防护应用,选择身份认证
启动身份认证功能,可以自行选择登录鉴权的系统,如果有统一认证系统,可以直接调用统一认证系统实现登录,如果没有则选择简易认证,通过账号密码实现登录鉴权。本次测试直接使用认证后直接访问,如果想更安全可以选择需要审批授权访问。
配置完成后,选择身份认证功能,点击配置,
添加用来登录鉴权的用户信息
输入账号密码即可,也可以选择开启二次验证。
再次访问被保护的业务系统,发现会跳转到登录界面
输入正确的账号密码,登录成功后才可以访问。
3.5HTML动态加密防护实战
HTML动态加密**防护能力其实对于网络安全的检测防护还是非常有必要的,目前我们很多自动化检测的工具都会通过html文件来识别一些js或者敏感url,帮助攻击者进行下一步深入攻击,因此如果从源头进行防护,可以更高效的提升攻击的成本,从而防御攻击行为。雷池WAF也是支持针对HTML的动态加密,具体效果如下。
访问测试站点,右键查看源代码,可以明确的看出所有html代码都是明文展示。
在WAF中防护应用点击BOT防护菜单,
打开后点击HTML动态加密,即启动了该功能
再次右键查看被测站点的HTML源代码时发现均为加密后的内容。
3.6人机验证防护实战
人机验证功能也是针对各类爬虫及自动化扫描渗透攻击非常有效的防护能力,开启后对于工具的请求行为就会自动识别并启动验证,通过后才可以访问。
选择防护应用中的BOT防护菜单,
打开人机验证,为了测试本次进行特定条件的配置,选择当URL为/login时的请求则触发人机验证功能。
通过被测系统访问该接口时则成功触发人机防护能力。
对于人机验证的防护能力,可以根据不同的条件特征进行开启,包括url、请求体等参数。
3.7黑名单防护实战
对于WAF等产品来说,除了检测来说,最有效的一项功能那必须时黑名单,常规安全运营或者重大时期保障工作中,针对一些情报IOC等恶意攻击IP地址,需要提前通过黑名单功能禁止访问,对于雷池WAF也是非常方便可以配置,选择黑白名单,点击自定义规则。
点击添加规则,选择需要添加黑名单或者白名单,按照规则对目标进行设定即可。
本次以黑名单,对源IP设置为规定IP地址即可,选择提交则已生效。
通过展示列表可以看出该黑名单规则已启用。
再次利用加黑的IP访问被测站点发现无法访问。
在黑白名单的拦截日志中可以看到该IP的访问拦截记录。
同时通过点击详情可以查看具体攻击日志详细内容,
点击查看IP画像可以自动在长亭IP威胁情报中对攻击IP画像信息进行查询展示,方便分析人员进一步排查。
3.8CC防护实战
CC 攻击主要活跃在 HTTP 层,攻击者会模拟多个合法用户持续请求网站,从而使服务器的 CPU、内存等资源被大量消耗使正常用户无法访问服务器。雷池WAF CC防护包括WAF等候室以及频率限制。
选择防护应用,点击CC防护,
进入后可以针对需要的功能进行选择和开启,比如高频攻击限制,可以对限制策略进行编辑,
按照个人的要求对规则进行设定并提交。
四、总结
本文针对雷池WAF的部分安全防护能力进行了操作及测试,可以看出对于WEB站点的防护能力还是完全可以满足的。当然其中还有很多其他的安全防护能力也可以自行实操。也可以和其他安全设备进行联动打造自动化安全运营平台。