5款免费WAF的测试报告
内容提要
本文介绍了一种测试Web应用防火墙(WAF)性能的方法,通过四个关键指标进行评估。作者使用开源工具和样本进行测试,得出了不同WAF的性能比较结果。SafeLine表现最佳,Coraza和ModSecurity的检测率高但误报率也较高。文章强调了根据实际情况选择适当的样本和方法进行测试的重要性。
延伸解读
测试指标解读:检测率、误报率与准确率的平衡
文章采用检测率、误报率、准确率和检测时间四个指标评估WAF。检测率反映攻击拦截能力,误报率衡量对正常流量的干扰,准确率则综合两者。从结果看,SafeLine检测率74.09%、误报率8.19%,准确率99.44%,表现均衡;而Coraza和ModSecurity检测率约70%,但误报率超过90%,准确率较低。这说明高检测率未必代表实用,误报率同样关键,读者应结合业务对误报的容忍度选择。
测试样本与方法:贴近真实流量比例
测试样本来自个人浏览器,通过Burp Suite捕获,正常与攻击流量按约100:1分配,共收集60707个正常请求和600个攻击请求。攻击样本涵盖DVWA、PortSwigger、VulHub及对抗性流量,力求全面。目标机Nginx固定返回200,以隔离WAF行为。这种设计模拟了真实网络环境,但样本来源单一,可能无法覆盖所有攻击类型,读者需注意其局限性。
性能对比:SafeLine综合最佳,但需理性看待
SafeLine在检测率、误报率和准确率上均领先,且检测时间较短(90%请求0.73毫秒)。Coraza和ModSecurity检测率相近,但误报率极高,可能对正常业务造成大量干扰。SuperWAF检测率仅24%,但误报率低、速度快,适合对漏报容忍度高的场景。文章强调,不同样本和方法会导致结果差异,选择WAF时应根据实际流量特征和业务需求进行测试。
Q&A
如何评估Web应用防火墙(WAF)的性能?
通过检测率、误报率、准确率和检测时间四个关键指标进行评估。
SafeLine的检测率和误报率是多少?
SafeLine的检测率为74.09%,误报率为8.19%。
测试Web应用防火墙时使用了哪些样本?
测试样本包括正常流量和攻击流量,比例约为100:1,正常流量来自个人浏览器,攻击流量通过多种方法收集。
Coraza和ModSecurity的误报率有多高?
Coraza的误报率为92.77%,ModSecurity的误报率为94.86%。
测试中使用了哪些工具来捕获数据?
使用Burp Suite作为代理工具进行数据捕获,并通过Python脚本处理导出的XML文件。
为什么选择Nginx作为测试目标机器?
Nginx配置为返回200状态码,以确保专注于WAF的性能而不受其他处理逻辑干扰。