activeMQ安装指引和配置
目录
1、版本选择
2、下载安装
2.1、解压下载好的包
2.2、自定义配置activeMQ
1)开启延时队列
2)设置web控制台
2.3、设置消息后台认证
3、启动activeMQ
4、安全风险项
4.1、版本安全漏洞
4.2、控制身份认证
4.3、消息后台认证
5、部署问题记录
5.1、activeMQ启动无反应
1、版本选择
ActiveMQ存在远程代码执行漏洞, 推荐使用下面安全版本
MQ版本号 | JDK版本 |
5.18.3 | 11+ |
5.17.6 | 11+ |
5.16.7 | 8+ |
5.15.16 | 8+ |
注意:选择版本时要注意JDK和activeMQ的版本。版本不对会有许多小问题存在
漏洞参考地址:阿里云漏洞库
历史版本地址:ActiveMQ
2、下载安装
根据JDK版本和系统,下载对应的安全版本
(需要使用其他版本可以看官网历史版本选择自己需要的:ActiveMQ)
5.16.7版本下载地址:ActiveMQ
2.1、解压下载好的包
下载完成后,解压到工作目录
tar -zxvf apache-activemq-5.16.7-bin.tar.gz
2.2、自定义配置activeMQ
1)开启延时队列
进入activemq的conf目录下找到activemq.xml文件进行编辑,在broker元素里添加
schedulerSupport= "true"
2)设置web控制台
进入activemq的conf目录下找到jetty.xml文件进行编辑,设置访问地址与端口号
搜索关键字:WebConsolePort 可以快速定位到修改位置进行修改
地址建议
本地访问:127.0.0.1
内网访问:内网地址
公网访问:0.0.0.0
设置控制台身份认证用户
进入activemq的conf目录下找到jetty-realm.properties文件进行编辑,设置activeMQ的web控制台登录使用的用户名密码
然后访问设置好的地址和端口,输入用户名和密码访问控制台
2.3、设置消息后台认证
1-)进入conf目录下找到credentials.properties文件进行编辑,设置后台broker访问用户名和密码
activemq.username="your username"
activemq.password="your password"
guest.password=ujdsji(*&YHNBGTRFV
2-)进入conf目录下找到activemq.xml文件进行编辑,将这一段放在broker标签里
<plugins><simpleAuthenticationPlugin><users><authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/></users></simpleAuthenticationPlugin></plugins>
3、启动activeMQ
进入acitivemq文件的bin目录下
./activemq start 启动
./activemq stop 停止
./activemq status 查看状态
4、安全风险项
4.1、版本安全漏洞
Activemq以下版本存在安全漏洞,容易被入侵:
- activemq5.14.0以下版本存在物理路径泄漏漏洞,导致服务器路径信息泄露;
- activemq5.14.0以下版本存在PUT方法导致的任意文件上传和移动漏洞。阿里云漏洞库
- activemq5.13.0以下版本存在反序列化漏洞,可导致任意代码执行。 阿里云漏洞库
- activemq5.14.0 – 5.15.2版本存在信息泄露漏洞,可导致系统关键信息泄露。 阿里云漏洞库
- activemq 5.11.1版本存在路径遍历导致位经身份验证的代码执行漏洞,可导致发任意代码被执行。
建议:
升级到安全版本
4.2、控制身份认证
如果activemq的管理控制台认证未启用,则任意用户可以通过端口访问activemq的控制台,获取系统信息并修改配置,执行命令。
建议:
修改配置文件<activemq_path>/conf/jetty.xml,找到id="securityConstraint"项:<property name="authenticate" value="true" />,将value值修改为"true"。
4.3、消息后台认证
不设置启用activemq的消息后台认证机制,任何知道activemq服务的IP、端口和消息地址的人,都可以接受和发送消息
建议:
/conf/activemq.xml,在broker标签里的标签前加入如下内容:
<simpleAuthenticationPlugin anonymousAccessAllowed="false"> <users> <authenticationUser username="system" password="manager" groups="users,admins"/> <authenticationUser username="user" password="password" groups="users"/> <authenticationUser username="guest" password="password" groups="guests"/> </users>
</simpleAuthenticationPlugin>
4、部署问题记录
4.1、activeMQ启动无反应
下载完解压,进入bin目录正常解压,然后启动
使用 ./activemq status 查看启动状态发现 ActiveMQ not running
然后去查日志,发现没有记录日志文件,最后发现是自己选用的activeMQ版本支持的版本是JDK11+,然后服务器的JDK是8