作者:Check Point公司的云安全产品负责人TJ Gonen
过去的几十年已将Web应用程序防火墙(WAF)变成了一种无处不在的安全设备。任何拥有Web应用程序的组织(包括大多数大企业)都已安装了WAF,以保护数据和资产避免被非法闯入。保护Web应用程序的最佳实践已变成了只需在您的应用程序前面部署WAF。
然而事实是,今天,鉴于现代应用程序生命周期助力开发运维(DevOps)以快得多的节奏发布更新,传统的WAF已跟不上步伐,维护WAF变得既费力又复杂。
面对这个挑战,安全专业人员该如何是好?什么可以阻止Web应用程序成为不法分子闯入组织基础设施的正门?知道DevOps会不断生成新的代码,用户如何才能确定自己的WAF是值得维护还是如同一潭死水?
不妨仔细看一下你的WAF怎样才能跟得上DevOps的速度。
上下文至关重要
网络安全完全旨在监测彼此使用相同协议的静态网络,而WAF旨在保护彼此明显不同的Web应用程序。每个应用程序都是独一无二的,每段代码都不一样,都存在一系列各自的漏洞。甚至在引入云存储和速度惊人的DevOp之前,WAF就被认为只是一种“很平常”的安全解决方案。使用驻留在应用程序前面而不是内嵌的解决方案意味着上下文分析是不可能的,这也就不可避免。没有上下文,也就无法理解正与之交互的应用程序中的内容,WAF方面的发展也就不可能自动跟上应用程序方面的发展。
教育、教育、教育
机器学习方面的改进只是在一定程度上解决了这个难题。虽然复杂的WAF部署到位后“只”需要一个月悄然学会为应用程序创建基准线,但应用程序一个月不受保护未免太久了。不可避免的是,人类需要介入,帮助调校WAF,这时候维护变成了一项繁重的工作。如果每次内容或代码更改,WAF就需要时间来学习和创建基准线,那么管理员需要做大量繁重的工作,以便减少警报、创建例外。
不自动化就解体
如果使用持续交付,你的WAF根本不可能在没有人类干预的情况下保护Web应用程序免受逻辑攻击。现实情况是,大多数WAF并不处于警报模式。允许他们阻止过头太危险了,因为大量的警报会造成警报疲劳。也许管理员可以做一些细小的微调,以便应用程序的敏感部分被阻止规则所保护,但应用程序的其余部分将使用模式匹配及其他粗略技术在警报模式下由WAF保护。这就导致了安全解决方案无法随着应用程序的发展而自动部署,以防范新的逻辑攻击。
不快速就滚蛋
敏捷性可谓是原生云计算的核心。早在2015年需要两周时间才能创建的内容现在只需要几秒钟。如果充分利用新的微服务,你可以在短短几分钟内大幅改变自己的应用程序。在这种新环境下,考虑使用依赖学习或手动配置的标准老式应用安全解决方案无疑很荒谬。
每当开发人员调整代码并向外发布代码时,这都是单方面采取的举动,并没有与安全人员进行洽谈。如果你使用的WAF依赖这一假设:你环境中的任何东西都是普通非特定的,那么你的WAF已失灵,是时候叫人来收拾处理了。
WAF已死,DevOps杀死了它。现在是时候进行一番法医鉴定分析,搞清楚WAF是不是一息尚存,还是说你面临的纯粹是累赘。以下是你应该问的几个问题:
- 你的WAF是为云设计的吗?
- 你的WAF能否区别合法流量用户与恶意流量用户?
- 你的WAF能否从合法查询中察觉机器人程序(僵尸节点)及开放式Web应用程序安全项目(OWASP)所列的其他攻击途径?
如果你对上述问题的回答是否定的,那么是时候评估你的云应用程序安全性了。