1

我需要运行一个 java 应用程序(不是 applet 或 JNLP,而是 JRE 中的一个成熟的应用程序)并且需要一些限制:

  1. 文件系统 - 应用程序只能访问 1 个文件夹进行读写(这将是应用程序引用的固定路径,例如 / )

  2. 端口 - 该应用程序只能访问几个本地端口。(例如只能访问端口 8080 / 3306)

有没有办法做到这一点?我已经搜索了 Java 安全和策略,但没有找到解决方案。

我正在考虑编写一个容器来运行这个应用程序或更改/覆盖类(在 OpenJDK 的情况下)。这个可以吗?

这是针对我们即将开始的开源项目,感谢明智的 StackExchange 社区提供的一些好的建议。

问候

4

2 回答 2

2

首先也是最基本的,使用具有应用程序工作所需的最低权限的用户运行 java 应用程序。

其次,设置javaSecurityManager并配置它。

于 2012-05-26T09:43:47.640 回答
1

SJuan76在这里有正确的答案。SecurityManager是限制 java 应用程序可以访问的文件/目录的适当方法。本教程可能是一个很好的设置指南。

您可以限制您的 Java 应用程序侦听的端口。但是限制端口确实需要配置操作系统级别的防火墙。

于 2012-05-26T12:41:24.760 回答