Web应用防火墙检查每一个传入的数据包的内容来检测上述类型的攻击。例如,web应用防火墙会扫描SQL查询字符串,来检测和删除那些导致返回的数据多余应用程序要求的字符串。增值厂商应仔细监测新发展的攻击类型并跟踪检测他们的最新产品。
Web应用防火墙不仅检测上述已知类型的攻击,而且还监测异常的使用模式来检测目前未知的攻击方法。例如,通常Web应用程序与web客户端的信息交流数量是有限的。如果Web应用防火墙检测到Web服务器正在返回一个比预期大很多的数据量,它就会及时切断传输,以防止更多的数据泄露。
目前有基于软件和基于应用程序的web应用防火墙。基于软件的产品布置在Web服务器上,而基于应用程序的产品放置在Web服务器和互联网接口之间。两种类型的防火墙都会在数据传入和传出web服务器之前检查数据。
一般基于软件的产品成本低于基于应用程序的产品成本,基于软件的产品供应商声称这类防火墙具有更低的延迟和更高的吞吐量。但是在web服务器上安装额外的软件势必会增加额外的处理负荷和系统上软件的复杂性。
基于应用程序的防火墙厂商声称,这类防火墙安装和使用简单,因为没有额外的软件安装在Web服务器系统上。 Web服务器的性能不受Web应用程序防火墙处理的影响。
除了商业产品外,也有许多开放源码的Web应用防火墙可用。这些产品成本低于商业产品(就开放的源代码工具来说,他们是免费的,或者就基于开放源代码的商业产品来说,极有可能降低成本)。过去开源代码关注的是,黑客们将检查代码并设法逃避保护措施。有了应用Linux这类开源代码软件的丰富经验,这些都不是什么问题。
所有的产品,不论是购买的还是开源代码,无论是基于软件的还是基于应用程序的,都应该得到支持。商业产品得到了供应商的支持。开放源代码为增值厂商和系统集成商提供了一个整合安全知识的机会。为Web应用程序防火墙提供持续的支持,确保合作伙伴与客户保持密切的关系,给供应商在未来为客户提供更多产品和服务提供了机会。
因为每个客户的环境和应用程序设置是不同的,VARs和系统集成商必须评估每个客户的独特需求,以确定哪种类型的Web应用防火墙将是最合适的。但是,毫无疑问所有客户的Web应用程序都应该得到Web应用防火墙的保护。如果用户不理解这种需求或者不同意该做法,一定要介绍给他们Web应用程序可能受到攻击的多种方式。
仔细检查应用程序代码是一种替代web应用防火墙的方法。攻击都是在编译出错或者缺乏内部数据检查的地方取得成功。从理论上来讲,一个通过代码检查员逐行检查过错误的web应用程序,可以替代web应用防火墙。
在实践中,尽管软件工程师通常不相信他们的代码有缺陷,但对应用程序的不断更新使得详细的代码检查变得几乎不可能,更不用说代码检查员很容易的就会忽略不安全的代码,特别是那些没有安全背景的检查员。
此外,黑客技术迅速发展。网络防火墙供应商时时关注新攻击类型的新闻、及时更新它们的产品。有些客户可能觉得经过代码审查的程序可以使他们避免实施一个web应用防火墙所带来的花费和工作量,但解决方案供应商应帮助客户认识到安全代码审查只能带来虚假的安全感,实际上并不能代替Web应用防火墙提供的全面安全保护。
……