gpt4 book ai didi

security - 将 JMX 限制到本地主机

转载 作者:行者123 更新时间:2023-11-28 21:47:52 25 4
gpt4 key购买 nike

虽然有些文档似乎是关于如何通过各种防火墙和隧道方案公开 JMX,但我有点想要相反的东西。我想确保 JMX 只能由本地机器访问。不幸的是,“开箱即用”管理选项似乎不允许将端口限制到本地接口(interface),netstat 显示它们在任何/所有接口(interface)上监听。

http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html#gdevf

我不得不承认,我对 JMX 中的间接层、RMI 注册表、连接器、适配器等感到困惑。

我只想打开它,然后通过 SSH 建立隧道,而不是将它暴露给世界,然后不得不执行繁重且多余的用户管理和安全配置。如果能够使用内置的 RMI 注册表而不必运行外部注册表,那就太好了。

最佳答案

如果您从本地主机访问,则可以执行 JConsole 和 JVisualVM 在这种情况下所做的操作,即使用 Attach API 查找服务器的仅限本地地址(如果您获得使用 -Dcom.sun.management.jmxremote 但不是 -Dcom.sun.management.jmxremote.port=N) 运行并连接到它。在另一个答案中,Thraidh 说即使在这种情况下也打开了一个远程可访问端口,这在早期版本中是正确的,但已经有几年没有这样了。

Fredrik 的解决方案有效,但有点矫枉过正。您只需要定义一个 RMIServerSocketFactory,而不是 RMISocketFactory(它同时定义了客户端和服务器)。这消除了专门配置客户端的需要。 http://vafer.org/blog/20061010091658 处的代码在我看来是正确的。

使用 -Dcom.sun.management.jmxremote 等命令行属性构建的“开箱即用”管理只能带您走这么远,然后您才需要开始使用 JMX API 本身进行编程。我们通常不愿意让开箱即用的管理演变成一个完整的并行 API,这就是为什么会出现像这样的问题是它无法解决的问题。我们解释了如何从一个到另一个 here .

Éamonn McManus,JMX 规范负责人

关于security - 将 JMX 限制到本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/347056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com