如果应用程序是安全的,是否需要 Web 应用程序防火墙?

信息安全 Web应用程序 华夫
2021-08-17 07:34:48

最近我一直在阅读有关Web 应用程序防火墙以及它们可以防止最常见的攻击(如注入、XSS 或 CSRF)的事实。

然而,一个好的应用程序应该已经对这些漏洞免疫,那么为什么公司更愿意购买那些昂贵的设备来尝试保护(WAFs也不完美)有安全漏洞的应用程序,而不是首先修复这些安全漏洞呢?


感谢您的详细回答,我从没想过这样一个新手问题会受到如此多的关注。

4个回答

在部署安全性时,应用多个层通常是一个好主意。仅仅因为你的卧室门上有一把锁并不意味着你不会在你家的前门上放一把。您还可以在多个应用程序前面应用一组通用的 WAF 规则。

WAF 可能是更大的 IDS/IPS 套件的一部分,如果 WAF 是内联的,它还可以帮助提高应用程序的性能,这样应用程序就不会在阻塞、日志记录、数据库查询等方面浪费资源。


您还假设组织有资源和技能来获得对其应用程序安全性的合理保证。如果它是第三方应用程序或具有第三方模块,则这些组件可能不容易升级,或者可能是封闭源代码或违反许可修改程序。

许多组织都背负着由早已离开的开发人员编写的遗留应用程序,WAF 是该组织保护自己免受这些应用程序攻击的一种方式。

WAF 在部署修复方面也快得多。更新复杂的应用程序可能需要数周或数月的时间,WAF 通常会在数小时内更新其保护。

这也是成本与收益的关系,一些 WAF 非常擅长保护应用程序,那么为什么要花费数百万来重写将在一年内逐步淘汰的遗留应用程序呢?

不,但只有少数应用程序是完全安全的。WAF 是一种在攻击实际到达您的应用程序之前缓解攻击的方法。此外,您可以轻松识别恶意用户并自动阻止他们。

WAF 并不是要修复您的应用程序,它们是用来防止甚至有时减轻攻击的。如果您的应用程序是安全的,但编写它的语言却不是,那么有时可以采取缓解措施来防止攻击,直到发布修复程序。

不会。事实上,实施 WAF 会增加攻击面,使您的基础设施现在容易受到针对 WAF 的攻击。

部署 WAF 是一种务实的措施,因为您认为应用程序可能存在 WAF 可以防止的漏洞,但在这里,我们处于一个没有人完全确定任何事情的领域,管理员会做他们认为正确的事情。

在我看来,真正正确的做法是在站点中实施必要的安全措施和流程。如果您可以控制应用程序代码和开发过程,则不需要 WAF。但这种情况并不总是可能的。