解决“未经身份验证的远程用户可以访问 HttpAdaptor JMXInvokerServlet”漏洞

解决“未经身份验证的远程用户可以访问 HttpAdaptor JMXInvokerServlet”漏洞

最近,我们的安全信息团队发现我们的一个系统存在漏洞。

漏洞描述:

未经身份验证的远程用户可以访问 JBoss HttpAdaptor JMXInvokerServlet

谷歌搜索没有找到太多信息。我们该如何解决这个问题?

答案1

JBoss 附带多个管理访问点,需要保护或删除这些访问点,以防止未经授权访问部署中的管理功能。以下部分介绍了各种管理服务及其保护方法。

jmx-控制台.war服务

deploy 目录中的 jmx-console.war 提供了 JMX 微内核的 HTML 视图。因此,它提供了对任意管理类型访问权限的访问,例如关闭服务器、停止服务、部署新服务等。它应该像任何其他 Web 应用程序一样受到保护或被删除。

web 控制台.war服务

deploy/management 目录中的 web-console.war 是 JMX 微内核中的另一个 Web 应用程序视图。它结合使用小程序和 HTML 视图,并提供与 jmx-console.war 相同级别的管理功能访问权限。因此,应对其进行保护或删除。web-console.war 在其 WEB-INF/web.xml 中包含注释掉的基本安全模板,以及 WEB-INF/jboss-web.xml 中包含注释掉的安全域设置。

http-调用程序.sar服务

部署目录中的 http-invoker.sar 是一种为 EJB 和 JNDI 命名服务提供 RMI/HTTP 访问的服务。它包括一个 servlet,用于处理编组的 org.jboss.invocation.Invocation 对象的帖子,这些对象表示应分派到 MBeanServer 上的调用。这实际上允许通过 HTTP 访问支持分离调用程序操作的 MBean,因为有人可以弄清楚如何格式化适当的 HTTP 帖子。要保护此访问点,您需要保护 http-invoker.sar/invoker.war/WEB-INF/web.xml 描述符中的 JMXInvokerServlet servlet。默认情况下,为 /restricted/ JMXInvokerServlet 路径定义了安全映射;要使用它,您只需删除其他路径并在 http-invoker.sar/invoker.war/WEB-INF/jboss-web.xml 描述符中配置 http-invoker 安全域设置。

jmx-invoker-适配器-服务器.sar服务

jmx-invoker-adaptor-server.sar 是一种服务,它使用 RMI/JRMP 分离调用程序服务,通过 RMI 兼容接口公开 JMX MBeanServer 接口。目前,保护此服务的唯一方法是将协议切换到 RMI/HTTP,并按照上一节所述保护 http-invoker.sar。将来,此服务将部署为 XMBean,并带有支持基于角色的访问检查的安全拦截器。如果您愿意,可以按照“版本 3:向 JNDIMap XMBean 添加安全性和远程访问“ 在第2章,“JBoss JMX 微内核。”

相关内容