=Start=
缘由:
最近有一些面试的工作,看到有不少候选人都在简历中提到了WAF的相关内容,虽然我没有开发过WAF,但之前多少有一点了解,但现在已经忘的差不多了,所以没办法很好的评价面试者的实际水平,需要恶补一下相关知识,不求做到精通或熟悉,起码做到心里有数。
在此收集一些WAF的相关文章/链接(除了基本的概念、原理之外,攻防两端的内容都会有一些),方便随时查阅。
正文:
参考解答:
WAF一句话描述,就是解析HTTP请求(协议解析模块),根据规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来。
参考链接:
- site:freebuf.com waf
- 走进科学之WAF(Web Appllication Firewall)篇
http://www.freebuf.com/articles/web/18084.html - 如何打造一款可靠的WAF(Web应用防火墙) #碳基体MM写的文章,非常精炼
http://www.freebuf.com/sectool/54221.html - Web应用防火墙(WAF)竞品分析
http://www.freebuf.com/articles/web/115407.html - 技术分享:杂谈如何绕过WAF(Web应用防火墙)
http://www.freebuf.com/articles/web/54686.html - [科普]Waf实现扫描器识别 彻底抵挡黑客扫描
http://www.freebuf.com/articles/web/16806.html - http://danqingdani.blog.163.com/
- WAF指纹探测及识别技术
http://www.freebuf.com/articles/web/21744.html - 识别WEB应用防火墙(WAF)?这个工具能帮到你
http://www.freebuf.com/sectool/104256.html - web应用防火墙(WAF)的安全原理与技术分析
http://netsecurity.51cto.com/art/201007/212941.htm - WAF攻防实战
http://www.jinglingshu.org/?p=8119 - 浅谈WAF防护与绕过
http://bt7k.com/?p=89 - Modsecurity原理分析–从防御方面谈WAF的绕过
http://drops.wooyun.org/tips/3804
http://www.vuln.cn/6352
http://wooyun.tangscan.cn/static/drops/tips-3804.html - 天融信浅谈WAF几种常见的部署模式
http://www.topsec.com.cn/jjfa/jsljjfa/3319.htm - 提问:WAF即Web应用防火墙涉及哪些关键技术?
https://www.tianmaying.com/qa/54 - ModSecurity
https://github.com/SpiderLabs/ModSecurity - ModSecurity-nginx
https://github.com/SpiderLabs/ModSecurity-nginx - OpenStar是一个基于OpenResty的,高性能WAF
https://github.com/starjun/openstar - ngx_lua_waf是一个基于lua-nginx-module(openresty)的web应用防火墙 #见过作者,比较随和^_^
https://github.com/loveshell/ngx_lua_waf - WAF探测工具
https://github.com/EnableSecurity/wafw00f - WAF绕过工具
https://github.com/khalilbijjou/WAFNinja
=END=
《 “WAF的相关知识记录” 》 有 11 条评论
WAF自动化暴破(绕过)脚本xwaf
http://www.freebuf.com/sectool/127001.html
https://github.com/3xp10it/bypass_waf/blob/master/xwaf.py
WAF产品经理眼中比较理想的WAF
http://www.freebuf.com/articles/neopoints/125807.html
Gartner最新发布:WAF和UTM安全产品全球市场格局
http://www.freebuf.com/news/115624.html
一套实用的渗透测试岗位面试题,你会吗?
http://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650441425&idx=1&sn=de4e581852f88e0fd9d4052bfe3b19c0&scene=0#wechat_redirect
利用ModSecurity在Nginx上构建WAF
https://www.hi-linux.com/posts/45920.html
https://yq.aliyun.com/articles/54475
`
simple robot mitigation module using cookie based challenge/response technique
基于cookie的challenge/response技术实现的Nginx人机识别模块
`
https://github.com/kyprizel/testcookie-nginx-module
https://kyprizel.github.io/testcookie-nginx-module/
定制轻量高效的WAF Naxsi [一]
https://klionsec.github.io/2017/09/18/naxsiwaf/
`
0x01 关于naxsi
同为开源waf,但跟Modsecurity的不同是,它对nginx的兼容性非常好,不依赖拦截规则库[需要经常更新,且容易被绕过,比较被动],安装定制都非常简单方便,占用的系统资源相对较少,对实际业务的适用性更强[方便的白名单设置],有一定的学习能力,暂时只能拦截从get或者post过来的数据
`
分享PHP WebShell绕过WAF 的一些经验
https://github.com/lcatro/PHP-WebShell-Bypass-WAF
https://github.com/tennc/webshell/tree/master/php
WAF绕过技巧浅谈
http://www.freebuf.com/articles/web/160175.html
https://medium.com/secjuice/waf-evasion-techniques-718026d693d8
https://medium.com/@themiddleblue/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0
`
如今市面上的所有WAF几乎都已具备了对RCE攻击的拦截甚至阻断,但当它发生在Linux系统中时,我们已经有了极为巧妙的方法来绕过WAF规则集。作为渗透测试人员我们最大的朋友不是“狗”,而是“通配符”。
`
打造一款开源的WAF网关
https://mp.weixin.qq.com/s/OOA9LwPE0ulBqkIFkXax-Q
https://github.com/Janusec/janusec
Oceanus:美团HTTP流量定制化路由的实践
https://tech.meituan.com/Oceanus_Custom_Traffic_Routing.html
`
Oceanus是美团基础架构部研发的统一HTTP服务治理框架,基于Nginx和ngx_lua扩展,主要提供服务注册与发现、动态负载均衡、可视化管理、定制化路由、安全反扒、session ID复用、熔断降级、一键截流和性能统计等功能。本文主要讲述Oceanus如何通过策略抽象、查询、渲染和分组动态更新,实现HTTP请求的定制化路由。
无论是Nginx if指令,还是AB框架,要么需要reload重新加载才能生效,要么无法支持某些业务场景下的分流需求,所以都很难作为解决公司级分流框架的有效手段。针对它们所存在的不足,Oceanus开发了一套应用级、高可扩展的动态分流框架,不仅动态支持各种业务场景的分流需求,而且保证了请求转发的性能,下文将阐述我们如何解决分流机制的几个核心问题。
`
绕过 WAF 的 XSS 检测机制研究
https://github.com/s0md3v/MyPapers/tree/master/Bypassing-XSS-detection-mechanisms
WAF建设运营及AI应用实践
https://mp.weixin.qq.com/s/fTm1hUfRmm6ujmjvSHRLUA
`
WEB应用防火墙(Web Application Firewall,WAF)是当前对Web业务进行防护的一种比较常用且有效的手段之一,目前市场上的WAF产品也相对比较成熟,任何一个小公司或个人都可以借助一些WAF开源项目进行快速部署上线,但是对于大型互联网公司而言,业务众多,网络流量巨大,涉及的域名、服务器资源均属海量,在这个规模下的WAF的设计、研发、运营将会有比较多的现实挑战。
如一般会面临以下几个主要问题:
* 业务多且分散,如何降低业务接入成本,快速有效的推动业务覆盖;
* 作为一个串联系统,如何保证最小程度影响业务性能,保证稳定性需求;
* 每天需要处理几千亿请求,如何保证检测准确率,降低误报。
# 后台架构设计要求
WAF从架构逻辑上来看是串联进业务请求的处理流程中,这就直接对WAF的性能和稳定性提出的更高的要求,一旦本身出现故障将直接影响业务。在满足检测功能性需求,还需要满足后台架构海量服务的要求:
1.稳定性:防护集群采用set化的服务和资源隔离设计,可对业务流量进行轻重分离,避免某些业务流量的突然暴涨影响其它业务的防护效果。
2.性能:防护服务采用IO和检测分离的设计方式,并基于共享内存以零拷贝方式进行数据传递,同时,内部对检测引擎进行多方面的优化,基本保证99%的检测请求能在2ms以内返回检测结果。
3.容灾:一旦后端某些处理server出现故障, 请求可自动切换连接可用的处理server。
4.高可维护性
在线部分逻辑足够简单、高效:在线模块与离线模块低耦合分离;维护高效:一键编译、一键运行、一键功能/性能测试、一键发布
5.高可运营
统一后台策略管理系统,发布变更便捷、规范、快速,可以实时验证。
完善的系统监控&告警:门神处理server可用性监控以及异常告警,包括:恶意阻断、非恶意放过、cpu/内存资源监控;业务websrv超时监控和异常告警。
6.可扩展
模块化功能支持新增:例如增加CC模块加入到在线自动实时拦截等。
在后台日志系统中,引入的ELK分布式日志处理分析系统,可以处理大量&多种数据格式(错误信息、监控、告警),统一化的数据分析处理平台、风险感知平台。分析结果直接展示,方便强大的报表功能,方便数据运营人员做数据分析。
`