Sha*_*den 12
“常规”防火墙通常只查看OSI 模型的第 3 层和第 4 层。例如,要允许 TCP 端口 80,仅允许来自特定 IP 地址的 UDP 端口 53,或拒绝 TCP 端口 25。
对于 HTTP 请求,一旦“允许 TCP 端口 80”障碍被清除,防火墙对通过该连接传递的内容不感兴趣。
Web 应用程序防火墙几乎只在第 7 层工作,处理 HTTP 请求内容方面的安全性。
主要是,他们希望阻止超出 Web 应用程序预期范围的请求,使用应用于传入 HTTP 请求的规则来防止跨站点脚本、SQL 注入、目录遍历或蛮力身份验证尝试等攻击。从本质上讲,它们的全部目的是保护 Web 服务器免受攻击者可能用来破坏您的 Web 应用程序的各种操纵和恶意请求。
对此的一个非常快速和肮脏的答案是,Web 应用程序防火墙是一种防火墙(设备和/或软件),专门设计用于保护 Web 应用程序的事务 - 例如,HTTP(s) 查询、数据库查询、以及可能与 Web 应用程序堆栈相关的其他流量。
不过要详细说明一下:
“标准”防火墙,即普通的 OSI 第 4 层防火墙,基于协议信息(例如 IP、TCP、UDP 和 ICMP)进行过滤。您可以在防火墙中设置规则以允许基于 IP 范围、TCP 端口、ICMP 类型等内容。这通常是您能找到的最准系统的防火墙类型。
相当多的防火墙(在撰写本文时)还包括 OSI 模型中更高的检查功能——这些功能可以和/或将检查穿过防火墙的实际协议流量。这方面的示例包括 AIM、HTTP、SQL、Jabber 等。有些只会检查潜在的攻击 - 其他允许您更详细地定义该协议中消息的特定属性的允许/拒绝规则。取决于品牌/型号,更高级别的检查和规则库的有用性往往受到限制。
Web 应用程序防火墙(或 WAF)是类似于后者的防火墙 - 也就是说,它在 OSI 堆栈中的更高层工作,但旨在对流量进行应用程序级检查,并且它专门面向 Web 应用程序业务空间. 大多数 WAF(但不是全部)并不是要取代传统的防火墙,而是要增强它。通常 WAF 以两种不同的模式运行 - 被动检查和“主动”模式。被动模式只是侦听流量,如果发现任何已知的“不良”流量,则会发出警告。主动模式可以在发现“不良”流量时主动阻止“不良”流量,同时允许“良好”流量通过 Web 应用程序。供应商通常还提供订阅服务,允许 WAF 保持其已知漏洞的列表是最新的。
大多数 WAF 和标准防火墙基本上可以做同样的事情 - 在两个网络之间创建边界并根据规则列表允许或拒绝流量。主要区别在于 WAF 专门用于帮助保护 Web 应用程序,并且其中大多数并不打算取代传统的防火墙。
我之前确实说过大部分(但不是全部) - 有一个术语/流行语/市场话 - 称为 NG 防火墙(或“下一代”防火墙)。这些东西旨在成为类固醇的防火墙。它们执行您的标准防火墙功能,但也执行过去需要许多独立设备才能完成的功能 - 例如防火墙、病毒检查、Web 应用程序防火墙、聊天/消息过滤以及其他应用程序协议的防火墙。我还没有测试过,所以 YMMV;我只是将它作为一个设备的例子,该设备旨在完成这两种功能并努力将它们都做好。