Как ограничить доступ к JMX только определенными IP-адресами? - PullRequest
1 голос
/ 26 марта 2020

Я не хочу беспокоиться о SSL и паролях каждый раз, но все же не хочу, чтобы функциональность JMX моей программы была доступна другим в локальной сети.

Я заполнил свой ~/.java.policy таким образом:

grant principal javax.management.remote.JMXPrincipal "*" {
    permission java.net.SocketPermission "127.0.0.1", "accept";
    permission java.net.SocketPermission "my.lan.ip.addr", "accept";
    permission java.net.SocketPermission "another.lan.ip.addr", "accept";
    permission java.net.SocketPermission "*", "resolve";
}

К сожалению, это, похоже, не дает эффекта - когда программа запускается с:

  • -Djava.security.manager
  • -Dcom.sun.management.jmxremote.ssl=false
  • -Dcom.sun.management.jmxremote.authenticate=false
  • -Dcom.sun.management.jmxremote
  • -Dcom.sun.management.jmxremote.port=1234

его функциональность JMX остается доступной с везде , а не только с перечисленные несколько IP-адресов.

Как это сделать правильно? Спасибо!

...