【问题标题】:Create java sandbox based on security policies基于安全策略创建java沙箱
【发布时间】:2010-05-19 17:06:01
【问题描述】:

我需要创建环境来运行可能不受信任的代码。程序允许连接到预配置的地址:端口,仅此而已(甚至读取系统时间)。我已经编译了类白名单。我搜索了类似的问题,但只找到了基于 SecurityManager 的模板,该模板已弃用 AFAIK。 谁能给我一个简单的示例,如何根据安全策略和 AccessController 在沙箱中运行代码?

【问题讨论】:

    标签: java sandbox


    【解决方案1】:

    据我所知,运行安全检查的仍然是 SecurityManager。但现在它似乎委托给了 AccessController。

    首先你需要打开安全管理器:

    -Djava.security.manager

    如果您省略此参数,则不会有任何沙箱。

    其次,您需要知道在哪里可以找到策略文件:

    -Djava.security.policy=

    这会将您的权限添加到您的 java home 中已定义的权限。 .../jre/lib/security/java.policy 中的原始沙盒规则。但是,如果您希望您的保单成为唯一保单,则需要使用双“=”。这样您就可以完全控制允许的内容。

    例如:

    -Djava.security.policy==

    我建议您使用 Java 附带的“policytool”。这是相当基本的,但它可以帮助您使用正确的语法快速编写策略文件。

    我希望这会有所帮助...

    【讨论】:

      猜你喜欢
      • 2011-08-06
      • 2016-03-27
      • 1970-01-01
      • 2010-12-15
      • 2014-08-16
      • 2015-06-20
      • 1970-01-01
      • 2015-06-18
      • 2021-12-24
      相关资源
      最近更新 更多