我有用java (war文件)编写的web服务(使用Spring Security)。在web服务中,我可以通过主机读取所有文件(使用FileInputStream)。
我的主机(Windows系统)包含非常敏感的数据,我不想与任何人共享。
假设有人以不真实的方式(以任何方式)访问我的tomcat,那么他可以在上面部署文件并在上面运行命令,这样他就可以很容易地访问我的主机文件系统。
如何防止这种情况发生?
我可以在tomcat上禁用自动部署和其他安全技巧,以防止攻击。
但是,这并不能解决我的问题。
我的文件系统是不安全的,这有意义吗?这是一个值得担心的问题。或者更好的是,我不应该将敏感数据保存在服务器上。
发布于 2013-06-01 21:27:50
对此有几个答案。首先:考虑在不包含敏感数据的单独机器上运行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设置为使用安全管理器。
https://stackoverflow.com/questions/16872287
复制相似问题