Web应用程序防火墙(WAF)旨在保护Web应用程序免受常见的攻击,例如跨站点脚本编制和SQL注入。安全咨询公司Cobweb Applications的创始人迈克尔·科布(Michael Cobb)说,网络防火墙保卫网络的外围,而WAFs位于Web客户端和Web服务器之间,分析应用层流量中违反编程安全策略的情况。
咨询公司Security Curve的创始人戴安娜·凯利(Diana Kelley)说,尽管一些传统防火墙提供了一定程度的应用程序感知,但它并没有WAFs提供的粒度和特异性。例如,WAF可以检测应用程序是否没有按照其设计的方式运行,并且它允许您编写特定的规则来防止此类攻击再次发生。
WAFs也不同于入侵防御系统。高德纳(Gartner)分析师格雷格•杨(Greg Young)表示:“这是一种非常不同的技术——它不是基于签名的,而是基于行为的,它可以防止你(无意中)自己制造的漏洞。”
目前,WAFs的主要驱动因素之一是支付卡行业数据安全标准(PCI DSS),该标准确定了两种遵循方式:WAFs和代码审查。(见源代码分析工具:如何选择和使用它们.)但另一个驱动因素只是人们越来越认识到,攻击正从网络转移到应用程序。白帽安全公司(WhiteHat Security)对2006年1月至2008年12月期间的877个网站进行了评估,其中82%的网站至少存在一个严重、严重或紧急的问题。
主要WAF属性
web应用防火墙市场还没有定义,许多不同的产品都在WAF的保护伞下。Burton Group的研究分析师Ramon Krikken说:“很多产品提供的功能都超过了防火墙。”“这使得产品很难评估和比较。”此外,通过将现有的非waf产品扩展到集成细分市场,新的供应商正在进入这个市场。
根据研究咨询公司Xiom的创始人Ofer Shezaf提供的一份清单,WAF应该具备以下特质:
*熟悉HTTP。WAFs需要完全解析和分析HTTP才能有效。
*提供积极的安全模型。正向安全策略只允许已知有效的流量通过。有时被称为“白名单”,这为应用程序提供了外部输入验证屏蔽。
*应用程序层规则。由于维护成本高,正安全模型应该由基于签名的系统来扩充。但是由于Web应用程序是自定义编码的,针对已知漏洞的传统签名是无效的。WAF规则应该是通用的,并检测攻击的任何变体,比如SQL注入。
*基于会话的保护:HTTP最大的缺点之一是缺乏内置的可靠会话机制。WAF必须补充应用程序会话管理,并保护它免受基于会话和超时攻击。
*允许细粒度策略管理。例外情况只适用于应用程序的最小部分。否则,假阳性会导致完全暴露的安全漏洞。
Web应用防火墙选择条件
的开放的Web应用程序安全项目OWASP是一个致力于提高应用软件安全性的开放社区。OWASP建议选择WAFs的标准如下:
*极少假阳性(即绝不应拒绝授权请求);
*默认防御的强度;
*强大和易于学习的模式;
*可预防的漏洞类型;
*限制个人用户在当前会话中所看到的内容;
*配置防止特定问题的能力,如紧急补丁;
*形式因素:软件vs .硬件(硬件优先)。
Web应用程序防火墙的主要注意事项
WAFs与源代码扫描。WAFs实时保护应用程序(而不是修复它们)在过去已经引起了批评。Kelley说,一些供应商对“WAF”这个术语持谨慎态度,他们更喜欢“应用感知”或“应用层智能”。然而,如今越来越多的人认为,如果实现正确,WAFs可以作为分层安全模型的重要组成部分,因为它们可以在修复应用程序漏洞时提供保护。
正如杰里米·格罗斯曼,白帽保安公司的创始人,在他的博客上争辩道在美国,代码本身存在太多的漏洞,无法及时修复。他主张将通过评估发现的漏洞作为自定义规则导入WAF,从而提供了一种选择,现在可以减轻问题,以后可以纠正问题的根源。
另一方面,Gartner建议客户考虑消除应用程序漏洞的技术。Young说:“在你花第一美元之前,考虑一下你是否能够通过更强大的系统开发生命周期和使用诸如源代码扫描仪之类的工具来消除漏洞。”WAFs对于那些很难或不可能改变的应用,或者那些非常动态的应用非常有用,他说。
他表示,对于大多数公司来说,“选择其中一种方式就足够了”,不过也有一小部分公司的风险承受能力非常低,他们希望两种方式都使用。
硬件设备与软件。对于Jarden Consumer Solutions全球网络服务和运营IT主管Jack Nelson来说,选择Check Point Software Technologies VPN-1/FireWall-1网关的一个重要原因是,这两种配置都可以使用。Jarden的远程办公室没有IT人员,因此Nelson使用基于软件的版本,以便办公室经理在现有WAF出现故障时,可以简单地重新配置任何一台PC,使其成为WAF。他说:“这比不得不购买第二台防火墙灵活得多,而且比支付快速响应维护费用便宜得多。”他说,接口非常简单,不需要防火墙专家,而且授权是基于密钥的,所以你可以远程应用它。
在北美的几个小办公室中,Nelson使用Check Point设备,因为他发现它更易于管理,支持也更可用。
内联或带外部署。首先决定是内联部署WAF还是带外部署WAF是非常关键的,因为并不是所有的WAF都支持两种模式。Young说:“我经常看到由不同部署模式的产品组成的简短列表,或者没有一个产品支持所设想的设计。
WAF做和不做
了解独立产品和集成产品之间的区别吗。理解将WAF功能集成到现有应用程序交付和网络安全产品中的供应商与专门从事应用程序安全的供应商之间的区别是很重要的。决定哪个适合您取决于许多因素,包括您已经安装了什么,您需要的安全级别,以及您是更喜欢专业的产品还是功能广泛的产品。
Krikken指出,专注于应用程序交付的产品需要以网络速度执行,因此不包括计算密集型的功能,如学习引擎和会话感知。他表示:“它们在很大程度上仅限于黑名单、白名单和出入境检查。”学习引擎使WAF能够了解应用程序的行为并生成策略建议。会话感知使WAF能够实时构建基于会话的动态规则,并使用这些规则来确定后续请求是否有效。
Nelson将Check Point的集成产品用于公司的虚拟专用网络和外部Web应用程序,对于他来说,重要的是该产品能够处理广泛的安全组件,而不是特定于应用程序的防火墙。“我们希望能够在不牺牲性能和可管理性的情况下整合功能,”他说。
与此同时,汽车零部件供应商AutoAnything.com的首席技术官帕拉格·帕特尔(Parag Patel)则采取了相反的做法。该公司正在使用Breach Security的独立WAF来保护电子商务。他表示:“一家公司能把很多事情做好,这是很少见的。”
不要认为WAF是一颗银弹。许多公司正在转向WAFsPCI遵从性。然而,分析人士警告称,不要将WAF视为一个检验项目。
杨补充道:“我看到很多错误和糟糕的支出正在发生。“人们认为,‘如果我们买了防火墙,审计人员就会离开’,但这在这个领域还不够好。您必须定制应用程序防御以适应您的环境。”
是否要超越传统的WAF功能。Krikken说,虽然传统的WAF客户是安全团队,但由于分析特性、单点登录支持和与Web服务安全的集成,许多产品对更广泛的受众越来越有吸引力。这就是为什么他建议WAF评估应该包括那些负责企业架构、应用程序交付和软件开发的人。他说:“这将提高对解决方案安全方面的信心,并减轻可用性和性能方面的担忧。”
事实上,在一家全球性能源公司,使用WAF的决定是根据公司面向服务的体系结构(SOA)实现的安全服务的需求做出的。该公司的首席架构师决定使用反应性XML加速器安全设备,该设备后来被思科系统(Cisco Systems)购买,并将其变成了ACE WAF。当能源公司确定它需要一个面向internet的WAF时,思科向它保证,它可以双倍使用ACE来满足其内部SOA需求,以及保护其Web应用程序。(见也SOA安全:基础.)
是否考虑使用WAF进行性能监视。应用程序监视是越来越流行的WAFs的一种非传统用途,因为WAFs能够检测性能问题,或者应用程序是否由于断开的链接而提供错误页面。
不要认为它是固定和忘记的。Krikken说,虽然你可以使用开箱即用的黑名单规则来实现基本的安全性,但要做好准备,为除了最简单的Web应用程序之外的所有应用程序投入持续的时间和精力。他说:“即使有规则模板和学习引擎,为了优化效果和减少误报,初始调整和持续的定制通常也需要。”
在这家全球能源公司,首席架构师表示,他的公司能够在两个小时内使用思科WAF配置一个用例。然而,他希望有更多关于配置字符过滤之类的最佳实践指南,“而不是我们争先恐后地去做。”
是否考虑学习引擎功能。通过学习引擎,WAF可以了解应用程序,从而创建甚至执行规则。Krikken说,在非常动态的环境中,WAF最好提醒你异常行为,而不是阻止它。
帕特尔使用的是Breach的学习引擎,他说这个引擎对几个月来的网络应用进行了分析。在此期间,它标记了不正常的行为,他的团队对此进行了审查。他说:“你需要一定程度的舒适感,它会做出正确的决定。”然而,随着时间的推移,帕特尔想要自动屏蔽。他说:“鉴于我们在网站上获得的大量流量,关键是WAF发现违规行为,并在这些行为发生时关闭这些尝试,而不是在以后。”
例如,WAF现在禁止竞争对手从网站上抓取产品数据,其中包括数百万sku和价格信息。帕特尔表示:“如果我们看到有人每周或每月检查数据,那就意味着竞争情报的巨大损失。”
考虑企业级的能力吗。Jarden的Nelson之所以选择Check Point的产品,部分原因是它的企业级控制台为Jarden的所有防火墙提供了集中管理。他特别喜欢将防火墙分组到所谓的“容器”中,并在这些容器中应用不同的策略。
与此同时,一家营养补充剂制造商的安全信息工程师表示,他使用的Barracuda系统的一大优势是可扩展性。该公司建立WAF的主要动机是为想要从世界各地访问电子邮件的用户提供一个安全的Web邮件界面。它还使用它来防止应用层攻击。
安全工程师希望为用户提供一个URL来访问电子邮件,无论他们在哪里,他希望能够在不中断的情况下扩展系统。因为他可以添加额外的WAF设备,而不需要给它一个新的IP地址,所以它对用户是透明的。他说:“如果它开始超载,我们所要做的就是再买一台,放在一个机架上,与这台联网,我们就有了两倍的容量。”
这篇题为“网络应用防火墙:如何评估、购买和实施”的文章最初发表于方案 。