网络防御系统之WEB应用防火墙-WAF概念和功能介绍

一、WAF产生的背景


      随着B/S架构的广泛应用,WEB应用的功能越来越丰富,也就意味着蕴含着越来越有价值的信息。于是WEB应用成为了黑客主要的攻击目标(第五层应用层)。传统防火墙无法解析HTTP应用层的细节,防火墙只是在第三层(网络层),对规则的过滤过于死板,无法为WEB应用提供足够的防护(纵深防御)。于是WAF诞生了。

      WAF(Web Application Firewall)代表了一类新兴的信息安全技术,WAF称为WEB应用防火墙,是通过执行一系列针对HTTP,HTTPS的安全策略,来专门对web应用,提供保护的一款产品。WAF初期是基于规则防护的防护设备;基于规则的防护,可以提供各种web应用的安全规则,WAF生产商去维护这个规则库,并实时为其更新,用户按照这些规则,可以对应用进行全方面的保护。


  
二、WAF的种类


        1.硬件WAF
            (绿盟的NSFOCUS Web Application Firewall、Apple用imperva)
        2.软件WAF
            (ngx_lua_waf、modsecurity、长亭科技、安恒信息、Fortinet、铱迅信息)
        3.代码嵌入WAF
             (国外的OneRASP、百度的OpenRASP)
        4.云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服务器的解析能力。

六、WAF原理实现


        
        WAF串行接入,工作在web服务器之前,对基于HTTP协议的通信进行检测和识别。
        WAF通常与负载均衡、Web Cache等Web服务器前的常见的产品一起协调部署。
        
        常见的网站漏洞攻击,如SQL注入,XML注入、XSS等会被特征库检测出来。
        一般针对的是应用层而非网络层的入侵,
        从技术角度应该称之为Web IPS。其防护重点是SQL注入。

        更复杂的场景通过解析HTTP数据,在不同的字段分别在特征、规则库等维度进行判断,
        判断的结果作为是否拦截的依据从而决定是否放行。
        利用正则表达式来分析判断数据的合法性,
        生成白名单,黑名单,最后,进行访问控制。
        访问控制对应的具体动作包括阻断、记录、告警、放行等。

        基于规则的WAF,存在漏报,需要厂家维护,但是误报低,用起来方便。
        基于误用检测的WAF,漏报高,但是误报高,客户不是很信任,需要人员频繁审查日志。
        好的WAF通常是两种策略一起配合使用。

        Imperva公司的WAF产品在提供入侵防护的同时,设备自动预学习业务特点。
        WAF这种机器学习其实就是误用检测技术的一种应用。

七、WAF的优缺点


         
        规则是死的人是活的,总有未知的绕过手段可以实现入侵。
        先说硬件WAF:
            优点:
            1.维护成本低。硬件WAF部署简易,即插即用。
                会自动联网升级,更新速度快,自动联网更新。            
            2.硬件WAF扩展容易,若性能不够,再串一台到交换机上。
            3.硬件WAF防护范围大,因为串到了交换机下,交换机下的主机均可防护。
            
            缺点:
            1.有一定的绕过几率,设备千篇一律,一台可绕过,台台可绕过。
            2.价格贵,性价比低,故只有行政单位用。
                因为是采购回来的,通常接手设备的人员不是安全人员。
                配置起来随意,不影响业务就行。
            3.在没有多台设备的情况下,单台设备的性能不足已满足高并发。
                甚至有的硬件防火墙在遇到高并发时会全放行,想想都可怕。
                            
        接着介绍软件WAF:
            优点:
            1.免费,开源的产品巨多如OpenWAF,商用产品也有免费版本。如大名鼎鼎的安全狗。
            2.功能强大,从前端UI界面到各功能模块均可二次开发定制。
            3.管理方便,可以基于管理方式调整软件的管理功能,强化了管理的概念。

            缺点:
            1.维护成本高。功能过于粗糙,几乎所有功能都需要二次开发才符合预期。
                  注意留意最新的漏洞情况,及时推送漏洞补丁到WAF。    
            2.费服务器性能。流量越大,WAF对性能的消耗也越大。
                  有些算法差的WAF会给电脑增加20-30%的处理器负担。 
            3.有一定的绕过几率,软WAF定制各规则比较精细化,导致在误杀和漏报之间不能很好的平衡,
                    解析太细化容易被欺骗绕过。                
        
        代码嵌入WAF(RASP):
            优点:
            1.误报非常低。因为代码嵌入WAF是对资源误用的一种检测,误报率低。
            2.维护成本低,无需更新。尽管入侵者各种欺骗手段高明,
                目的永远只有一个就是查看敏感资源。
            3.保密性好,这种WAF不联网,不会分析用户的网络浏览和抓取网络中的敏感数据。
                最重要的是,可以精确地识别并拦截,起到很好的保护作用。
            
            缺点:
            1.部署困难,一套源码就要配一套WAF。
                    不同的语言有不同的特点,配置差异大。推广难度大。    
            2.费服务器性能。因为技术比较前沿,没有优秀的设计模式可以沿用。               
            3.防护范围小,入侵者可从其他应用寻找突破口,然后设后门,对此RASP全程不能察觉。

        云WAF:
            优点:
            1.部署简单
            2.维护成本低
            3.功能强大

            缺点:
            1.绕过风险较大,黑客可绕过DNS解析,使用IP直连服务器。
            2.可用性低,DNS或WAF出问题都会导致网站无法访问,这种问题只能靠云平台解决。
            3.保密性差,数据被云托管一份,容易泄密。
            

八、如何考察一款WAF是否优秀


            1、检测引擎
            2、功能测试
            3、超负荷下性能(未配置安全策略)
            4、负载下的性能(配置安全策略)
            5、延迟和用户响应时间
            6、稳定性和可靠性
            7、管理和配置
            8、并行管理会话(条件限制)
            9、持久性

九、WAF商用产品的竞争力


        WAF支撑库(威胁检测库)
            精准发现内部失陷主机,帮助安全团队快速并准确定位威胁所在。
            利用海量基础数据以及内部的网络流量日志判断是否有黑客在内网。
            木马协议分析特征分析、基于深度学习算法的DGA检测方法等

        WAF规则维护(国内外黑产资讯) 
            即使有些漏洞没被公开,高水平的安全厂商有自己的攻防实验室,内部挖洞然后公开。
                有行业背景的厂商,在黑产内部圈子安插有眼线,
                迅速将资讯同步给产品开发部门,更新补丁先人一步。

十、小结


         安全是我们要努力达到的100分,即使99分也是不安全。单一的WAF产品不能满足复杂的业务安全需要,WAF产品只起到一个缓解的作用。一劳永逸只是意淫。就像道哥说的,互联网本是安全的,有了一群研究网络安全的人才变得不安全。落实到实际工作中,要做到整个体系的安全只靠我们安全研究人员并不足够,每个人都要达成共识,安全使得体系得以稳定,安全是我们每个人的需要。


 

发布了96 篇原创文章 · 获赞 172 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/ai_64/article/details/100865631
今日推荐