网络安全业界关于“Dev(Sec)Ops当立,WAF已死”的断言已经流行了一段时间,WAF(Web应用程序防火墙)真的要退出历史舞台了吗?Dev(Sec)Ops是WAF的掘墓人吗?答案是否定的。尽管有些人可能认为DevOps具有手段、动机和机会,但事实是WAF不但未完全消失,而且会继续存在很长时间。
WAF还有什么价值?
DevOps以及持续集成和持续部署(CI/CD)管道为实施安全策略提供了极好的机会,尤其是开发团队在敏捷方法增加了安全性Sprint的情况下。Dev(Sec)Ops从一开始就将安全功能内置到应用程序中,而不是像传统开发方法那样亡羊补牢。后者不仅效率低下,而且在紧锣密鼓的CI/CD流程往往被忽略或遗忘。
尽管DevSecOps从一开始就内置所有Web应用程序的安全性,但是经验表明,它通常仅适用于“皇冠上的宝石”,例如公司的主要客户门户或客户支付系统。在企业环境中,对于公司来说,运行不再维护代码的旧应用程序或通过收购集成应用程序的场景并不少见。
此外,研发和市场营销等部门经常实施自定义或第三方应用程序。这种应用程序的激增可能导致组织中超过50%的面向公众的Web应用程序由DevOps或其他不同的IT小组进行管理。这些应用将需要其他威胁缓解控制,而WAF正是其中一种。
DevOps安全性的局限性
当Web应用程序成为企业的关键应用时,WAF已成为企业安全的基石。设计用于保护很大程度上是静态网络环境的单个网络防火墙已不再足够。WAF针对特定应用程序,提供不同的安全防护。但是WAF的过滤、监控和策略执行(例如阻止恶意流量)虽然提供了有价值的保护,但会带来成本影响并消耗计算资源。此外,在DevOps的云环境中,匹配不断更新和更改的流程对于WAF来说也是一项挑战。
将安全性引入CI/CD管道可以解决该问题,但仅适用于以此种方式开发的应用程序。无法在旧的第三方应用程序或由不同部门部署的应用程序中实施安全功能的Sprint。这些应用程序的存在给企业带来了风险,但它们仍然需要得到保护,而WAF仍然可能是最佳选择。
同样重要的是,没有什么方法可以完美解决所有网络安全问题,仅靠敏捷的DevOps方法是不够的。即使在不包含过时应用或第三方应用程序的环境中,您也永远无法确定其他团队在做什么——影子IT对企业来说是一个持续存在的顽疾。除了安全Sprint、代码审查等措施外,您还需要至少每年执行一次渗透测试。
渗透测试可模拟系统、网络和Web应用程序上的网络攻击,发现黑客可能会利用的漏洞。渗透测试为企业提供了绝佳的机会,使安全状况与预期保持同步。
WAF来日方长
毫无疑问,对于应用安全来说,主动将安全性内置到Web应用程序中的DevOps敏捷方法应被视为最佳实践。它能确保安全性与CI/CD管道中的创新速度保持同步,帮助建立安全性和运营团队之间的协作文化,并使网络安全性与业务需求保持一致。但是在企业级别,由于存在较旧的不受支持的应用程序,第三方添加的内容以及其他部门可能在开发团队权限范围之外进行的独立活动,因此DevSecOps并不能覆盖全部的应用安全。
总之,关于WAF即将消亡的报道是危言耸听。只要依然有遗留应用程序存在于DevOps环境之外,或者DevOps团队没有从头开始完全实现安全性(这仍然相当普遍),那么就有必要采取其他保护应用程序和缓解攻击的方法。至少在可预见的未来,WAF都会是企业安全武器库中的必备品。