架构:WAF流量清洗。

本篇文章从WAF产品研发的角度来YY如何实现一款可靠的WAF,灵感来自ModSecurity等,感谢开源。

本片文章包括三个主题

  • WAF实现

WAF包括哪些组件,这些组件如何交互来实现WAF防御功能

  • wAF规则(策略)维护

规则(策略)如何维护,包括获取渠道,规则测试方法以及上线效果评测 (3)

  •  WAF支撑

WAF产品的完善需要哪些信息库的支撑

WAF实现

WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来。不管硬件款,软件款,云款,核心都是这个,而接下来围绕这句话来YY WAF的实现。WAF的实现由五个模块(配置模块、协议解析模块、规则模块、动作模块、错误处理模块)组成

配置模块

设置WAF的检测粒度,按需开启,如图所示

协议解析模块(重点)

协议解析的输出就是下一个模块规则检测时的操作对象,解析的粒度直接影响WAF防御效果。对于将WAF模块寄生于web 服务器的云WAF模式,一般依赖于web 服务器的解析能力。

WAF的实现 - 碳基体 - 碳基体

规则模块(重点)

重点来了,这块是WAF的核心,我将这块又细分为三个子模块。

规则配置模块

IP黑白名单配置、 URL黑白名单配置、以及挑选合适的规则套餐。

WAF的实现 - 碳基体 - 碳基体

规则解析模块

主要作用是解析具体的规则文件,规则最好采用统一的规则描述语言,便于提供给第三方定制规则,ModSecurity这方面做得非常优秀。

规则文件由四部分组成,分为变量部分、操作符部分,事务函数部分与动作部分。

WAF的实现 - 碳基体 - 碳基体

规则检测模块

上一步我们设置了各种变量,接下来就是按照一定的逻辑来做加减乘除了。

WAF的实现 - 碳基体 - 碳基体

动作模块(重点)

通过规则检测模块,我们识别了请求的好恶,接下来就是做出响应,量刑处理,不仅仅是拦截。

WAF的实现 - 碳基体 - 碳基体

日志模块(重点)

日志处理,非常重要,也非常火 热,内容丰富到完全可以从WAF独立出来形成单独的安全产品(e.g.日志宝)而采用提供接口的方式来支撑WAF。对于数据量巨大的云WAF,都会有单独 的大数据团队来支撑架构这一块,包括数据存储(e.g. hdfs) ,数据传输(kafka),数据离线分析(hadoop/spark),数据实时分析(storm),数据关联分析(elasticsearch)等等, 以后另开一篇单独说明。

WAF的实现 - 碳基体 - 碳基体

错误处理模块

以上模块运行错误时的异常处理

WAF规则(策略)维护

WAF需要修炼一图以蔽之

WAF的实现 - 碳基体 - 碳基体

WAF支撑信息库

WAF需要修炼一图以蔽之

WAF的实现 - 碳基体 - 碳基体

以上支撑库几乎所有的安全人员都在重复地做,而资源没有共享的原因,一是内部不可说;二是没有采取统一的描述语言无法汇合,唉,安全从业人员的巴别塔。

补充知识(包括文章与代码)

WAF相关

WAF防御能力评测及工具

ssdeep检测webshell

ModSecurity相关文章(我就是ModSecurity的死忠粉)

[科普文]ubuntu上安装Apache2+ModSecurity及自定义WAF规则

ModSecurity SecRule cheatsheets

ModSecurity CRS 笔记、WAF防御checklist,及WAF架构的一些想法

ModSecurity 晋级-如何调用lua脚本进行防御快速入门

ModSecurity 白名单设置

指纹识别

Web应用指纹识别

FingerPrint

IP相关

使用免费的本地IP地理库来定位IP地理位置-GeoIP lookup

获得IP的地理位置信IP Geolocation及IP位置可视化

IP地理信息离线获取脚本

IP地理信息在线获取脚本

识别搜索引擎脚本

判断使用哪家CDN脚本

代理类型判断脚本 Proxy探测脚本与HTTP基本认证暴力破解脚本

CDN架构

网站负载均衡技术读书笔记与站长产品的一点想法

正则优化

NFA引擎正则优化TIPS、Perl正则技巧及正则性能评测方法

HTTP发包工具

HTTP.pl——通过HTTP发包工具了解HTTP协议

HTTP发包工具 -HTTPie

WAF实现的思维导图

参考

ModSecurity  Handbook

第八、九、十,十一我是反复看,每次都有新的灵感,第14、15章是当成新华字典看的,以免遗忘。

Web Application Defenders Cookbook Battling Hackers and Protecting Users》 (红宝书,还在看)

FreeBuf推荐

http://weibo.com/tanjiti

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ModSecurity Handbook is the definitive guide to ModSecurity, a popular open source web application firewall. Written by Ivan Ristic, who designed and wrote much of ModSecurity, this book will teach you everything you need to know to monitor the activity on your web sites and protect them from attack. Situated between your web sites and the world, web application firewalls provide an additional security layer, monitoring everything that comes in and everything that goes out. They enable you to perform many advanced activities, such as real-time application security monitoring, access control, virtual patching, HTTP traffic logging, continuous passive security assessment, and web application hardening. They can be very effective in preventing application security attacks, such as cross-site scripting, SQL injection, remote file inclusion, and others. Considering that most web sites today suffer from one problem or another, ModSecurity Handbook will help anyone who has a web site to run. The topics covered include: Installation and configuration of ModSecurity Logging of complete HTTP traffic Rule writing IP address, session, and user tracking Session management hardening Whitelisting, blacklisting, and IP reputation management Advanced blocking strategies Integration with other Apache modules Working with rule sets Virtual patching Performance considerations Content injection XML inspection Writing rules in Lua Extending ModSecurity in C The book is suitable for all reader levels: it contains step-by-step installation and configuration instructions for those just starting out, as well as detailed explanations of the internals and discussion of advanced techniques for seasoned users. A comprehensive reference manual is included in the second part of the book. Digital version of ModSecurity Handbook (PDF or EPUB) can be obtained directly from the author, at feistyduck.com.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值