Tomcat安全管理器 - 确定Web应用程序所需的权限

3
我有一个非常大的Web应用程序,我想发布规范,以确定需要授予"Tomcat安全管理器"哪些权限才能使其与Web应用程序正常工作。
是否有任何自动方式运行Web应用程序并生成所需的所有权限列表?
我已经尝试手动启用Tomcat安全管理器,并逐个处理安全异常并添加所需的权限。然而,问题在于每次只显示一个安全异常,每次异常后我都需要更新catalina.policy、重新启动Tomcat并移至下一个异常。
我已经花了2小时时间进行此操作,但没有任何迹象表明接近完成。一定有更好的方法。 Tomcat安全管理器
3个回答

0

我有一个大型的Web应用程序,它运行Tomcat安全管理器。唯一出现权限问题的情况是当Tomcat已经部署、停止、添加了安全开关,然后重新启动。

grant codeBase "file:${catalina.home}/path/to/my/application-" {
  permission java.net.SocketPermission "IPAddress:Port", "connect";
  permission java.security.AllPermission;

};

这就是我解决它的方法。你可以用类似于 /webapps/mySuperAwesomeApplication 的东西来替换 /path/to/my/application


最终目标不仅是让应用程序运行,而且要记录需要启用哪些权限才能使其运行。不幸的是,像您在入口处所做的那样启用所有权限:permission java.security.AllPermission;对我来说并没有太大帮助。是的,它允许事情正常工作,但这基本上就像说“为什么不禁用Tomcat安全管理器”。他们想要启用Tomcat安全管理器的环境也是不允许给予“所有权限”的环境。 - Doug
实际上,它确实可以防止人们搞乱信息,我认为这听起来像是一个STIG要求。 - Woot4Moo
你所建议的就像是为你的Web应用程序禁用Tomcat安全管理器。如果有人要求启用它,他们很可能不希望允许Web应用程序拥有“所有权限”。例如,如果Web应用程序存在目录遍历漏洞,则添加“所有权限”将无法解决此问题。另一方面,如果您只能授予所需文件路径的访问权限,则可以解决此问题。这就是Tomcat安全管理器的目的。 - Doug
我的目标是正确定义Web应用程序在正常运行所需的内容,以便为其提供足够的访问权限。通过启用Tomcat安全管理器,这将限制任何发现的漏洞的影响,从而防止攻击者试图完成超出设计功能的操作。 - Doug
@Doug 如果你深入研究一下Tomcat上的安全管理器,你会发现它是多么的无用。这是最精美的安全剧场。 - Woot4Moo

0

使用 -Djava.security.debug=fail 怎么样?


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接