2013-06-01 131 views
0

我有用java写的web服务(war文件)(使用Spring Security)。在Web服务中,我可以通过主机读取所有文件(使用FileInputStream)。Tomcat:限制java web服务访问主机文件系统

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

假设有人可以非授权地(以任何方式)访问我的tomcat,那么他可以在其上部署文件&可以在其上运行命令,使用它可以轻松访问我的主机计算机文件系统。

这是如何防止的?

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

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

这是有道理的,我的文件系统是不安全的&这是一个需要担心的事情。 或更好的我不应该保持服务器上的敏感数据。

+0

**这是有道理的,我的文件系统是不安全的,这是一件需要担心的事情。或者更好的是,我不应该在服务器上保存敏感数据。** *是的,非常担心,并且不要将敏感数据保存在手臂范围内*。 **在web服务中,我可以通过主机读取所有文件(使用FileInputStream)。**您正在请求违反 – kolossus

+0

但是,我可以阻止来自tomcat访问的某些目录。像D Drive上的一些文件夹一样? –

回答

0

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

一系列的安全考虑和技巧可在http://tomcat.apache.org/tomcat-7.0-doc/security-howto.html获得。

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