Tomcat:限制java web服务访问主机文件系统

Posted

技术标签:

【中文标题】Tomcat:限制java web服务访问主机文件系统【英文标题】:Tomcat : Restrict java web service from accessing host machine file system 【发布时间】:2013-05-28 03:51:12 【问题描述】:

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

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

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

如何预防?

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

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

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

【问题讨论】:

我的文件系统不安全,这是一件值得担心的事情,这是否有意义。或者更好的是我不应该在服务器上保留敏感数据。 是的,非常担心,不要将敏感数据放在触手可及的范围内在 Web 服务中,我可以通过主机读取所有文件(使用 FileInputStream)。 你在乞求被破坏 但是,我可以阻止某些目录访问 tomcat。喜欢 D Drive 上的一些文件夹吗? 【参考方案1】:

对此有几个答案。首先:考虑在不包含敏感数据的单独机器上运行 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 以使用安全管理器。

【讨论】:

以上是关于Tomcat:限制java web服务访问主机文件系统的主要内容,如果未能解决你的问题,请参考以下文章

20200726记录:部署Tomcat服务器,使用Tomcat部署虚拟主机,使用Varnish加速Web

如何不输入项目名端口号直接访问java web项目

[WebServer] Tomcat 配置访问限制:访问白名单和访问黑名单

Tomcat虚拟主机

Tomcat搭建web,提供JAVA页面访问!

APache网站服务配置访问控制和构建虚拟主机