ActiveMQ默认口令(密码)漏洞修复

前言

 

      ActiveMQ全称为Apache ActiveMQ,是Apache软件基金会所研发的开放源代码消息中间件,在GeoSmarter产品中主要要来作为监控模块的消息队列使用。软件提供了登录后台、生产消息、消费消息的密码验证功能,并存在默认密码。

ActiveMQ默认密码

 

      ActiveMQ软件默认情况下是没有配置安全参数。攻击者可以利用默认配置弱点发动远程命令执行攻击,获取服务器权限,从而导致数据泄露。

修复方式

  • ActiveMQ web管理控制台安全设置

ActiveMQ管理后台的默认用户名和密码都是admin,默认端口为8061。ActiveMQ采用的是JETTY服务器,所以修密码也是修改JETTY的配置(jetty.xml、jetty-realm.properties)。

jetty.xml:


<bean id="securityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<property name="name" value="BASIC" />
<property name="roles" value="admin" />
<property name="authenticate" value="true" />
</bean>

注意:第三个属性authenticate需要设置为true。

jetty-realm.properties:


# Defines users that can access the web (console, demo, etc.)
# username: password [,rolename ...]
admin: 你的密码, admin
user: user, user

如果现场只是要求修改登录密码,到这儿你已经可以重启ActiveMQ的容器了。

  • 设置连接ActiveMQ的用户名和密码

如果不设置ActiveMQ安全机制,任何知道ActiveMQ服务的IP、端口和消息地址的人,都可以接受和发送消息。推荐您使用以下简单配置,在conf/activemq.xml文件broker标签里的systemUsage标签前加入如下内容:

<plugins>
  <simpleAuthenticationPlugin>
    <users>
        <authenticationUser username="admin" password="你的密码" groups="users,admins"/>
    </users>
  </simpleAuthenticationPlugin>
</plugins>
 
注意:必须要在标签前,否则ActiveMQ服务重启会报错。
 
所有配置完毕后重启ActiveMQ服务。
posted @ 2024-02-22 10:57  陶清刚  阅读(1042)  评论(0)    收藏  举报