当前位置: 首页 > 面试题库 >

根据安全策略创建Java沙箱

许毅
2023-03-14
问题内容

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


问题答案:

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

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

-Djava.security.manager

如果您忽略此参数,则不会有沙箱。

其次,您需要告诉在哪里可以找到策略文件

-Djava.security.policy =

这会将您的权限添加到Java主目录中已定义的权限中。原始沙箱规则位于… / jre / lib / security /
java.policy中。但是,如果您希望自己的策略是唯一的策略,则需要使用双引号“ =”。这样,您可以完全控制允许的内容。

例如:

-Djava.security.policy ==

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

我希望这有帮助…



 类似资料:
  • 主要内容:命令配置密码,手动配置密码,指令安全,端口安全,SSH代理Redis 提供了诸多安全策略,比如为了保证数据安全,提供了设置密码的功能。Redis 密码设置主要有两种方式:一种是使用 命令来设置密码;另外一种则是手动修改 Redis 的配置文件。虽然看似前者更为简单,其实两种方式各有特点。本节将对它们进行介绍。 命令配置密码 通过执行以下命令查看是否设置了密码验证: 在默认情况下 requirepass 参数值为空的,表示无需通过密码验证就可以连接到 Re

  • 在这个世界上没有绝对的安全,我们说这台服务器安全并不是说它绝对不会有安全风险,不会受到损害。只能说明该台服务器的安全可信度高,不易受到侵害。相反,如果我们说这台服务器不安全,即可信度低,则这台服务器可能是一些服务的配置有安全漏洞或没有做数据冗余。每种环境、每种应用的可信度要求是有不同的,不能一概而论,如作为企业中心数据库服务器的可信度要求就比内部WEB服务器的可信度要求高。需投入更多的资金和时间对

  • PodSecurityPolicy 类型的对象能够控制,是否可以向 Pod 发送请求,该 Pod 能够影响被应用到 Pod 和容器的 SecurityContext。 查看 Pod 安全策略建议 获取更多信息。 什么是 Pod 安全策略? Pod 安全策略 是集群级别的资源,它能够控制 Pod 运行的行为,以及它具有访问什么的能力。 PodSecurityPolicy对象定义了一组条件,指示 Po

  • 问题内容: 我正在创建要执行的JEXL脚本的沙箱,以使恶意用户无法访问我们为其提供访问权限的变量之外的数据,也无法在服务器上执行DOS攻击。我想为其他这样做的人提供文档,也让其他人对此方法有所投入。 以下是我知道需要解决的问题的列表: 仅允许使用白名单上的“ new”实例化类。 不允许访问任何类的getClass方法,因为这样便可以调用forName并且可以访问任何类。 限制对文件等资源的访问。

  • 本文向大家介绍什么是安全策略?相关面试题,主要包含被问及什么是安全策略?时的应答技巧和注意事项,需要的朋友参考一下 回答:安全策略是一个正式且简短的计划,其中包含组织的目标,目的和信息安全程序。简而言之,它定义了确切地需要保护免受威胁的条件以及在威胁发生时如何处理情况。

  • 内容安全策略 CSP(Content Security Policy)即内容安全策略,主要目标是减少、并有效报告 XSS 攻击,其实质就是让开发者定制一份白名单,告诉浏览器允许加载、执行的外部资源。即使攻击者能够发现可从中注入脚本的漏洞,由于脚本不在白名单之列,浏览器也不会执行该脚本,从而降低客户端遭受 XSS 攻击风险。 默认配置下,CSP 甚至不允许执行内联代码 (<script> 块内容,内