2012-03-13 63 views
1

最近我们进行了一次安全审计,发现我们系统中存在一个漏洞。 我们有一个自定义的,我们使用的服务资源(HTML帮助文件,图像,jar文件)访问jar文件时的安全问题

我们的应用程序是Java Webstart的一个,在服务器上生成的JNLP并在浏览器中加载时非常简单的Web服务器它会调用我们的Web服务器来下载应用程序所需的jar文件。最后,当应用程序启动时,会向用户提示登录屏幕。

但是您可以输入浏览器并能够下载jnlp在场景后面执行的任何jar包,并且这个事实被视为安全漏洞。主要担心的是未经身份验证的用户可以访问我们的jar文件而无需拥有有效的帐户。

我的问题是:1。 是安全漏洞,要求合理的,因为jar文件需要在登录屏幕 2.之前到达客户端机器如果担心是有道理的我怎么能保证对应用的访问罐子文件?

谢谢 - 马吕斯

+0

你运行什么样的网络服务器? – bsimic 2012-03-13 16:43:14

+0

如果这是一个安全漏洞,你确定要公开讨论它吗? /如果代码将在网络外部运行,它将需要被暴露(可能会被混淆,但不要认为这确实构成了安全性)。即使在Web浏览器中,您也可以查看JavaScript源代码(试图禁用ctrl-U并右键单击不是很有效)。 – 2012-03-13 18:36:09

+0

这是一个简单的web服务器,这是完成ih-house,这是我们迄今尚未考虑安全性的原因之一。 – 2012-03-14 12:07:02

回答

1

不知道你最终要保护,我不知道是否露出JNLP资源是一个安全漏洞。但是,如果您绝对需要限制对通过身份验证的用户的JNLP资源访问权限,我相信您可以使用相互身份验证通过SSL执行整个Java Web Start会话。当然,这意味着双方的证书交换和安装。

+0

我了解相互身份验证,但在这种情况下,我的需求太强大了。不希望达到生成客户端证书并让客户端安装这些证书的过程。相反,我的目标是介于两者之间,但似乎我需要关注混淆jar /加密jnlp文件,而不是阻止它们被下载。 – 2012-03-14 10:59:53

+0

我明白了。你知道JWS沙箱中的安全策略是否允许添加到类加载器中? – 2012-03-14 12:04:02