6.2.2. 配置 JMX 管理访问


出于安全原因,默认禁用对代理的远程 JMX 访问。但是,AMQ 代理有一个 JMX 代理,允许远程访问 JMX MBeans。您可以通过在代理 management.xml 配置文件中配置连接器元素来启用 JMX 访问。

注意

虽然也可以使用 'com.sun.management.jmxremote ' JVM 系统属性启用 JMX 访问,但这种方法不受支持且不安全。修改 JVM 系统属性可以绕过代理上的 RBAC。为最大程度降低安全风险,请考虑对本地主机进行有限访问。

重要

公开代理的 JMX 代理以进行远程管理具有安全隐患。

保护您的配置,如以下流程所述:

  • 将 SSL 用于所有连接。
  • 明确定义连接器主机,即用于公开代理的主机和端口。
  • 显式定义 RMI(Remote Method Invocation)registry 绑定到的端口。

先决条件

  • 正常工作的代理实例
  • Java jconsole 工具

流程

  1. 打开 <broker-instance-dir>/etc/management.xml 配置文件。
  2. 为 JMX 代理定义连接器。connector-port 设置建立一个 RMI 注册表,供 JMX 连接器服务器的 jconsole 查询等客户端创建。例如,允许在端口 1099 上进行远程访问:

    <connector connector-port="1099"/>
  3. 使用 jconsole 验证与 JMX 代理的连接

    service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
  4. 定义连接器的其他属性,如下所述。

    connector-host
    要在其上公开代理的代理服务器主机。要防止远程访问,请将 connector -host 设置为 127.0.0.1 (本地主机)。
    rmi-registry-port
    JMX RMI 连接器服务器绑定到的端口。如果没有设置,端口始终是随机的。设置此属性以避免通过防火墙隧道远程 JMX 连接时出现问题。
    jmx-realm
    用于身份验证的 JMX 域.默认值是 activemq,以匹配 JAAS 配置。
    object-name
    要公开远程连接器的对象名称。默认值为 connector :name=rmi
    已保护
    指定连接器是否使用 SSL 保护。默认值为 false。将值设为 true 以确保通信安全。
    key-store-path
    密钥存储的位置.如果您设置了 secure ="true",则需要此项。
    key-store-password
    密钥存储密码.如果您设置了 secure ="true",则需要此项。密码可以加密。
    key-store-provider
    密钥存储提供程序.如果您设置了 secure ="true",则需要此项。默认值为 JKS
    trust-store-path
    信任存储的位置。如果您设置了 secure ="true",则需要此项。
    trust-store-password
    信任存储密码.如果您设置了 secure ="true",则需要此项。密码可以加密。
    trust-store-provider
    信任存储提供程序.如果您设置了 secure ="true",则需要此项。默认值为 JKS
    password-codec
    要使用的密码 codec 的完全限定类名称。更多相关信息,请参阅以下链接的密码屏蔽文档。
  5. 按照 Java 平台文档 中所述,使用 jdk.serialFilter 为端点序列化设置适当的值。

其它资源

  • 有关配置文件中加密密码的更多信息,请参阅配置文件 中的加密密码
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.