开发者社区> 问答> 正文

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

正禾 2017-02-15 11:59:22 4148
漏洞描述:
ActiveMQ是目前较为流行的一款开源消息服务器。默认情况下,ActiveMQ服务是没有配置安全参数,恶意人员利用默认配置弱点实现远程命令执行攻击,获取服务器权限,从而导致数据泄露事件发生。


漏洞等级:
高危


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


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


1.强烈建议不要将管理后台开放到互联网上,您可以使用ECS安全组策略做好访问控制,默认策略为拒绝所有通信,根据业务发布情况仅开放需要对外用户提供的服务,并控制好访问源IP。
ECS安全组配置手册
2.ActiveMQ分为web控制台的安全配置和队列/主题服务的访问安全配置:
ActiveMQ web管理控制台安全设置


(1)修改端口号:
ActiveMQ的管理后台 http://localhost:8161/admin 默认用户名密码admin,admin
默认端口8061,采用的JETTY服务器,所以修改端口和密码也是改JETTY的配置jetty.xml、jetty-realm.xml
密码改为weigq 端口改为8191
注意:
<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.
端口部分:
<bean id="Server" class="org.eclipse.jetty.server.Server" init-method="start"
destroy-method="stop">
<property name="connectors">
<list>
<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<property name="port" value="8191" />
</bean>



(2)在修改用户名和密码(用户名改为parry,密码改成parry123)
建议使用十位以上数字+字母+特殊符号的强密码 ;

控制台的登录用户名密码保存在conf/jetty-realm.properties文件中,内容如下:
# username: password [,rolename ...]用户名和密码的格式:
用户名 : 密码 ,角色名


parry: parrYd@#1w%6, admin
user: user, user



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

如果不设置ActiveMQ安全机制的话,任何人如果知道我们的ActiveMQ服务的IP、端口和消息地址,都可以接受和发送消息。
推荐最简单的配置,在conf/activemq.xml文件的broker标签里的<systemUsage>标签前加入如下内容:
<plugins>
    <simpleAuthenticationPlugin>
      <users>
          <authenticationUser username="parry" password="parry123" groups="users,admins"/>
      </users>
    </simpleAuthenticationPlugin>


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

所有配置完毕后重启ActiveMQ服务即可。
提示:为避免数据丢失,升级前请做好备份,或ECS建立硬盘快照。


配置方案有多种,详细可参考: http://activemq.apache.org/security.html


消息中间件 弹性计算 安全 数据安全/隐私保护
分享到
取消 提交回答
全部回答(0)
+ 订阅

云安全开发者的大本营

推荐文章
相似问题
推荐课程