0

我有用 java (war 文件) (使用 Spring Security) 编写的 Web 服务。在 Web 服务中,我可以通过主机读取所有文件(使用 FileInputStream)。

我的主机(Windows 系统)包含我不想与任何人共享的非常敏感的数据。

假设有人未经身份(以任何方式)访问我的 tomcat,然后他可以在其上部署文件并可以在其上运行命令,从而可以轻松访问我的主机文件系统。

如何防止这种情况?

我可以禁用自动部署并在 tomcat 上执行其他安全技巧以防止攻击。

但是,这并不能解决我的问题。

这是否有意义,我的文件系统是不安全的,这是一件值得担心的事情。或者更好的是我不应该在服务器上保留敏感数据。

4

1 回答 1

0

对此有几个答案。首先:考虑在不包含敏感数据的单独机器上运行 tomcat。除此之外,您应该确保用于运行 tomcat 的用户或服务具有最低系统权限。它不需要能够访问整个文件系统。

http://tomcat.apache.org/tomcat-7.0-doc/security-howto.html提供了一系列安全注意事项和提示。

此外,您可能会考虑使用安全管理器运行 tomcat,该安全管理器用于限制执行的 java 代码的权限。查看http://tomcat.apache.org/tomcat-7.0-doc/security-manager-howto.html了解如何设置 tomcat 以使用安全管理器。

于 2013-06-01T13:27:50.320 回答