反向代理值得吗?

信息安全 代理人
2021-08-24 14:17:07

反向代理值得吗?有很多不安全的网站使用反向代理,我觉得这并不能保护它们。毕竟,如果他们的 SQL 中有可能用于注入的错误,对吧?我觉得太多人依赖反向代理而不知道如何正确编程

4个回答

我想先具体评论一下这个说法——

“有很多不安全的网站使用反向代理,我觉得这并不能保护它们。”

仅仅因为您看到某些站点正在使用 X 或 Y CDN/WAF,这并不意味着它们具有某些/任何安全性。一些使用提供部分安全性的免费/廉价套餐,而另一些则不启用某些 WAF 功能(即使已付费)。

与任何安全措施一样,无论是虚拟的还是物理的,Web 应用程序防火墙(通过反向代理或任何其他部署格式)都不是灵丹妙药。

相反,这并不意味着您不应该使用它们!使用适当的 Cloud WAF 可以帮助您避免许多网站遭受的非常常见的陷阱:

  1. 3rd-party 代码- 您可能正在编写一些 kick-*** code,但是您使用的 3rd 方库呢?运行 WordPress/Joomla/Drupal/Magento/...的服务器呢?

    您不能对系统运行的每一段代码负责,并且修补时间至关重要。合适的 Cloud-WAF 提供商可以为您提供比恐慌站点操作更快、更可靠的虚拟补丁。

  2. 较低级别的漏洞- 还记得 Heartbleed 吗?冲击波?贵宾犬?

    部署操作系统级别的补丁需要多长时间?在某些情况下,如果超过几个小时,您很有可能会受到影响。

  3. DDoS 缓解- 希望现在每个人都明白,您只能使用云清理服务完全缓解 DDoS。(不,AWS 不是清理服务)。

  4. 过滤掉辱骂性访问者- 评论垃圾邮件、推荐垃圾邮件、抓取等。

    不幸的是,这些事情与您“正确编程”的能力有关。云来源的客户分类和声誉为您提供了这一点。

  5. 边缘安全——不仅是内容缓存!您可以将许多繁重的工作和麻烦转移到边缘。

    • 想要在某些页面上要求 2FA 和/或 CAPTCHA?从边缘交付它们。
    • 想要阻止某些 IP?在边缘过滤。
    • 不希望来自英国以外的访客?在边缘过滤。
    • 不想让来自伊朗的 Firefox 每分钟访问 /login 超过 5 次?你猜对了,在边缘过滤。

这只是为了让您体验一下,CBSP 可以为您提供更多很棒的东西(我们根本没有讨论可见性)。

披露:我在 @Imperva Incapsula 工作,这是一家提供云 WAF/DDoS 缓解/CDN/GSLB 的 CBSP。

最终,保护系统并不一定意味着无法侵入,因为这几乎是不可能的。相反,目标通常是让潜在的黑客需要大量资源才能做到这一点,因此他们要么不费心去尝试,要么转向更容易的目标。Web 应用程序防火墙只是帮助您完成此任务的另一个工具。它们能够检测到相当广泛的攻击,包括 SQL 和 XSS 注入,虽然有办法绕过它们,但要做到这一点需要非常坚定的攻击者。因此,WAF 可以在多层纵深防御策略中发挥非常有用的作用。

不过,您是对的,因为 WAF 并非无敌,不应该成为编写不安全代码的借口,就像接种疫苗不应该成为不洗手的借口一样。它应仅被视为最后一道防线,开发人员不应假设 WAF 将保护所有漏洞。

关于 CloudFlare,我相信他们的免费计划主要用于 CDN/缓存,仅提供针对 DDoS 和基本 Web 应用程序攻击的保护。他们需要更复杂的 WAF 的付费计划。

(为了澄清术语,我假设您在谈论 WAF 而不仅仅是反向代理。虽然 WAF 可以与反向代理结合使用以同时保护许多服务器/站点(例如 CloudFlare),但 WAF 可以是在没有反向代理的情况下设置,反之亦然。就像其他人所说,反向代理通常仅用于缓存/性能目的。)

反向代理的主要好处是更好的性能、容量和流量管理。有一个小的安全优势,它为您的应用程序提供了一些隔离 - 只有有效的 http 可能会到达您的网络服务器,并且它应该更好地处理 sloloris 类型的攻击。大多数此类代理允许对请求应用一些智能,通常无需使服务脱机,从而可以对服务器上的长时间攻击做出响应。

如果 CDN正确实现了地理感知 DNS(很多仍然没有) ,它会增加额外的性能优势。

使用反向代理当然不应该降低安全性,对于大多数人来说,主要好处证明了成本/努力是合理的。

您的意思是 Web 应用程序防火墙而不是反向代理吗?

使用反向代理的主要原因通常是性能限制,例如缓存或负载平衡。它通常具有阻止像懒猴这样的攻击的额外好处,因为反向代理在将请求传递到后端 Web 服务器之前需要完成请求。然而,这更多的是副作用,而不是反向代理的安全功能。