Web应用防火墙(WAF:Web Application Firewall)简介

了解WAF


1.1 什么是WAF

Web应用防火墙(Web Application Firewall, 简称 WAF)基于云安全大数据能力,用于防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马上传、非授权核心资源访问等OWASP常见攻击,并过滤海量恶意CC攻击,避免您的网站资产数据泄露,保障网站的安全与可用性。

 

1.2 WAF的功能

  • 支持IP白名单和黑名单功能,直接将黑名单的IP访问拒绝。
  • 支持URL白名单,将不需要过滤的URL进行定义。
  • 支持User-Agent的过滤,匹配自定义规则中的条目,然后进行处理(返回403)。
  • 支持CC攻击防护,单个URL指定时间的访问次数,超过设定值,直接返回403。
  • 支持Cookie过滤,匹配自定义规则中的条目,然后进行处理(返回403)。
  • 支持URL过滤,匹配自定义规则中的条目,如果用户请求的URL包含这些,返回403。
  • 支持URL参数过滤,原理同上。
  • 支持日志记录,将所有拒绝的操作,记录到日志中去。

 

WAF与网络防火墙的区别

网络防火墙作为访问控制设备,主要工作在OSI模型三、四层,基于IP报文进行检测。只是对端口做限制,对TCP协议做封堵。其产品设计无需理解HTTP会话,也就决定了无法理解Web应用程序语言如HTML、SQL语言。因此,它不可能对HTTP通讯进行输入验证或攻击规则分析。针对Web网站的恶意攻击绝大部分都将封装为HTTP请求,从80或443端口顺利通过防火墙检测。 

一些定位比较综合、提供丰富功能的防火墙,也具备一定程度的应用层防御能力,如能根据TCP会话异常性及攻击特征阻止网络层的攻击,通过IP分拆和组合也能判断是否有攻击隐藏在多个数据包中,但从根本上说他仍然无法理解HTTP会话,难以应对如SQL注入、跨站脚本、cookie窃取、网页篡改等应用层攻击。 

Web应用防火墙能在应用层理解分析HTTP会话,因此能有效的防止各类应用层攻击,同时他向下兼容,具备网络防火墙的功能。

 

WAF与IPS的区别

两者的区别在于一个是纵横度,一个是深度。IPS凸显的优势在于纵横度,也就是对于网络中的所有流量进行监管,它面对的是海量数据,TCP/IP模型中网络流量从物理层到应用层是逐层递交,IPS主要定位在分析传输层和网络层的数据,而再往上则是复杂的各种应用层协议报文,WAF则仅提供对Web应用流量全部层面的监管。

IPS和WAF通常是串联部署在Web服务器前端,对于服务器和客户端都是透明的。这两者串联部署在Web服务器前端时,市面上的大多数IPS均采用桥模式,而WAF是采用反向代理模式,IPS需要处理网络中所有的流量,而WAF仅处理与Web应用相关的协议。

桥模式和反向代理模式的差异在于:桥模式是基于网络层的包转发,基本都没有协议栈,或只能简单的模拟部分协议栈,分析网络报文流量是基于单包的方式,所以要处理分片报文、数据流重组、乱序报文、报文重传、丢包都不具备优势。同时网络流量中包括的协议种类是非常多的,每种应用层协议都有自身独特的协议特征和格式要求,比如Ftp、SSH、Telnet、SMTP等,无法把各种应用流量放到应用层协议栈来处理。

WAF系统内嵌的协议栈是经过修改和优化的,能完全支持Http应用协议的处理,这意味着必须遵循RFC标准来处理Http报文,包括如下主要RFC:

  • RFC 2616 HTTP协议语法的定义
  • RFC 2396 URL语法的定义
  • RFC 2109 Cookie是怎样工作的
  • RFC 1867 HTTP如何POST,以及POST的格式

RFC中对Http的request行长度、URL长度、协议名称长度、头部值长度等都是有严格要求的,以及传输顺序和应用格式,比如Html参数的要求、Cookie的版本和格式、文件上传的编码 multipart/form-data encoding等,这些应用层内容只能在具有完整应用层协议栈的前提下才可正确识别和控制,对于不完整的丢包,重传包以及伪造的畸形包都会通过协议校验机制来处理。

 

你可能感兴趣的:(WAF)