全部产品
云市场

【漏洞公告】ActiveMQ未授权访问漏洞及加固

更新时间:2018-03-08 18:03:14

漏洞描述

ActiveMQ是一款流行的开源消息服务器。默认情况下,ActiveMQ服务是没有配置安全参数。恶意人员可以利用默认配置弱点发动远程命令执行攻击,获取服务器权限,从而导致数据泄露。

漏洞等级

高危

漏洞利用方式

黑客可以直接在互联网远程利用获取服务器权限。

漏洞修复方案

ActiveMQ的安全配置分为控制台安全配置和后台安全配置。控制台安全配置是指用户通过浏览器登录ActiveMQ管理界面,对ActiveMQ进行管理的一个安全配置;主要是添加用户和密码。后台安全配置是指程序通过ActiveMQ发送消息的一个安全配置。

  • 强烈建议您不要将管理后台开放到互联网上。您可以使用ECS安全组策略做好访问控制,默认策略为拒绝所有通信,根据业务发布情况仅开放需要对外用户提供的服务,并控制好访问源IP。

  • 为ActiveMQ分别配置Web控制台的安全配置和队列/主题服务的访问安全配置。

    注意:为避免数据丢失,升级前请做好备份,或ECS建立硬盘快照。

    ActiveMQ web管理控制台安全设置

    1. 修改端口号(将密码改为weigq,端口改为8191)。

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

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

      注意:第三个属性authenticate要为true.

      端口部分:

      1. <bean id="Server" class="org.eclipse.jetty.server.Server" init-method="start"
      2. destroy-method="stop">
      3. <property name="connectors">
      4. <list>
      5. <bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
      6. <property name="port" value="8191" />
      7. </bean>
    2. 再次修改用户名和密码(用户名改为parry,密码改成parry123)。建议使用十位以上数字+字母+特殊符号的强密码。控制台的登录用户名密码保存在conf/jetty-realm.properties文件中,内容如下:

      1. parry: parrYd@#1w%6, admin
      2. user: user, user
      3. ## 用户名和密码的格式:username: password, [rolename ...]

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

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

    1. <plugins>
    2. <simpleAuthenticationPlugin>
    3. <users>
    4. <authenticationUser username="parry" password="parry123" groups="users,admins"/>
    5. </users>
    6. </simpleAuthenticationPlugin>

    注意:必须要在标签前,否则ActiveMQ服务重启会报错。

    所有配置完毕后重启ActiveMQ服务。

    更多配置方案,可参考:http://activemq.apache.org/security.html

  • 使用云盾态势感知来检测和防护该漏洞。