问题描述
Java Management Extensions(JMX)是Java平台的一种管理和监控扩展,允许应用程序和系统在运行时进行管理和监控。JMX支持两种连接方式:本地连接和远程连接。本地连接是指在运行JMX代理的本地机器上进行连接,而远程连接则是允许通过网络从其他计算机连接到JMX代理。 默认情况下,JMX代理在Java进程中启用了远程连接功能,并且没有进行适当的安全配置。这就意味着攻击者可以通过远程连接的方式,直接访问Java应用程序的JMX代理,而无需进行任何认证授权。攻击者可以连接并执行一些敏感或危险的操作,例如: 1. 获取敏感信息:攻击者可以通过JMX代理获取目标应用程序的运行时信息,包括内存使用情况、线程堆栈信息、配置参数等。 2. 修改运行时参数:攻击者可能会修改应用程序的运行时参数,导致应用程序行为异常,甚至拒绝服务。 3. 执行代码:如果攻击者获得了足够的权限,他们可能会通过JMX代理执行任意Java代码,这可能导致系统被入侵或者远程控制。 4. 拒绝服务攻击:攻击者可以通过远程连接,大量请求目标应用程序的JMX代理,导致系统资源耗尽,造成拒绝服务情况。
原因分析:
查到对应运行端口发现来至Mycat,查看wrapper.conf 配置信息
解决方案:
查询资料,设置-Dcom.sun.management.jmxremote=false,尝试后无效。修改方式,查找conf中的server.xml文件,在system对中添加配置,重启生效。
<property name="jmxEnable" value="false"/>
或者
<property name="jmxEnable">false</property>