Web应用防火墙是复杂的产品,在本文中,专家Brad Causey介绍了在购买Web应用防火墙(WAF)产品之前企业需要考虑的关键问题。
确保Web应用的安全性需要多层安全防御,其中很重要的是Web应用防火墙。考虑到Web访问数据的机密性、可用性和完整性时,WAF是很关键的防御层。本指南旨在帮助企业选购WAF,为企业提供了在调查市场时应该考虑的关键问题。
对于WAF,价格、部署方法、复杂性和很多其他规格的范围非常大。在购买WAF之前,企业应该先了解业务需求、功能和可用资源(例如内部人才和资金情况),这可以帮助企业选择最符合其要求的产品。适当的规划和仔细评估市场产品情况也很重要。
下面列出的要点和问题旨在为企业提供方法来朝着正确的方向前进,并作出正确的评估。这些关键因素包括:确定WAF如何整合到环境、检测和响应攻击、执行日志记录,以及WAF管理和维护的要求。企业应对所调查的每个WAF产品回答这些问题,这将帮助企业缩小选择范围到满足其需求的产品。
WAF如何整合到你的环境?
在评估WAF时需要考虑的最关键问题之一是部署。换句话说,如何让WAF运作?现在有一些不同的WAF部署选项,企业应该考虑每个选项,并结合企业现有环境,以确定哪种WAF类型最合适自己。在很多情况下,通过删除不适合其网络和IT环境的产品,这将帮助决策者缩小供应商和产品范围。
· 内部设备:这种常见的WAF部署方法涉及在用户和Web应用之间的网络部署设备。这种方法通常需要一定的内部专业技能,因为管理员将要更改内部网络配置。理想情况是,企业有相关内部技术人员或者有足够资金来支付供应商提供的部署服务。
· 基于云的WAF:这种WAF方法通常需要企业重定向DNS记录来解析到WAF供应商的IP地址,并让Web流量从供应商转发到实际应用主机。在很多情况下,企业将需要提供他们的SSL密钥,因为供应商的服务器在转发前将解密数据。
这里可能会出现性能问题,因为流量在到达企业服务器之前要经过额外的步骤。不过,大多数供应商都有足够的带宽,因此在大多数情况下这都不是问题(但应该记住这一点)。这种基于云的WAF通常更容易部署,因为它只需要DNS变更(可能还要安装SSL密钥),并且不太需要内部IT技术技能。请注意:很多基于云的产品现在还提供DDoS保护。
· 集成WAF:基于代码或软件的WAF最有可能需要对企业Web应用代码或其Web服务器的直接更改。对于技术熟练的人员来说,这是不错的选择,并且比其他WAF产品更便宜。它不需要更改网络架构或者DNS重定向,同时,集成WAF产品对网络、系统和性能的整体影响最小。
在评估企业想要购买的WAF类型时,最好与供应商进行交谈,并让内部技术团队参与进来。有些要求或限制可能在表面来看无法发现,但可能对最终决策有着重大影响。这方面的例子包括所选择的集成WAF如何与Web服务器使用,对此,让Web服务器管理员参与可能会避免部署过程中的问题。另一个常见问题是通过基于云的WAF加载重型基于网络的内容,让网络团队和性能测试人员参与可以确保用户不会遭遇延迟问题。
另一个重要考虑因素是WAF如何处理安全套接字层(SSL),SSL保护网站身份和数据在互联网的安全。从SSL来看,WAF部署各有不同。
在基于云或设备的WAF部署中,企业需要解密流量以查看流量。这涉及终止SSL会话以及重建它(如果需要的话),或解密会话—在它们通过WAF时。请确保你所选择的产品支持这些选项。
WAF如何检测和响应攻击?
WAF的运作主要是通过检测应用服务器和客户端之间的请求和响应内容来实现。WAF如何检测以及检测什么对能否有效保护企业资产至关重要。
WAF检测什么(例如表头、会话、文件上传等)将决定其响应能力。WAF应该能够检测请求/响应对象的所有组件,包括会话详细内容。如果应用有要求,例如限制用户会话数量,大多数WAF可以帮助实现。WAF应该提供可用的配置让管理员来轻松选择这些选项。如果企业对GET与POST如何使用有具体要求,或者对访问者进入网站的途径有特定要求,WAF也应该提供支持。
检测异常或恶意流量主要是基于几个模型,了解每个模型很重要。
如果WAF采用黑名单的做法,它只会阻止列表中包含已知攻击的请求。众所周知的攻击(例如SQL注入和跨站脚本)通常包含容易检测的某些字符。黑名单很好用,只要WAF支持这种攻击方法。并且,由于威胁经常变化,必须保持黑名单的更新。
如果WAF使用白名单的做法,它只会允许满足列表或配置中标准的请求。这种检测方法需要部署期间前端的更多工作,但通常这是更安全的方法,因为它会阻止一切没有被定义为可接受的事物。
这两种方法都应该由企业的技术团队来配置。
除了检测,WAF如何响应攻击或异常也很关键。WAF提供多种响应选项,这些选项在配置界面应该容易变更。通常情况下,WAF会以某种方式与请求或会话进行交互(当发现攻击或异常时),例如终止与应用服务器的会话或阻止单个请求。每种方法都有优点和缺点,企业应了解哪些方法可行,这很重要。
WAF应该可配置为使用下列方法来阻止攻击:
· 阻止会话
· 阻止IP地址
· 阻止请求
· 注销用户
· 阻止用户
理想情况下,WAF应该在各种配置中支持这些方法,以响应对攻击或异常的检测。在某些情况下,WAF可能需要依赖其他设备(例如网络防火墙或路由器)来执行阻止操作。如果企业想要使用这个功能,企业应该确保所选择的WAF产品与现有网络设备兼容。
WAF如何进行日志记录?
WAF最重要的功能是抵御攻击,紧随其后的是日志记录并提醒管理员正在发生的情况。在某些情况下,企业可能怀疑出现攻击或者受感染用户,并想要看到详细信息。这正是WAF日志的重要性所在。对于如何进行这种日志记录,最简单的做法是经过检验而可靠的“哪里、何时、什么”方法。
首先,让我们讨论“什么”。WAF日志记录什么内容?应该尽可能地详细地记录。它应当追踪每个事务,包括会话、导航信息以及两者之间的所有信息。每个事务性日志条目的全部细节都应该详细记录,以减少调查事故的时间和精力。通过非常详细的日志记录,企业将能够解决因为WAF本身配置问题发生的问题。
接下来,让我们讨论“何时”。这是非常简单的,但重要的是看两个关键点。在最低限度应该有两组日志:第一组应该是访问或事务日志,包含所有通过WAF的活动;第二组是事件日志,当有事件触发WAF的检测或反应时会创建条目。虽然说,这两种日志都很重要,但事件日志更常使用,因为这些条目通常会指明异常行为,例如攻击或者疑似攻击。
最后,让我们来讨论“哪里”。日志存储在哪里或者它们如何发送到中央日志记录服务是至关重要的。日志采用的格式和传输方式是按照企业使用的安全信息和事件管理(或SIEM)系统支持的格式和协议吗?日志会在设备保留一定时间吗?WAF会混淆任何敏感信息,例如请求中包含的社会安全号码或永久账号(例如信用卡号码)吗?这对遵守法规很重要,例如支付卡行业数据安全标准版本(或PCI DSS)。
除了存储,“哪里”还应该包含警报如何产生以及发送到企业。电子邮件警报、门户网站和SNMP都是常见方式,但如果有更多选项则更好。
如何管理和更新WAF?
WAF并不是配置好就可以置之不管,从长期使用来看,如何管理WAF很重要。如果WAF使用黑名单签名或规则,企业应该弄清楚如何对它们进行更新。企业还应该确保可以自定义这些规则和签名以为他们提供最大灵活性。
如果企业没有在使用PHP脚本语言,可能不需要这些黑名单签名或表示规则,而应该禁用它们。通常情况下,这些选项可以通过管理界面的WAF政策来配置。企业应确保这些政策完全可由用户配置,以确保保持对WAF运作的最大控制。
如果企业正试图进行定期供应商更新,这些更新如何提供给企业?很多供应商会提供手动更新文件,或者允许设备自动连接更新服务。同样需要关注的是底层操作系统更新,这取决于WAF运行的平台(例如Windows或Linux)。请确保无论WAF产品使用何种更新方法,最终都真正执行了更新。毕竟,不安全的设备保护企业的Web应用的话,结果只会适得其反。
结论
综上所述,在选择WAF产品或供应商之前,企业决策者应该对需要考虑的问题有着全面和详细的清单。确保提前准备这些问题,并在最后决定之前回答或解决所有问题。对于额外的资源,企业可以参阅Web应用安全联盟提供的WAF评估标准文件,该文件非常详尽。 |