Возможно ли иметь брандмауэр вокруг приложений? - PullRequest
3 голосов
/ 01 февраля 2012

Я хочу разместить у себя игру под названием Minecraft и позволить людям загружать свои собственные Java JAR.
Теперь я хочу ограничить их определенным диапазоном портов.
Поскольку запуск всех JVM в виртуальных блоках является излишним, мы просто стекаемих, но как я могу запретить пользователю использовать порт по умолчанию?
Может быть, что-то с javaagent в строке запуска?

РЕДАКТИРОВАТЬ:
Это будет хороший пример кода?System.setSecurityManager(...); // invoke the jar with a URLClassLoader

Ответы [ 3 ]

3 голосов
/ 01 февраля 2012

Я думаю, что вы на самом деле ищете песочницу, а не брандмауэр. Диспетчер безопасности java позволяет вам делать подобные вещи с помощью политик.

3 голосов
/ 01 февраля 2012

Вы должны иметь возможность изменить политику безопасности для JVM, чтобы ограничить доступ к сети.Некоторая информация здесь: http://docs.oracle.com/javase/1.4.2/docs/guide/security/permissions.html#SocketPermission

0 голосов
/ 01 февраля 2012

А как насчет других проблем безопасности, таких как доступ к файловой системе? Похоже, вам нужна ограниченная виртуальная машина, как апплет в браузере ( Менеджеры безопасности апплета ).

...