【问题标题】:JMX: How can I support both secure and insecure access at the same time (different URLs)JMX:如何同时支持安全和不安全访问(不同的 URL)
【发布时间】:2014-08-11 18:57:04
【问题描述】:

有人要求我支持 2 个 URL 来让 JMX 访问我们的服务器:

一个安全的(服务:jmx:rmi://localhost/jndi/rmi://localhost:2020/jmxrmi) 一个不安全的:(service:jmx:rmi://localhost/jndi/rmi://localhost:2020/insecure-jmxrmi)

不安全的主要用于演示目的 - 不会在生产期间使用。

我可以为 /jmxrmi 创建一个自定义连接器服务器,并提供一个拦截器来使用我们的安全机制来验证凭据。但是,如果我只是创建一个普通的第二个 ConnectorServer(没有“env”属性),那么使用 jconsole -debug 访问它最初会尝试安全访问,并提出有关该失败的对话框,然后询问我是否想不安全地尝试它。

我从 Oracle/Sun 阅读的文档表明我可以使用几个命令行 -D 开关禁用密码验证和 SSL。但这不会影响 /jmxrmi 安全访问吗?

如何同时支持安全和非安全连接?请注意,我当然不需要它们使用相同的 URL。

谢谢!

【问题讨论】:

    标签: security rmi jmx


    【解决方案1】:

    这是一个艰难的过程。当您禁用身份验证和 SSL 时,您会根据 JVM 执行此操作。

    JMXRMP 协议无法区分安全连接和非安全连接。您可以设置安全性,它是否会被使用。我认为最好的办法是使用自定义的 ConnectorServer 并忍受 JConsole 产生的消息。

    【讨论】:

    • 一个与此相关的问题:您如何看待通过 -D 开关禁用身份验证和 SSL、创建标准 ConnectorServer(为非身份验证 URL 提供服务),然后使用SslRMIServerSocketFactory 和 SslRMIClientSocketFactory 强制在安全 URL 上使用 SSL?我要试试,我只是想知道你是否听说过有人让它工作?
    猜你喜欢
    • 1970-01-01
    • 2018-01-16
    • 2011-06-02
    • 2016-11-12
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 2016-12-27
    • 1970-01-01
    相关资源
    最近更新 更多