Мы запускаем крупное распределенное приложение, предоставляемое поставщиком, и недавно обнаружили, что многие из их процессов используют JMX на случайных портах. JMX-доступ полностью незащищен, действительно, мне удалось подключиться с помощью jconsole
работала на моем рабочем столе и могла изменять уровни ведения журнала и создавать дампы виртуальных машин.
Кража данных (вероятно!) Невозможна, но отказ в обслуживании представляет собой потенциальную угрозу ...
Обсуждение с техподдержкой производителя показало, что:
Собственная документация JMX описывает управление доступом на основе пользователи - но реализация этого нарушит функциональность приложения, потому что его различные части не смогут общаться друг с другом.
Можно ли настроить JMX на прием соединений только с определенных IP-адресов вместо того, чтобы полагаться на учетные записи пользователей?
Обновить: кажется, можно предоставить собственный класс для аутентификации и авторизации на основе JAAS. Есть ли JAAS-реализация, принимающая решения на основе IP-адресов, или нам придется реализовать свою?