在这里讲一下开源WAF的测试评估方法,以成品文档为例。
一. 测试目的
当WEB应用越来越为丰富的同时,WEB 服务器以其强大的计算能力、处理性能及蕴含的较高价值逐渐成为主要攻击目标。SQL注入、网页篡改、网页挂马等安全事件,频繁发生。2007年,国家计算机网络应急技术处理协调中心(简称CNCERT/CC)监测到中国大陆被篡改网站总数累积达61228个,比2006年增加了1.5倍。其中,中国大陆政府网站被篡改各月累计达4234个。
企业等用户一般采用防火墙作为安全保障体系的第一道防线。但是,在现实中,他们存在这样那样的问题,由此产生了WAF(Web应用防护系统)。Web应用防护系统(Web Application Firewall, 简称:WAF)代表了一类新兴的信息安全技术,用以解决诸如防火墙一类传统设备束手无策的Web应用安全问题。与传统防火墙不同,WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。
由于公司曾接连发生入侵事件,搭建WAF阻挡黑客脚步势在必行。
二. 测试范围
本次测试包括以下几个方面:
模拟黑客攻击看是否阻断生效
模拟灾难发生(宕机或网络波动等)看是否切换备用WAF正常工作
模拟大流量并发看是否WAF能抗压正常工作
模拟误报信息看WAF是否支持调整策略
模拟紧急情况WAF是否能切换工作模式
三. 测试环境
3.1网络拓扑
3.2软/硬件环境
角色 | 设备 | IP地址 | 安装模块 |
---|---|---|---|
WAF | Linux Centos 7 | 192.168.99.17 | Nginx1.15.5 ModsecurityV3 Java1.8.0 Geoip Elasticsearch Logstash Filebeat Keepalive Python2.7 |
192.168.99.18 | Nginx1.15.5 ModsecurityV3 Java1.8.0 Geoip Elasticsearch Logstash Filebeat Keepalive Python2.7 |
||
192.168.105.18 | Elasticsearch Logstash Kibana Java1.8.0 Geoip |
四. WAF测试项对比
模拟黑客攻击看是否阻断生效
将WAF模式调整为阻断模式,模拟SQL注入,及时阻断,返回码403
测试通过
模拟灾难发生(宕机或网络波动等)看是否切换备用WAF正常工作
将主WAFnginx关闭,访问域名依然正常,备用WAF上有访问日志
测试通过
模拟大流量并发看是否WAF能抗压正常工作
测试组发送压力包,WAF工作正常,监控CPU不超过10%
测试通过
模拟误报信息看WAF是否支持调整策略
发送模拟包触发WAF规则,通过ELK观察包显示的触发规则文件修正规则,修正后重启nginx,修正生效,放行模拟包
测试通过
模拟紧急情况WAF是否能切换工作模式
将modsecurity模块关闭,访问域名依然正常,nginx有访问日志,modsecurity没有访问日志
测试通过
五. 应急措施
应急等级分为高中低三个等级
低级:
一般为测试数据阻断,返回码为403,手动分析数据包中传递参数是否合理,若合理则寻找对应规则文件进行正则匹配修改或整体规则注释;若不合理则沟通研发进行报文调整
中级:
一般为大量长期数据阻断,返回码为403,先手工切换WAF工作模式为仅检测(modsecurity.conf->SecRuleEngine DetectionOnly),观察数据包是否恢复正常,若恢复正常,后续按照低级应急方案处理,若依旧不正常,则按照高级应急方案处理
高级:
一般为中级应急方案无效,则手动切换nginx安全模块为关闭状态(nginx.conf->modsecurity off),保证数据正常的情况下再进一步排查问题
六. 测试结论
WAF部署简单方便,使用ELK分析WAF日志对于专业人员来说十分轻松,与此同时能防御多种多样的攻击,防御列表如下:
SQL注入(SQLi) | PHP代码注入 |
---|---|
跨站点脚本(XSS) | HTTPoxy |
本地文件包含(LFI) | Shellshock |
远程文件包含(RFI) | 会话固定 |
远程执行代码(RCE) | 扫描程序检测 |
Xml代码注入(XXE) | 命令注入 |
拒绝服务攻击(DoS) | java反序列化 |
使用此WAF的优点:
免费,节省开支
可控,可随时增加修改自定义策略
灵活,通过日志灵活判断是否为攻击
安全,可阻断大部分的攻击
范围,只要部署网络任意位置用nginx转发即可使用
高效,过滤恶意流量增强了后端nginx处理效率
性能,不占用过多性能完全依赖nginx处理数据
使用此WAF的缺点:
误报,存在一定几率误报需实时监控调整
经过测试分析,WAF可有效阻断大部分黑客攻击,对于0day有着一定的防御作用。由于部署模式为双机热备,极大程度保证了WAF的运行安全以及业务的稳定。并经过流量测试证明了WAF的稳定性。同时撰写了应急方案,一旦产生误报有及时的应急措施帮助业务恢复稳定。必要时可关闭防御保证业务的可持续性。
在安全防护体系中,waf作为安全前线的第一道防护,起到了缓解的作用,在实际场景中,可以阻断公司前段时间发生的安全问题像XXE攻击等,同时有助于公司通过安全等级保护,极大程度保护交易数据不被篡改,同时保护服务器免遭黑客干扰,所以部署WAF势在必行。
*本文原创作者:煜阳yuyang,本文属于FreeBuf原创奖励计划,未经许可禁止转载
来源:freebuf.com 2020-01-31 09:00:27 by: 煜阳yuyang
请登录后发表评论
注册