独立的 Tomcat 和 Apache 背后的 Tomcat 哪个更安全?

独立的 Tomcat 和 Apache 背后的 Tomcat 哪个更安全?

这个问题不是关于性能,也关于负载平衡等等。

哪个更安全:在独立模式下运行 Tomcat 还是在 apache 后面运行 Tomcat?

问题是,Tomcat 是用 Java 编写的,因此它几乎不受缓冲区溢出的影响(除非 Tomcat 使用的用 C 编写的库中的缓冲区溢出可以被触发,但这种情况很少见 [我记得最后一次是在 zlib 中,很多很多个月以前] 并且实际上很难利用),这消除了很多潜在的漏洞。

这一页:

http://wiki.apache.org/tomcat/FAQ/Security

有话要说:

目前还没有公开的案例表明 Tomcat 安全问题对公司、组织或个人造成了损害……只发现了理论上的漏洞。尽管没有实际利用这些漏洞的记录案例,但所有这些漏洞都得到了解决。

这一点,加上 Java 中缓冲区溢出/溢出几乎不存在的事实,让我相信独立模式下的 Tomcat 是相当安全的。

除此之外,我可以在 Linux 上安装 Java 和 Tomcat,而无需 root 权限。我唯一需要 root 权限的地方是设置透明端口 8080 到端口 80 的转发(以及 8443 到 443)。以 root 权限运行两行 iptables,这就是 root 权限所需要的全部内容。(我不知道 Apache 是否需要)。

Apache 的使用率比 Tomcat 高得多,并且确实没有像 Tomcat 那样好的安全记录。

Tomcat + Apache 有什么用更多的安全的?

Tomcat + Apache 有什么用较少的安全的?

简而言之:独立版 Tomcat 和带 Apache 的 Tomcat 哪个更安全?(记住性能不是这里的问题)

有关该主题的一些背景信息,请参见 2007 年的 Tomcat 邮件列表:

http://mail-archives.apache.org/mod_mbox/tomcat-users/200710.mbox/%[电子邮件保护]%3E

简短的回答:如果您没有看到一个令人信服的理由主动将 httpd 放在 Tomcat 前面,那么很可能就没有理由了。

有时人们会读到这样的主张:你应该总是我认为在 Tomcat 前面放置 httpd 完全是无稽之谈。事实恰恰相反。

答案1

2021 年更新:
我不喜欢我以前的答案。我不会改变它。但我不喜欢它。

2010更新之前:

什么会使 Tomcat + Apache 变得不那么安全?

  1. 攻击面更大。更多代码正在解析请求。因此,遇到/利用安全漏洞的可能性更大。
  2. 需要安装更多修复程序,需要纠正更多配置文件,需要正确设置更多安全设置。出现人为错误的可能性更大。

什么会使 Tomcat + Apache 更安全?

不知道。

相关内容