Tomcat 管理器中的安全风险可从外部访问

Security risks in Tomcat Manager externally accessible

我打算让 Tomcat (8.5) 管理器可以通过这样的子域访问:https://tomcat.mydomain.com

如您所见,连接是通过 HTTPS 进行的,但这仍然会带来安全风险并被视为 'bad practice'?

有人认为我确实注意到了,通过查看 mydomain.com 的证书,您可以看到 https://tomcat.mydomain.com 确实存在。这意味着默默无闻并没有多少安全性。

当然,重要的是 tomcat 帐户设置正确并受密码保护,我有。

端点 public 可访问本身并不存在安全风险。但是,在决定是否公开管理界面时,您可能还需要考虑其他因素 publicly:

  1. 有多少人拥有该服务的凭据?
  2. 可以相信所有这些人都有好的密码吗?
  3. 可以相信所有这些人不会在多个站点重复使用密码吗?
  4. 您是否启用了锁定功能(如果使用 Tomcat 的身份验证与 Manager 应用程序,则默认启用)?
  5. 封锁能否被压倒? (考虑锁定实施)
  6. 管理员真的需要 public 访问管理器吗?
  7. 可以在public和管理界面之间添加额外的安全层吗?

一般来说,我通常选择不向 public 公开管理界面。我几乎总是要求管理用户在访问任何管理界面之前通过一些其他的门,例如 ssh 隧道(使用 public-key-only 访问),然后他们大多数还通过它进行第二次身份验证界面(即,您不会因为建立了隧道而自动受到信任)。

如果我要向 public 公开一个管理界面,我想除了基于密码的身份验证之外我还需要一些东西。应该涉及一些其他因素,无论是像 TOTP 或类似的常见 2FA 解决方案,还是 TLS 客户端证书("mutual authentication")。

有一个 presentation on the Tomcat web site 关于升级您的凭据安全性。那里有关于如何在 Tomcat 的现有身份验证系统中设置 TOTP 的示例代码和配置。您可能想阅读该演示文稿并考虑是否要为您的管理界面添加类似的保护。