Java安全管理器: Specify Jar File in JVM Args

标签 java security

我正在制作一个 Minecraft 控制面板,成员可以在其中在我们的服务器上运行他们自己的 jar 文件,这可能会对我们的设备造成潜在的破坏性后果。

我想设置一个 jar 文件(我编码 java)作为安全管理器。我想这样做,这样我就可以阻止一些操作,例如只有 1 个套接字对应 1 个 IP,因此他们不会使用它来执行拒绝服务攻击。

我知道有一个 java.policy 文件,但这不够“智能”,无法让您执行我想做的一些操作。

我知道您可以覆盖安全管理器,但随后该类将在同一个 JVM 中加载,并且另一个恶意代码可能会覆盖该管理器。

我向您提出的问题是,如何制作一个其他人的代码无法干扰的安全管理器。

最佳答案

I know there is a java.policy file, but this isnt "smart" enough to allow you to do some of the operations I would like to do.

如果您可以控制命令行,只需指定 java -Djava.security.manager ... 。如果您无法控制命令行,请控制它。或者控制 JVM 并调用 System.setSecurityManager(new SecurityManager());在执行其他操作(例如运行客户端 JAR 文件)之前。

I know you can override the security manager, but then the class would be loaded within the same JVM and another malicious code could override this manager.

不知道这意味着什么。安全管理器一旦安装就无法更换。

关于Java安全管理器: Specify Jar File in JVM Args,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27009286/

相关文章:

java - 编译最新版l2switch时出现问题

java - 提交表单后如何在下拉框中保留选定的值?

java - 在 Java 应用程序中通过亚马逊服务器上的 JavaMail API 发送带有附件的邮件时出现空指针异常

security - 源安全组在 AWS 中未按预期工作

Domino XPage 上 Jackson 的 Java 权限

javascript - Stilts.js 无法使用安全的 true 连接到 websocket 服务器

java - Tomcat 上的 Alfresco 部署

java - 在 Java 中使用 Duration 对象将天、分钟、小时转换为秒失败

regex - Varnish modsecurity规则语法错误

ios - 从 base64 编码的字符串中获取 SecKeyRef