一、WAF产生的背景
随着B/S架构的广泛应用,WEB应用的功能越来越丰富,也就意味着蕴含着越来越有价值的信息。于是WEB应用成为了黑客主要的攻击目标(第五层应用层)。传统防火墙无法解析HTTP应用层的细节,防火墙只是在第三层(网络层),对规则的过滤过于死板,无法为WEB应用提供足够的防护(纵深防御)。于是WAF诞生了。
WAF(Web Application Firewall)代表了一类新兴的信息安全技术,WAF称为WEB应用防火墙,是通过执行一系列针对HTTP,HTTPS的安全策略,来专门对web应用,提供保护的一款产品。WAF初期是基于规则防护的防护设备;基于规则的防护,可以提供各种web应用的安全规则,WAF生产商去维护这个规则库,并实时为其更新,用户按照这些规则,可以对应用进行全方面的保护。
二、WAF的基础功能
1.异常检测协议
Web应用防火墙会对HTTP的请求进行异常检测,拒绝不符合HTTP标准的请求。
并且,它也可以只允许HTTP协议的部分选项通过,从而减少攻击的影响范围。
2.增强的输入验证
增强输入验证,可以有效防止网页篡改、信息泄露、木马植入等恶意网络入侵行为。
从而减少Web服务器被攻击的可能性。
3.基于规则的保护和基于异常的保护
基于规则的保护可以提供各种Web应用的安全规则,WAF生产商会维护这个规则库,
并时时为其更新。用户可以按照这些规则对应用进行全方面检测。
还有的产品可以基于合法应用数据建立模型,并以此为依据判断应用数据的异常。
4.状态管理
WAF能够判断用户是否是第一次访问并且将请求重定向到默认登录页面并且记录事件。
通过检测用户的整个操作行为我们可以更容易识别攻击。
状态管理模式还能检测出异常事件(比如登录失败),并且在达到极限值时进行处理。
三、WAF的高级功能
URL策略/页面层策略
WAF可以不在修改源代码的情况下,为易受攻击的URL或页面打虚拟补丁。
对访问请求进行控制,
可以主动识别、
阻断攻击流量,就如现在智能化的AI,可以发觉安全威胁对其主动进行防御。
不限制于被动状态下的规则和策略去防护。
防范CC攻击
此攻击是很难发现以及防的,WAF需要识别出来,把恶意软件的请求过滤清洗掉,
反射正常流量进入源站。最常见的高级高级便是DDOS攻击,CC攻击,
在防御它们的时候也都是通过域名解析后,替换隐藏源IP,利用WAF指纹识别架构,
将所有访问的请求过滤清洗,正常的访问需求返回客户端。
其他防护技术:
WAF还有一些安全增强的功能,可以用来解决WEB程序员过分信任输入数据带来的问题。
比如敏感词语过滤、抗入侵规避技术、响应监视和信息泄露保护。
四、WAF框架设计
规则模块(解析/匹配)
IP黑白名单配置、 URL黑白名单配置等基于规则的防护策略。误报率低,漏报率高。
动作模块
有观察者模式,和即时拦截模式。
日志模块
日志模块非常重要,日志如果数据量大,就要用大数据相关技术来处理安全日志。
日志部分可以从WAF独立出来形成单独的安全产品,搭配kafka、filebeat、storm使用。
错误处理模块
错误处理时是否要打印、设置错误处理消耗资源的上限。
配置模块
俗话说,三分技术、七分管理,WAF要想发挥效果实现要应配置得当。
配置中包括默认动作,日志的粒度,协议解析的边界处理。
协议解析模块
协议解析的输出就是下一个模块规则检测时的操作对象,
解析的粒度直接影响WAF防御效果。对于将WAF模块寄生于web 服务器的云WAF模式,一般依赖于WEB服务器的解析能力。
来源:CSDN博主「ai_64」的原创文章