Web服务器前的反向代理是否可以提高安全性?


14

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

我知道这是一种典型的推荐体系结构,因为它在Web应用程序之前提供了另一种安全级别,可以防止黑客入侵。

但是,由于反向代理很乐意在用户和内部Web服务器之间来回穿梭HTTP,因此它无法提供任何防止Web服务器本身被黑客攻击的措施。换句话说,如果您的Web应用存在安全漏洞,则代理将无法提供任何有意义的安全性。

鉴于攻击Web应用程序的风险远比攻击代理的风险高得多,在中间添加一个额外的框真的能带来很多收益吗?我们不会使用反向代理的任何缓存功能-只是一个笨拙的工具来回传送数据包。

我还有其他想念的地方吗?反向代理HTTP数据包检查的性能是否如此出色,可以检测到有意义的攻击而没有主要的性能瓶颈,或者这仅仅是Security Theater的另一个示例?

反向代理是MS ISA的缺点。

Answers:


9

Apache具有mod_security,它将检测常见的安全攻击。还有mod_cband,它可以限制使用的带宽。如果ISA具有类似的功能,我不会感到惊讶。如果没有实际检查通过代理的HTTP流量的情况,那么从安全角度来看,这一切都是毫无意义的。

反向代理将为您提供负载平衡,故障转移,缓存,SSL和文件管理卸载,让您的Web服务器去做自己擅长的事情:提供HTML。


8

ISA Server能够查找并阻止各种HTTP攻击,并阻止它们进入Web服务器。尽管大多数现代HTTP服务器不再可以被此服务器利用,但它确实具有不将流量发送到Web服务器的额外好处。

另外,ISA可以使执行诸如添加SSL加速和对各种URL的用户预授权之类的事情变得更加容易。它甚至可以为您充当负载平衡器,因此您可以轻松添加更多Web服务器,而无需使用单独的硬件负载平衡器。

一定要考虑这个人正在给ISA的专家的意见,并权衡它与收益相比,管理和运行ISA会花费多少额外开销。


8

Web服务器前的反向代理是否可以提高安全性?

反向代理为您提供了一些可能使您的服务器更安全的方法。

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

没有过滤的反向代理不会自动保护您免受一切侵害,但是,如果您需要保护的系统是高价值的,那么添加反向代理可能值得您付出支持成本和性能成本。


6

它可以保护您的应用程序服务器免受基于不良HTTP请求的攻击……尤其是如果可以在反向代理服务器上(而不是在应用程序服务器上)准确配置良好请求的外观,并且不允许不良请求通过。如果必须告诉它糟糕的请求是什么样的,那几乎肯定是没有用的。换句话说,它可以防止缓冲区溢出攻击,但不能防止SQL注入。

通常,这听起来像是安全剧院。您雇用了一名安全顾问,他们必须告诉您要采取哪些措施来提高安全性。攻击者几乎不可能闯入反向代理,如果他们只是绕过反向代理,就总是可以责备您。所以这是一个安全的建议。


3

基本上,反向代理将使您的基础结构对世界隐藏。因此,除非您的Web服务器确实无法管理且不受保护,否则这主要是出于保密的考虑。

它还可以保护您的Web服务器免受某种DOS(分布式拒绝服务)的侵害,尤其是如果您的网站“很繁重”时,则充当缓存层。

它也有一些陷阱:它将从您的应用程序中隐藏客户的真实IP。这将使您消耗更多的服务器功能,并增加可能破坏的功能。请记住,您的反向代理将必须处理更多的连接(通常是两倍以上:与客户的连接和与Web服务器的连接)。

归根结底,反向代理将不会使您拥有一个安全的网站。



0

我认为其他人都没有谈论过的一个好处是,您不必通过外部防火墙打开任何外部IP /端口。一个好的反向代理系统将启动从网络内部到DMZ中服务器的通信,从而保护网络免受直接攻击。但是,正如其他人所说,这不会保护您免受编写不当的应用程序的侵害。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.