本文作者:心月

如何打造安全可靠的web应用防火墙(WAF)

心月IT博客 2019-12-27
如何打造安全可靠的web应用防火墙(WAF)摘要:WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来。

一、WAF实现

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

‍‍1、配置模块‍‍

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

waf配置模块设置


2、协议解析模块(重点)

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

waf协议解析模块设置


3、规则模块(重点)

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

(1) 规则配置模块

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

waf规则配置模块

(2)规则解析模块

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

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

waf规则解析模块

waf规则解析模块

(3)规则检测模块

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

waf规则检测模块


4、动作模块(重点)

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

waf动作模块


5、日志模块(重点)

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

waf日志模块


6、错误处理模块

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


‍‍二、WAF规则(策略)维护‍‍

‍‍WAF需要修炼一图以蔽之‍‍

waf规则(策略)维护


三、WAF支撑信息库‍‍

‍‍WAF需要修炼一图以蔽之‍‍

waf支撑信息库



文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 2019-12-27
若转载请注明原文及出处:https://www.xinyueseo.com/websecurity/580.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 0 条评论,人围观)参与讨论