ActiveMQ 5.2的安全性配置

阅读: 评论:0

ActiveMQ 5.2的安全性配置

ActiveMQ 5.2的安全性配置

最近在研究activeMQ,在按照官网的例子和一些资料写了些小实例,并打算用它来进行发送邮件使用,使用的过程中涉及到了安全性的问题,我本是用的最新版本activemq 5.3.2但是按照官网的资料,对这个版本的安全性配置提及很少,倒是没有出来的版本5.4.0里面的配置涉及到了,下载了一个5.4.0后发现果然配置起来相当简单。但是考虑到其还未发布,因此我对低一点版本的5.2.0进行了一个配置. 

下文为ActiveMQ5.2配置的过程。  
参考:.html 


一、JMS服务安全性 

1.打开l,在<broker></broker>中增加 

<plugins> 
      <!--  use JAAS to authenticate using fig file on the classpath to configure JAAS --> 
      <jaasAuthenticationPlugin configuration="activemq-domain" /> 

      <!--  lets configure a destination based authorization mechanism --> 
      <authorizationPlugin> 
        <map> 
          <authorizationMap> 
            <authorizationEntries> 
              <authorizationEntry queue=">" read="admins" write="admins" admin="admins" /> 
              <authorizationEntry queue="USERS.>" read="users" write="users" admin="users" /> 
              <authorizationEntry queue="GUEST.>" read="guests" write="guests,users" admin="guests,users" /> 
              
              <authorizationEntry topic=">" read="admins" write="admins" admin="admins" /> 
              <authorizationEntry topic="USERS.>" read="users" write="users" admin="users" /> 
              <authorizationEntry topic="GUEST.>" read="guests" write="guests,users" admin="guests,users" /> 
              
              <authorizationEntry topic="ActiveMQ.Advisory.>" read="guests,users" write="guests,users" admin="guests,users"/> 
            </authorizationEntries> 
                       
          </authorizationMap> 
        </map> 
      </authorizationPlugin> 
    </plugins> 


2.在conf目录下增加 fig、groups.properties、users.properties 
fig文件  内容如下: 

activemq-domain { 
        org.apache.activemq.jaas.PropertiesLoginModule required 
        debug=true 
        org.apache.activemq.jaas.properties.user="users.properties" 
        org.apache.activemq.up="groups.properties"; 
}; 

groups.properties文件  内容如下: 
admins=system 

users.properties文件  内容如下: 
system=manager 

添加用户在users.properties文件下,group.properties为用户分组使用。 
做好了如上的设置以后,程序再访问activeMQ的话就需要使用用户名和密码了。 


二、管理控制台安全性 

ActiveMQ缺省的管理是通过内置的jetty服务器,只要在浏览器中输入localhost:8161/admin,不需要登录,就可以对队列、主题及消息等进行管理,可以想象这非常不安全。 
那么要解决管理控制台的安全性,除了通过修改管理端口号以及应用名称之外,最关键的也是需要进行配置,必须通过身份认证才能登录。 
本文要说的方式主要是在不改变内置jetty的方式下,通过配置基本认证的方式来实现安全登录。 


1.在l中找到  <jetty xmlns=".0">,增加realm设置 
   <userRealms> 
       <jaasUserRealm name="adminRealm" loginModuleName="adminLoginModule"> 
      </jaasUserRealm> 
   </userRealms> 


   
2.在fig增加如下配置: 

adminLoginModule { 
       bay.jetty.plus.jaas.spi.PropertyFileLoginModule required 
       debug="true" 
       file="${activemq.base}/conf/realm.properties"; 
   }; 


3.在conf中增加realm.properties文件,内容如下: 
# 用户名:密码,角色 
system:MD5:1d0258c2440a8d19e716292b231e3190,admins 


4.把 jetty-plus-6.1.9.jar 放到 ${activemq.base}/lib/web/中 

5.通过命令:java -cp jetty-6.1.9.jar;jetty-util-6.1.9.bay.jetty.security.Password system manager  可以修改密码的md5 

6.打开webapps/admin/l,增加如下配置: 
  
   <security-constraint> 
       <web-resource-collection> 
           <web-resource-name>adminRealm</web-resource-name> 
           <url-pattern>/*</url-pattern> 
       </web-resource-collection> 
       <auth-constraint> 
           <role-name>admins</role-name> 
       </auth-constraint> 
   </security-constraint> 
   <login-config> 
       <auth-method>BASIC</auth-method> 
       <realm-name>adminRealm</realm-name> 
   </login-config> 

7.修改${activemq.base}/bin/activemq文件  找到ACTIVEMQ_OPTS,在后面追加: 
%ACTIVEMQ_OPTS% %SUNJMX% %SSL_OPTS%  -Djava.security.fig=%ACTIVEMQ_BASE%/fig 

配置完成后,当访问localhost:8161/admin/时,将会弹出窗口以让用户输入登录帐号和密码。 


期待5.4.0的发布,按照我下载的5.4.0,其配置远远简单了,只要修改l的一个 
<property name="authenticate" value="true" /> 
即可,很简单.html上有介绍。 不过郁闷的是5.3.2没配置出来。

本文发布于:2024-01-27 17:13:16,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063467941587.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:安全性   ActiveMQ
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23