java.policy文件如何限制其他用户/代码的安全性?

时间:2018-12-12 02:26:26

标签: java security permissions policy restriction

我是Java安全策略的新手,请参阅[Java核心编程]第2卷,其中有使用策略文件为文件指定权限等的示例。

我的问题是:

(1)开发自己的应用程序或小程序时,可以使用此策略来限制自己程序的许可。但是限制自己没有多大意义-我认为策略的意思是限制网络或其他来源的未知源或类。那么如何做这种限制呢?在书或网上都找不到很好的例子。

(2)除了使用applet(如今已过时)之外,在生产环境中使用java.policy文件的通常情况是什么?

非常感谢。

1 个答案:

答案 0 :(得分:2)

  

但是限制自己没有多大意义。

这很有意义。例如,假设您使用纯Java实现了Web服务器,并且需要将其公开在公共IP地址上。假设您担心代码(或Java SE或第三方库)中可能存在安全漏洞,可能导致JVM受到威胁。保护您的系统的一种可能方法是实现Web服务器以使用Java安全框架来限制(假设地)被破坏的代码读取/写入文件系统中的文件,启动单独的进程,建立网络连接等等的能力。 / p>

(请注意,还有其他方法可以解决上述问题,例如SE Linux和Apparmor。)

  

我认为政策的意思是限制网络或其他来源的未知来源或类别。那么如何进行这种限制呢?

是的,这是安全策略的常规用法。

基本思想是应用程序以完全特权启动。要运行不受信任的代码,请使用策略文件实例化安全管理器。然后,使用该安全管理器实例化(沙盒)类加载器。然后,使用沙箱类加载器加载不受信任的代码。

  

其他然后使用applet(如今已过时)在生产环境中使用java.policy文件的通常情况是什么?

请参阅上文中的一种情况。

另一种情况是您需要运行不基于applet的不受信任的Java代码。例如,为最终用户提供的应用程序运行插件,或设置公共服务器以进行竞争性编码。