基于代理的Web应用防火墙(WAF)是应用保护不可或缺的组成部分。除了是满足PCI-DSS合规要求的必要措施外,WAF还非常适合防范OWASP十大风险。WAF也是应对零日漏洞的常用解决方案,可通过快速发布特征码更新,或在某些情况下使用编程功能对应用进行虚拟修补,为部署长期解决方案争取时间。
问题是,应在何处部署此类防护?
当然,有多种选择。数据路径中有多个可部署WAF的插入点,但这并不意味着每个插入点都合适。有些效率较低,有些会引入不可接受的故障点,还有一些会造成架构债务,随着时间推移付出高昂代价。
理想情况下,应将WAF部署在负载均衡层之后。这样既能优化资源利用率、性能和可靠性,又能为所有应用提供必要的保护,尤其是暴露在互联网上的应用。

利用率
做出负载均衡决策所需的资源(CPU等)非常少。这通常就是负载均衡器(LB)能够同时支持数百万用户,而Web应用防火墙(WAF)需要占用更多资源的原因。WAF需要检查整个有效负载,并根据特征码和策略进行评估,以确定请求是否有效且安全。
现代数据中心模式在很大程度上借鉴了云及其按使用量计费的成本结构。资源利用率因此成为影响运营成本的关键因素。利用率越高,所需的额外资源就越多,预算支出也会随之增加。因此,优化资源利用率是控制数据中心和公有云环境成本的合理策略。
可靠性
横向扩展WAF是一种常见做法,也就是使用LB来扩展WAF。这一架构决策与资源利用率直接相关。虽然许多WAF具有良好的扩展能力,但突发流量或攻击仍可能使其不堪重负。如果将WAF部署在LB前端,则需要另设一个LB层来单独扩展WAF,否则可能会影响性能和可用性。

性能
性能是应用经济中的关键关注点。数据沿数据路径传输时,会与众多变量和系统交互,因此很难准确定位性能瓶颈,更不用说在不影响其他部分的情况下逐一调优。正如多次提到的,系统负载越高,性能就越低。这是未针对利用率进行优化所带来的意外后果之一,也是经验丰富的网络架构师将网络设备的利用率阈值设为60%的一个重要原因。
在LB层后部署WAF,无需再设置专用的上游WAF负载均衡层,从而省去整个网络层。虽然由此缩短的处理时间看似不多,但管理连接和扩展WAF服务,以及随后再次执行相关操作以选择目标应用实例或服务器,都会耗费宝贵的微秒级时间。在LB层后部署WAF并省去这一层,可以节省宝贵的微秒级时间,让当今的用户切实感受到并认可性能提升。
可见性
可见性是数据路径中安全解决方案的一项关键要求。如果无法检查包括有效载荷在内的整个流量,WAF的许多安全功能将无法发挥作用。毕竟,大多数恶意代码都存在于有效载荷中,而不是协议标头中。将WAF部署在LB层之后,可以先解密SSL/TLS流量,再将其传递给WAF进行检查。这种架构更为合理,因为负载均衡器通常也需要查看加密流量,才能确定如何正确路由请求。

尽管如此,WAF几乎可以部署在数据路径中的任何位置。它是一项基于L7代理的安全服务,作为中间层部署在网络路径中。也可以根据需要将其部署在网络边缘。但如果希望同时优化架构的性能、可靠性和资源利用率,建议将WAF部署在负载均衡层之后,使其更靠近所保护的应用。
借助合适的工具,全面的WAF防护可以显著降低风险敞口和运营成本。通过F5的点播网络研讨会,详细了解如何保护应用免受OWASP十大风险及其他威胁,并探索部署F5 WAF功能的多种方式,包括F5基于云的Silverline WAF托管服务。
F5安全架构师Brian McHenry和首席威胁研究布道师David Holmes为本文提供了内容支持。2019年8月进行了少量编辑。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。