随着网络攻击的演进,Web应用防火墙(WAF)的应用也在发生变化。企业组织部署WAF不仅要对网站进行保护,还要对逐渐普及的Kubernetes、微服务、API和无服务器部署等新兴应用进行保障和支撑。因此,部署和管理WAF已不再是安全团队的责任,而是从应用设计、敏捷开发、信息化应用到安全团队所有人的任务。
在传统模式中,WAF通常作为物理的、本地化的(on-premises)工具部署在Web服务器的前面,保护Web应用和API远离内外攻击,尤其是防止注入攻击和应用层拒绝服务攻击(DoS),监控对Web应用的访问以及收集访问日志用于合规审计和溯源分析。而近年来,基于云的WAF服务也成为一种很流行的应用方案,它通过订阅方式SaaS化交付服务,安全策略由服务提供商预先定义好,能够共享威胁数据并得到标准化的运维支持,从而更快捷地应用和管理。
然而,并非所有企业都适用云WAF。两种服务模式各有利弊,企业需要从价格、性能、功能以及应用程序和数据的敏感程度进行综合评估。
云WAF的价值
云WAF通常更易于部署,服务商会在交付前对其进行优化,并设计更规范的工作流程和功能。用户无需安装任何软件或者部署任何硬件设备,只需修改DNS即可实现云WAF服务的部署应用。
云WAF一般会用标准化的规则或访问控制列表(ACL)来实现防护功能,因此服务交付的难度低,应用成本可控。
原生化的云WAF可以与云上其他服务(比如日志工具、DNS管理和应用交付功能)更好集成。如果企业正在运行Kubernetes或其他容器编排工具,这一点显得尤为重要。对于企业组织来说,IT团队肩负许多工作职责,轻松集成可以节省大量时间,降低运营复杂性。
云WAF的防护规则都处于云端,一旦发现新的安全威胁,可以由服务商统一在云端更新规则并维护,用户无需担心因为疏忽而导致安全事件的发生。
云WAF的不足
云WAF往往是标准化的解决方案,无法让企业对未来的扩展性进行精细化控制,一些复杂的安全防护配置通常难以在云WAF上实现。
云WAF处理请求时,需要经过DNS解析、请求调度、流量过滤等多个环节,其中涉及协同关联工作,其中只要有一个环节出现问题,就会导致网站无法正常访问的情况。必要时,还需要手动切换为原DNS来保证业务正常运行。
云WAF常常根据多个参数来定价,比如访问控制列表(ACL)的数量、防火墙规则的数量、防火墙组的数量、处理的请求数量等。如果发生不可预见的事件(比如重大扩展事件或复杂的网络攻击),反而会导致更高的使用成本。
由于大多数组织选择多云或混合架构,这会给云WAF的应用带来阻碍。安全团队必须通晓每个云上WAF服务所特有的身份验证方案、管理控制台和语法规则。
如果企业在一个云中构建了复杂的WAF规则,会难以扩展到另一个云平台,因为将这些规则导出会非常困难。当然,企业可以手动完成这项任务,但在微服务环境下,这可能意味着迁移大量WAF规则,甚至可能出现规则丢失的情况。
结语
分析利弊后,我们发现基于云的WAF更适合安全需求较低的企业应用,但可能不适用在大型应用程序、复杂用例和不断变化的应用架构等场景中。尤其是可能有数千个微服务,东西向流量与南北向流量一样备受关注的Kubernetes、微服务和无服务器环境,云WAF的管理可能变得棘手起来。
此外,当开发人员或DevOps团队需要更全面地控制应用扩展模式和规则时,云WAF可能无法提供足够的细粒度。公共云中的管理控制台可自动管理ACL和规则,并简化这种管理,但它们通常无法在多云或混合云环境使用。
具体采用哪种WAF形式并不是“一方医百病”的问题,企业安全人员需要结合业务需求,弄清楚企业重心是什么,以及转向云端的速度如何,当明确了企业业务发展路线之后,他们就可以决定自己想要的WAF部署模式究竟是本地化还是云交付的模式。
参考链接: