WAF是英文Web Application Firewall的简称,也称为网站应用级入侵防御系统或Web应用防火墙,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
网络防火墙是一种用来加强网络之间访问控制的特殊网络互联设备。计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。
网络防火墙作为访问控制设备,主要工作在OSI模型三、四层,基于IP报文进行检测。只是对端口做限制,对TCP协议做封堵。其产品设计无需理解HTTP会话,也就决定了无法理解Web应用程序语言如HTML、SQL语言。因此,它不可能对HTTP通讯进行输入验证或攻击规则分析。针对Web网站的恶意攻击绝大部分都将封装为HTTP请求,从80或443端口顺利通过防火墙检测。
一些定位比较综合、提供丰富功能的防火墙,也具备一定程度的应用层防御能力,如能根据TCP会话异常性及攻击特征阻止网络层的攻击,通过IP分拆和组合也能判断是否有攻击隐藏在多个数据包中,但从根本上说他仍然无法理解HTTP会话,难以应对如SQL注入、跨站脚本、cookie窃取、网页篡改等应用层攻击。
Web应用防火墙能在应用层理解分析HTTP会话,因此能有效的防止各类应用层攻击,同时他向下兼容,具备网络防火墙的功能。
传统防火墙可保护服务器之间的信息流,而Web应用程序防火墙则能够过滤特定Web应用程序的流量。网络防火墙和Web应用程序防火墙是互补的,可以协同工作。
传统的安全方法包括网络防火墙,入侵检测系统(IDS)和入侵防御系统(IPS)。它们可有效阻止开放系统互连(OSI)模型下端(L3-L4)周边的不良L3-L4流量。传统防火墙无法检测Web应用程序中的攻击,因为它们不了解在OSI模型的第7层发生的超文本传输协议(HTTP)。它们还仅允许从HTTP服务器发送和接收请求的网页的端口打开或关闭。这就是为什么Web应用程序防火墙可以有效防止SQL注入,会话劫持和跨站点脚本(XSS)等攻击。