【发布时间】:2015-06-16 09:05:52
【问题描述】:
问题是关于tomcat中的安全性,但首先考虑下面的例子:
假设您有 apache 网络服务器。然后,在 www 文件夹下,创建名为 dist 的文件夹,并在文件夹 dist 下创建名为 bdf23b1c-ddd3-4d5b-8fdf-948693674011 的文件夹。在此文件夹下创建一些包含安全信息的文件:
www/dist/bdf23b1c-ddd3-4d5b-8fdf-948693674011/pic.png
这显然是个坏主意,因为任何用户都可以转到yoursite.com/dist 并查看此文件夹中包含的所有内容。
另一方面,假设相同的情况,但在 tomcat Web 应用程序中创建了文件夹 dist。如果您的 web.xml 中有以下内容:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/dist/*</url-pattern>some java tool from outside
</servlet-mapping>
然后您可以使用其 URL 安全地下载 pic.png。如果您访问 yoursite.com/dist,则默认情况下,tomcat 不会向您显示此文件夹的内容。
但我的问题是:它的安全性如何?也许您可以使用服务器外部的一些 java 工具连接到 tomcat 并以某种方式确定您宝贵数据的完整路径?我知道 java 的安全性,这将是最终的解决方案,但我不希望这里有任何基于密码的身份验证。
UPD #1:如果存在这样的漏洞(从外部连接一些 java 工具或其他),请在此处发布。假设使用我们的应用替换 ROOT 应用的默认 tomcat 安装。也许对 server.xml 进行一些调整以禁止“恶意 Java 工具”的不需要的连接?
顺便说一句,我已经设置了防火墙,它会拒绝除 http、https 和 ssh 之外的所有流量。
UPD #2:正如我在 cmets 中提到的,我想为 Dropbox 功能创建最便宜的替代方案。我不想使用密码,因为这会给我们的客户带来不便(我们希望为客户提供我们游戏的预发布访问权限)
【问题讨论】: