2014-11-19 2 views
1

Я создаю панель управления Minecraft, в которой участники могут запускать свои собственные файлы jar на наших серверах, которые могут иметь потенциально опасные последствия для нашего оборудования.Менеджер безопасности Java: укажите Jar-файл в JVM Args

Я хотел бы установить файл jar (код java), который будет менеджером безопасности. Я хотел бы сделать это, чтобы я мог предотвратить некоторые операции, например. только 1 сокет на 1 IP, чтобы они не использовали его для атаки на отказ в обслуживании.

Я знаю, что есть файл java.policy, но это не «умный», чтобы позволить вам выполнять некоторые из операций, которые я хотел бы сделать.

Я знаю, что вы можете переопределить менеджера безопасности, но тогда класс будет загружен в пределах одной JVM, а другой вредоносный код может переопределить этого менеджера.

Мой вопрос к вам, как я могу сделать менеджером безопасности, который ни один из них не может повлиять на код.

ответ

0

Я знаю, что есть файл java.policy, но это не является «умным», чтобы позволить вам выполнять некоторые из операций, которые я хотел бы сделать.

Если вы управляете командной строкой, укажите только java -Djava.security.manager .... Если вы не контролируете командную строку, принять контроль над ним. Или возьмите управление JVM и вызовите System.setSecurityManager(new SecurityManager());, прежде чем он сделает что-нибудь еще, например, запуская файлы JAR клиента.

Я знаю, что вы можете переопределить менеджера безопасности, но тогда класс будет загружен в пределах одной JVM, а другой вредоносный код может переопределить этот менеджер.

Не уверен, что это означает. После установки менеджера безопасности его нельзя заменить.

+0

Спасибо за ответ. Isnt -Djava.security.manager только для файла java.policy? Или вы можете разместить файл jar для диспетчера безопасности –

Смежные вопросы