我有用java编写的Web服务(war文件)(使用Spring Security)。在Web服务中,我可以通过主机读取所有文件(使用FileInputStream)。
我的主机(Windows系统)包含非常敏感的数据,我不想与任何人分享。
假设有人以非自然的方式(以任何方式)访问我的tomcat,那么他可以在其上部署文件&可以在其上运行命令,通过它可以轻松访问我的主机文件系统。
如何预防?
我可以禁用自动部署&在tomcat上做其他安全技巧以防止攻击。
但是,这不能解决我的问题。
这是否有意义我的文件系统是不安全的&这是一个值得担心的事情。 或者更好,我不应该在服务器上保留敏感数据。
答案 0 :(得分: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以使用安全管理器。