使用文件系统运行本地Java应用程序&港口限制

时间:2012-05-26 09:41:49

标签: java security

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

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

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

  3. 有办法做到这一点吗?我搜索过Java Security&政策但没有接近解决方案。

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

    这是一个我们即将开始的开源项目,从明智的StackExchange社区中获得一些好的建议。

    问候

2 个答案:

答案 0 :(得分:2)

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

其次,设置java SecurityManager并配置它。

答案 1 :(得分:1)

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

您可以限制java app监听的端口。但是限制端口确实需要配置操作系统级别的防火墙。