Web 服务器前面的反向代理会提高安全性吗?

Web 服务器前面的反向代理会提高安全性吗?

第三方安全专家建议我们在 Web 服务器(全部托管在 DMZ 中)前面运行反向代理,作为最佳实践的安全措施。

我知道这是一种典型的推荐架构,因为它在 Web 应用程序前面提供了另一层安全性以防止黑客攻击。

然而,由于反向代理在用户和内部 Web 服务器之间愉快地来回传输 HTTP,因此它不会提供任何防止 Web 服务器本身被黑客入侵的措施。换句话说,如果您的 Web 应用程序存在安全漏洞,代理将不会提供任何有意义的安全性。

鉴于对 Web 应用程序的攻击风险远高于对代理的攻击风险,在中间添加一个额外的盒子真的有很多好处吗?我们不会使用反向代理的任何缓存功能 - 只是一个来回传送数据包的愚蠢工具。

我还遗漏了什么吗?反向代理 HTTP 数据包检查是否已经如此出色,以至于它可以检测到有意义的攻击而不会出现重大性能瓶颈,还是这只是 Security Theater 的另一个例子?

反向代理是 MS ISA fwiw。

答案1

Apache 有 mod_security,可以检测常见的安全攻击。还有 mod_cband,可以限制使用的带宽。如果 ISA 有类似的东西,我也不会感到惊讶。如果没有在 HTTP 流量通过代理时对其进行实际检查,从安全角度来看,这一切都毫无意义。

反向代理可以为您提供负载平衡、故障转移、缓存、SSL 和文件卸载,让您的 Web 服务器做它们擅长的事情:提供 HTML。

答案2

Web 服务器前面的反向代理会提高安全性吗?

反向代理可以给你提供一些东西来使你的服务器更安全。

  • 一个独立于 Web 服务器的地方,用于监控和记录正在发生的事情
  • 如果您知道系统的某些区域容易受到攻击,请将过滤或防火墙与 Web 服务器分开。根据代理,您可能能够在应用程序级别进行过滤。
  • 如果您由于某种原因无法在 Web 服务器上进行充分表达,则可以在此处找到另一个实现 ACL 和规则的地方。
  • 单独的网络堆栈不会像您的 Web 服务器一样容易受到攻击。如果您的代理来自不同的供应商,则尤其如此。
    • 使用 Apache 设置作为 Apache 服务器前的代理可能不如 Apache 前的 Squid 那么有用。

没有过滤功能的反向代理无法自动保护您免受所有攻击,但如果您需要保护的系统价值很高,那么添加反向代理可能值得花费支持和性能成本。

答案3

ISA Server 能够查找和阻止各种 HTTP 漏洞,并阻止它们进入 Web 服务器。虽然大多数现代 HTTP 服务器不再受此攻击,但它确实具有不将这些流量发送到 Web 服务器的额外好处。

此外,ISA 还可以使添加 SSL 加速和对各种 URL 的用户预授权等操作变得更加简单。它甚至可以充当您的负载平衡器,这样您就可以轻松添加更多 Web 服务器,而无需使用单独的硬件负载平衡器。

一定要考虑此人对 ISA 给出的优点,并将其与管理和运行 ISA 所需的额外开销以及收益进行比较。

答案4

基本上,反向代理会将您的基础设施隐藏起来。因此,这主要是通过隐蔽性来实现安全性,除非您的 Web 服务器确实难以管理且不安全。

它还可以保护您的网络服务器免受某种 DOS(分布式拒绝服务)攻击,特别是当您的网站很“重”时,它可以充当缓存层。

它也有一些缺陷:它会向你的应用程序隐藏客户的真实 IP。它会让你消耗更多的服务器电量,并增加一层可能出现故障的东西。请记住,你的反向代理必须处理更多的连接(通常是两倍:与客户的连接和与你的 Web 服务器的连接)。

归根结底,无论如何,反向代理都不会保证您拥有一个安全的网站。

相关内容