MQ安全访问
- 格式:pdf
- 大小:233.49 KB
- 文档页数:9
一、RabbitMQ密码重置的重要性RabbitMQ是一个开源的消息代理软件,它使用 AMQP(高级消息队列协议)进行消息传递。
在实际应用中,我们通常需要对RabbitMQ 进行密码设置和管理,以保证系统的安全性。
密码的设置和重置是至关重要的。
二、RabbitMQ密码的设置1. 如果是首次安装RabbitMQ,首先需要设置默认的用户名和密码。
在安装完成后,登入到RabbitMQ后台管理界面,使用默认的用户名和密码(通常为guest/guest)登入,然后在用户管理页面修改默认密码,并创建新的用户。
2. 在生产环境中,建议使用长且复杂的密码,并定期更换密码,以增加系统的安全性。
三、RabbitMQ密码重置的注意事项1. 忘记密码的情况下,可以通过以下步骤来进行密码重置:- 进入RabbitMQ服务器所在的机器,找到RabbitMQ的安装目录 - 找到`rabbitmq.config`文件,通常位于`/etc/rabbitmq/`目录下 - 在`rabbitmq.config`文件中添加一行配置:`{default_user, [{login, "your_login"}, {password, "your_new_password"}]}.`- 保存并退出文件,然后重启RabbitMQ服务- 使用新的用户名和密码登入RabbitMQ后台管理界面2. 在进行密码重置时,需要确保对服务器有足够的权限,并且备份好重要的数据,以免因操作失误导致数据丢失或系统崩溃。
3. 在设置新的密码时,应该遵循密码策略,确保密码的安全性。
四、总结RabbitMQ密码的设置和重置是保障系统安全的重要环节。
在日常运维和管理中,需要严格遵守密码设置和重置的注意事项,确保系统的安全稳定运行。
我们也应该定期审查密码策略,及时更新密码,以应对潜在的安全风险。
五、密码安全策略的制定1. 随着网络安全威胁的不断增加,密码管理已经成为信息安全的重要组成部分。
rabbitmq authentication认证类型在RabbitMQ中,认证是指验证用户或应用程序是否具有访问RabbitMQ服务的权限。
RabbitMQ提供了各种不同的认证类型,以满足不同安全需求的场景。
下面将介绍几种常见的RabbitMQ认证类型。
1. PLAIN认证类型PLAIN认证类型是RabbitMQ的默认认证类型,它基于明文传输认证。
在使用PLAIN认证类型时,用户客户端需要提供用户名和密码来进行认证。
RabbitMQ将验证提供的用户名和密码是否正确,并授予相应的权限。
2. LDAP认证类型RabbitMQ支持通过Lightweight Directory Access Protocol (LDAP)进行认证。
LDAP是一种用于访问分布式目录服务的协议,可以将用户数据存储在目录中。
通过配置RabbitMQ的LDAP认证类型,可以使用LDAP服务器进行认证。
这种方式可以与现有的企业LDAP目录进行集成,实现单一认证。
3. SSL认证类型SSL(Secure Sockets Layer)认证类型使用SSL/TLS协议对客户端和服务器之间的通信进行加密和认证。
客户端需要提供包含客户端证书的证书链,RabbitMQ 则验证客户端证书的有效性和授权。
这种认证类型可以确保通信过程中的安全性和可靠性。
4. OAUTH2认证类型RabbitMQ支持使用OAuth 2.0(Open Authorization)进行认证。
OAuth 2.0是一个用于授权的开放标准,通常用于第三方应用程序的认证。
通过配置RabbitMQ 的OAUTH2认证类型,可以使用OAuth 2.0服务器进行认证。
这种方式适用于允许用户使用第三方应用程序访问RabbitMQ的情况。
5. EXTERNAL认证类型EXTERNAL认证类型基于客户端证书,可以在没有额外用户名和密码的情况下,使用客户端证书来进行认证。
RabbitMQ验证客户端提供的证书的有效性和授权,并根据证书中包含的信息对其进行鉴权。
MQ的使用流程1. 介绍消息队列(Message Queue)是一种常用的应用间通信方式,它可以解决消息传递时的一些问题,例如异步处理、解耦合等。
在系统架构中,消息队列常用于解耦合的场景,提高系统的扩展性和可靠性。
2. 安装使用MQ前,需要先进行安装和配置。
2.1 安装MQ软件MQ软件有多种选择,例如Apache Kafka、RabbitMQ、ActiveMQ等。
根据实际需求选择适合的MQ软件,并按照官方文档进行安装。
2.2 配置MQ在安装完MQ软件后,需要进行一些配置。
配置主要包括监听地址、端口号、认证方式等。
根据具体的MQ软件和需求,按照官方文档进行配置。
3. 创建消息队列创建消息队列是MQ的核心操作,在创建消息队列之前,需要明确消息的发送方和接收方。
3.1 定义消息格式在创建消息队列前,需要定义消息的格式。
消息的格式可以是JSON、XML或自定义格式等。
3.2 创建发送方发送方负责将消息发送到消息队列。
创建发送方时,需要指定消息队列的名称和其他相关信息。
3.3 创建接收方接收方负责从消息队列中接收消息。
创建接收方时,需要指定要接收的消息队列的名称和其他相关信息。
4. 发送消息发送消息是MQ的一项重要功能。
4.1 准备消息数据在发送消息之前,需要准备好要发送的消息数据。
根据消息的格式,按照相应的规则准备消息数据。
4.2 将消息发送到消息队列通过发送方将消息发送到消息队列。
发送方将消息发送到消息队列后,消息会被暂存于消息队列中,等待接收方的接收。
5. 接收消息接收消息是MQ的另一重要功能。
接收方需要及时从消息队列中获取消息。
5.1 从消息队列中获取消息接收方通过获取消息队列中的消息来接收消息。
接收方从消息队列中获取消息后,可以对消息进行处理。
5.2 处理消息接收方可以根据需要对接收到的消息进行处理。
处理方式可以是解析消息、存储消息至数据库、触发其他操作等。
6. 完成通过以上的步骤,MQ的使用流程已完成。
RabbitMQ添加新⽤户并⽀持远程访问第⼀步:添加 mq ⽤户并设置密码C:\Users\80002345>rabbitmqctl add_user mq 123456Adding user "mq" ...第⼆步:添加 mq ⽤户为administrator⾓⾊C:\Users\80002345>rabbitmqctl set_user_tags mq administratorSetting tags for user "mq" to [administrator] ...查看⽤户列表C:\Users\80002345>rabbitmqctl list_usersListing users ...user tagsmq [administrator]guest [administrator]第三步:设置 mq ⽤户的权限,指定允许访问的vhost以及write/readC:\Users\80002345>rabbitmqctl set_permissions -p "/" mq ".*" ".*" ".*"Setting permissions for user "mq" in vhost "/" ...第四步:查看vhost(/)允许哪些⽤户访问C:\Users\80002345> rabbitmqctl list_permissions -p /Listing permissions for vhost "/" ...user configure write readmq .* .* .*guest .* .* .*第五步:配置允许远程访问的⽤户,rabbitmq的guest⽤户默认不允许远程主机访问。
二十八种未授权访问漏洞合集建议收藏展开全文作者:LuckySec链接:/posts/15dff4d3.html这篇文章主要收集一些常见的未授权访问漏洞。
未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷导致其他用户可以直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。
0x01 未授权漏洞预览••••••••••••••••••••••••••••Active MQ 未授权访问Atlassian Crowd 未授权访问CouchDB 未授权访问Docker 未授权访问Dubbo 未授权访问Druid 未授权访问Elasticsearch 未授权访问FTP 未授权访问Hadoop 未授权访问JBoss 未授权访问Jenkins 未授权访问Jupyter Notebook 未授权访问Kibana 未授权访问Kubernetes Api Server 未授权访问LDAP 未授权访问MongoDB 未授权访问Memcached 未授权访问NFS 未授权访问Rsync 未授权访问Redis 未授权访问RabbitMQ 未授权访问Solr 未授权访问Spring Boot Actuator 未授权访问Spark 未授权访问VNC 未授权访问Weblogic 未授权访问ZooKeeper 未授权访问Zabbix 未授权访问0x02 Active MQ 未授权访问1. 漏洞简介ActiveMQ 是一款流行的开源消息服务器。
默认情况下,ActiveMQ 服务是没有配置安全参数。
恶意人员可以利用默认配置弱点发动远程命令执行攻击,获取服务器权限,从而导致数据泄露。
2.漏洞检测默认端口:8161默认密码:admin/admin3.漏洞修复•针对未授权访问,可修改conf/jetty.xml文件,bean id为securityConstraint下的authenticate修改值为true,重启服务即可。
mq的使用场景和步骤MQ(Message Queue)是一种异步通信模式,在分布式系统中被广泛应用。
它将消息从一个应用程序传递到另一个应用程序,可以解耦应用程序之间的直接依赖关系。
MQ的使用场景:1. 异步任务处理:可以将耗时的任务放在消息队列中处理,提高系统的并发能力和响应速度。
2. 应用解耦:不同的应用之间可以通过消息队列进行解耦,提高系统的可伸缩性和可维护性。
3. 数据同步:可以将不同系统之间的数据同步操作通过消息队列进行异步处理。
4. 流量削峰:在大并发请求下,可以通过消息队列来控制系统的流量,避免系统崩溃或过载。
5. 日志处理:将日志消息发送到消息队列,然后通过消费者处理和存储,以降低日志系统的压力。
MQ的使用步骤:1. 安装和配置MQ系统:选择适合自己系统的MQ软件,如RabbitMQ、Kafka等,并进行相应的安装和配置。
2. 创建消息队列:在MQ系统中创建一个或多个消息队列,用于存储消息。
3. 发送消息:生产者将要发送的消息发送到消息队列中。
4. 接收消息:消费者监听(或订阅)消息队列,当有消息到达时,消费者接收并处理消息。
5. 处理消息:消费者处理接收到的消息,根据业务需求进行相应的处理逻辑。
6. 确认消息:当消费者成功处理一条消息后,向MQ系统发送确认消息,表示这条消息已经被处理完成。
7. 监控和调优:根据实际情况监控MQ的性能指标,进行性能调优以提高系统的稳定性和可靠性。
需要注意的是,不同的MQ系统可能会有一些细微的差别,具体的使用步骤可能会有所不同。
因此,在使用特定MQ系统之前,应该详细了解该MQ系统的使用文档和实践经验。
SpringBootActiveMQ如何设置访问密码Apache ActiveMQ是Apache出品,是最流⾏的,能⼒很强的开源消息总线。
默认情况下,程序连接ActiveMQ是不需要密码的,为了安装起见,需要设置密码,提⾼安全性。
本⽂分享如何设置访问ActiveMQ的账号密码。
⼩编使⽤的ActiveMQ版本是apache-activemq-5.15.13。
⼀、设置控制台管理密码ActiveMQ使⽤的是jetty服务器,找到 ActiveMQ安装⽬录下的\conf\jetty.xml⽂件:<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint"><property name="name" value="BASIC" /><property name="roles" value="admin" /><!-- set authenticate=false to disable login --><property name="authenticate" value="true" /></bean>注意:authenticate的属性默认为"true",登录管理界⾯时需要输⼊账户和密码;如果是“false”,需要改为"true"。
修改管理界⾯登录时的⽤户名和密码,在conf/jetty-realm.properties⽂件中添加⽤户## ---------------------------------------------------------------------------## Licensed to the Apache Software Foundation (ASF) under one or more## contributor license agreements. See the NOTICE file distributed with## this work for additional information regarding copyright ownership.## The ASF licenses this file to You under the Apache License, Version 2.0## (the "License"); you may not use this file except in compliance with## the License. You may obtain a copy of the License at#### /licenses/LICENSE-2.0#### Unless required by applicable law or agreed to in writing, software## distributed under the License is distributed on an "AS IS" BASIS,## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.## See the License for the specific language governing permissions and## limitations under the License.## ---------------------------------------------------------------------------# Defines users that can access the web (console, demo, etc.)# username: password [,rolename ...]# admin: admin, admin# user: user, userwiener: wiener1237, admin配置信息按顺序解释,分别是:⽤户名、密码、⾓⾊名⼆、消息⽣产者和消费者密码认证在\conf\activemq.xml中broker 标签最后添加⽣产者和消费者密码认证信息:<!-- destroy the spring context on shutdown to stop jetty --><shutdownHooks><bean xmlns="/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /></shutdownHooks><!-- add plugins --><plugins><simpleAuthenticationPlugin><users><authenticationUser username="${ername}" password="${activemq.password}" groups="users,admins"/></users></simpleAuthenticationPlugin></plugins></broker>ername和activemq.password的值在⽂件credentials.properties中配置,见如下步骤。
mq 默认管理路径MQ(消息队列)是一种常用的软件架构模式,用于实现异步通信和解耦系统组件。
在分布式系统中,不同的组件之间需要进行通信,但直接的同步通信方式会导致系统耦合度过高,难以维护和扩展。
而MQ则通过引入消息中间件来解决这个问题,它将消息发送者和接收者解耦,使得它们不需要直接通信,而是通过发送和接收消息来实现通信。
默认情况下,MQ的管理路径是指消息队列的默认地址,用于管理和监控MQ的运行状态。
下面将从MQ管理路径的配置、作用和使用等方面进行详细介绍。
MQ管理路径的配置是在消息队列的安装和部署过程中进行的。
在配置文件中,我们可以指定MQ的管理路径,包括管理界面的访问地址、登录凭证等信息。
通过配置管理路径,我们可以方便地对MQ进行监控和管理,查看消息队列的状态、消息的发送和接收情况等。
MQ管理路径的作用非常重要。
通过管理路径,我们可以实时监控MQ的运行状态,及时发现并解决问题。
例如,我们可以通过管理路径查看MQ的连接数、消息堆积情况等,以便及时调整系统资源和优化性能。
管理路径还可以提供消息队列的统计信息,帮助我们分析系统的瓶颈和性能瓶颈,进而优化系统设计和配置。
MQ管理路径还提供了一些常用的管理功能,如创建和删除消息队列、设置消息队列的属性、监控消息的发送和接收等。
通过这些功能,我们可以动态管理消息队列,根据系统需求进行灵活配置。
例如,我们可以根据业务需求创建新的消息队列,或者删除不再需要的消息队列,以便提高系统的扩展性和灵活性。
在使用MQ管理路径时,我们需要注意以下几点。
首先,要保证管理路径的安全性,避免未经授权的访问和操作。
我们可以通过设置访问权限、使用安全凭证等方式来增强系统的安全性。
其次,要及时备份和恢复管理路径的数据,以防止数据丢失和系统故障。
此外,还需要定期监控和维护管理路径,及时处理系统异常和故障。
MQ的默认管理路径在分布式系统中起着重要的作用。
通过配置管理路径,我们可以方便地对MQ进行监控和管理,实时了解系统的运行状态和性能状况。
rocketmq nameserver身份认证机制RocketMQ是阿里巴巴开源的一款分布式消息中间件,它具有高可用性、高性能、高可扩展性等优点,广泛应用于阿里巴巴的各个业务场景。
RocketMQ的NameServer是分布式消息中间件中用于管理Broker的服务,它提供了包括路由信息查询、生产者/消费者管理、权限控制等多种功能。
在RocketMQ中,为了保证NameServer的安全性,引入了身份认证机制。
RocketMQ NameServer的身份认证机制主要包括以下三个方面:1. 操作系统用户认证RocketMQ NameServer作为一款服务程序,需要在操作系统上以特定用户身份运行。
为了确保NameServer的安全性,RocketMQ支持以操作系统用户的身份进行认证。
在配置文件中,需要设置操作系统用户名和密码,并且只有通过认证的用户才能访问NameServer。
2. SSL/TLS加密认证除了操作系统用户认证外,RocketMQ还支持SSL/TLS加密认证。
通过配置SSL/TLS证书,可以实现NameServer与客户端之间的加密通信,保证数据传输的安全性。
在客户端进行访问时,需要提供相应的证书和密码才能通过认证。
3. IP白名单认证为了进一步增强NameServer的安全性,RocketMQ还支持IP白名单认证。
通过配置IP白名单,可以限制只有指定IP地址的客户端才能访问NameServer。
这样可以有效防止非法访问和攻击。
在实际应用中,可以根据具体需求选择合适的身份认证方式。
如果对安全性要求较高,可以选择操作系统用户认证和SSL/TLS加密认证相结合的方式;如果只需要基本的安全性保障,可以选择操作系统用户认证或IP白名单认证。
需要注意的是,为了保证安全性,建议定期更新证书和密码,并严格控制访问权限。
mq的使用方法(原创版4篇)目录(篇1)1.MQ 的概念与作用2.MQ 的基本使用方法3.MQ 的高级使用方法4.MQ 的使用注意事项正文(篇1)一、MQ 的概念与作用消息队列(Message Queue,简称 MQ)是一种应用程序之间通过消息进行通信的技术。
它起到了解耦、削峰填谷、保证消息顺序等作用,广泛应用于企业级应用中。
二、MQ 的基本使用方法1.创建队列:通过命令创建一个队列,如:`创建队列 my_queue`。
2.发送消息:通过命令向队列发送消息,如:`发送消息 my_queue "Hello, MQ!"`。
3.接收消息:通过命令从队列接收消息,如:`接收消息 my_queue`。
三、MQ 的高级使用方法1.消息过滤:可以使用`#`符号进行消息过滤,如:`接收消息my_queue # "关键字"`。
2.消息持久化:可以通过设置队列属性实现消息持久化,以防止数据丢失。
3.消息重试:可以使用`retry`命令实现消息的重试发送。
四、MQ 的使用注意事项1.合理设置队列参数,如队列长度、消息大小等,以避免队列过满或消息丢失。
2.注意消息顺序,确保接收消息的顺序与发送消息的顺序一致。
3.确保消息发送与接收的及时性,避免出现消息堆积或接收不及时的情况。
通过以上方法,您可以熟练地使用消息队列(MQ)进行应用程序间的通信。
目录(篇2)1.MQ 的概念与作用2.MQ 的基本组成3.MQ 的使用方法4.MQ 的优缺点5.总结正文(篇2)一、MQ 的概念与作用消息队列(Message Queue,简称 MQ)是一种应用程序之间通过消息传递进行通信的技术。
它起到了解耦、异步处理、削峰填谷等作用,使得系统在面对高并发、高负载的情况下仍能稳定运行。
二、MQ 的基本组成一个典型的消息队列系统包括以下几个部分:1.生产者(Producer):负责向队列中发送消息的应用程序。
2.消费者(Consumer):负责从队列中接收并处理消息的应用程序。
使用BlockIP2加强WebSphere MQ的安全性刘睿1.WebSphere MQ提供的安全设施概述1.1 WebSphere MQ的用户和授权机制WebSphere MQ的用户其实就是队列管理器所在的操作系统的用户。
WebSphere MQ的管理员就是操作系统的mqm组的成员,比如UNIX上都有一个mqm用户。
注意修改用户是否从属于mqm组后,可能需要重新启动WebSphere MQ的队列管理器,才能使新的安全配置生效。
WebSphere MQ的管理员可以使用setmqaut命令来给其他用户授权。
可授权的WebSphere MQ对象类型包括队列管理器、队列、通道、侦听器、主题等等,可被授权的主体类型包括用户和组。
可以使用dspmqaut命令来查看用户和组针对某一WebSphere MQ对象实例的权限。
以上操作也可以通过PCF编程来实现。
例如:观察某用户user1针对队列管理器VENUS及其队列Q1的权限,可使用以下的命令:dspmqaut -m VENUS -t qmgr -p user1dspmqaut -m VENUS -t queue -n Q1 -p user1假如用户user1不属于mqm组,授权user1可以通过WebSphere MQ客户机远程连接队列管理器,并读写队列Q1,可使用以下命令:setmqaut -m VENUS -t qmgr -p user1 +connectsetmqaut -m VENUS -t queue -p user1 +get +put +browse1.2 WebSphere MQ支持SSL/TLSWebSphere MQ支持Secure Sockets Layer (SSL)和Transport Layer Security (TLS)协议。
为实现对SSL/TLS的支持,与SSL相关的通道属性包括:SSLCIPH,SSLPEER,和SSLCAUTH,其中SSLCIPH是最基本的。
与SSL相关的队列管理器属性包括:SSLKEYR,SSLCRLNL,SSLCRYP,SSLTASKS,SSLRKEYC,和SSLFIPS,其中SSLKEYR 是最基本的。
WebSphere MQ的SSL/TLS的支持的相关配置,在联机文档中有详尽的说明,这里就不再赘述。
1.3 WebSphere MQ的通道出口程序和BlockIP2项目WebSphere MQ支持四类通道出口程序:Security exitMessage exitSend exitReceive exit其中Security exit最常被用来做安全控制。
Security exit对消息通道和MQI通道都起作用。
设置Security exit的方法是设置通道的SCYEXIT属性。
在WebSphere MQ的示例程序中,有一个amqsaxe0.c就是通道出口程序。
本文重点介绍的BlockIP2就是基于Security exit的一个开源的免费软件。
BlockIP2项目由Joergen H. Pedersen先生于2002年12月最初发布,目前(2008 年11月12日)的版本是2.6.9。
BlockIP2支持的操作系统至少包括Z/OS,AIX,HP-UX,Solairs,Linux和Windows。
可查阅其官方网站:http://www.mrmq.dk/BlockIP2可以大大增强WebSphere MQ消息通道和MQI通道(本文以下简称通道)的安全性,至少包含以下功能:对IP地址进行过滤根据IP地址和用户,以及SSL证书动态设置通道的实际用户MCAUSER访问通道的日志2.使用BlockIP2增强WebSphere MQ通道的安全性2.1 下载和安装BlockIP2用户可以从http://www.mrmq.dk/网站免费下载BlockIP2。
BlockIP2的产品包包括源程序和以下平台的编译版本:Z/OSAIXHP-UXSolarisLinuxWindows产品附带了红皮书文件BlockIP2.pdf。
在其中的“Compilation”一章中介绍了在各个操作系统平台上使用的编译命令。
例如WebSphere MQ for AIX v6.0的编译命令如下:xlc_r -q64 -e MQStart -bE:BlockIP2.exp -o BlockIP2 BlockIP2.c -I/usr/mqm/inc -L/usr/mqm/lib64 -lmqm_r -D_REENTRANT -DUNIX -DHNLUP -DAIXcp ./BlockIP2 /var/mqm/exits64/.chgrp mqm /var/mqm/exits64/BlockIP2chmod 750 /var/mqm/exits64/BlockIP2其它平台的编译命令请参照BlockIP2.pdf中的说明。
即使有了已经编译好的版本,重新进行编译也是一个良好的习惯。
注意WebSphere MQ v7.0的编译方式相对v6.0基本上没有什么变化。
安装BlockIP2的步骤非常简单:1.拷贝出口程序到WebSphere MQ默认的出口程序目录a)对于UNIX系统,执行以下命令:cp./BlockIP2/var/mqm/exits64/chgrp mqm/var/mqm/exits64/BlockIP2chmod 750 /var/mqm/exits64/BlockIP2b)对Windows系统,拷贝BlockIP2.DLL和BlockIP2S.exe到% MQ_FILE_PA TH%\exits目录。
2.针对通道,定义一个BlockIP2的配置文件(相关的说明参见下文),假设名称为BlockIP2.txt。
3.设置通道安全出口程序以下是一个实例,使用runmqsc:a)对于UNIX系统,执行以下命令:ALT CHL(TO.QM1)CHLTYPE(SVRCONN)SCYDA TA('FN=C:\PA TH\BlockIP2.txt;') SCYEXIT('BlockIP2(BlockExit)')b)对Windows系统,执行以下命令:ALT CHL(TO.QM2)CHLTYPE(SVRCONN)SCYDA TA('FN=/PA TH/BlockIP2.txt;') SCYEXIT('BlockIP2(BlockExit)')注意SCYDA TA的值里面的分号不能被省略。
2.2 BlockIP2的配置文件编写BlockIP2的配置文件是使用BlockIP2的主要工作量。
下面举一个比较实用的例子:ASC=Y;Patterns=192.168.0.*,192.168.1.*,9.181.3.*;Userids=liurui,ad,user1;SSL=CN=mqcli.ad;MCA=liurui;CON=192.168.1.*;*;MCA=user1;CON=192.168.3.*;*;MCA=liurui;#LogPath=/logs/wmq文件的第一行是“ASC=Y”,意思是允许SSL自签证书(Allow Selfsigned Certificates),很多用户都是这样的用法。
BlockIP2配置文件的每行的第一个词必须是一个BlockIP2规定的关键字,或者是代表注释行的“#”字符。
BlockIP2的关键字的详细说明可以参见红皮书文件BlockIP2.pdf。
注意分号是一个语法单句的结束,或者一个子句的结束,不可以忽略。
注意每个语法句不能超过4096个字符。
这个作为示例的BlockIP2的配置文件包括了以下内容:IP过滤用户与IP的过滤和映射日志以下将分别予以说明。
2.3 设置BlockIP2来过滤非法的IP使用老式的SNA网络协议配置连接,双方都需要设置匹配才行。
而TCP/IP的网络连接一般不需要服务器方知道发起连接的是谁。
使用WebSphere MQ在TCP/IP网络中,如果黑客知道系统中的某WebSphere MQ服务器的侦听器的IP地址、端口以及相关通道的名称,就可以在任何一台网络可连接的机器直接进行访问,甚至以mqm用户的名义和权限建立通道,这就给系统的安全性造成了很大的麻烦。
BlockIP2的最基本的特性就是可以对IP地址进行限制,防止与非法的IP建立通道连接。
可以使用Patterns语句定义允许访问的IP地址的列表。
例如:Patterns=192.168.0.*,192.168.1.*,9.181.3.*;表示只允许192.168.0.*, 192.168.1.*, 9.181.3.*这三类的IP地址来访问本通道。
从这里也可以看出,在IP地址中可以使用通配符“*”和“?”。
Patterns语句可以有多个,相互之间的关系是“或”的意思。
例如:Patterns=1.2.3.4,1.2.3.5,1.2.3.6; /* hosts 4,5,6 in the 1.2.3 network */Patterns=1.2.1.4,1.2.1.5,1.2.1.6; /* hosts 4,5,6 in the 1.2.1 network */还可以使用更复杂的语法,例如以上两句与下面的一句相当:Patterns=1.2.3.[4-6],1.2.1.[4-6];还可以使用域名,例如:Patterns=mrmqdk01.mrmq.dk,mrmqdk02.mrmq.dk,spyder,10.31.*;2.4 设置BlockIP2来进行用户和IP的过滤和映射对用户进行过滤可以使用Userids语句,指定所有允许访问通道的用户列表,例如:Userids=liurui,ad,user1;表示只允许liurui, ad, user1三个用户访问通道。
另一种常见的应用是根据SSL证书映射到某一个MCA用户,例如:SSL=CN=mqcli.ad;MCA=liurui;表示如果SSL证书中指定CN=mqcli.ad,则映射为MCA用户liurui。
注意有一个特殊的用户叫做“BLOCK”,意思是拒绝访问,例如:SSL=CN=mqcli.tom;MCA=BLOCK;表示如果SSL证书中指定CN=mqcli.tom,则拒绝访问。
根据SSL证书进行映射的语法有很多,详细的内容请参见产品的红皮书文件BlockIP2.pdf。
另外,还可以使用一组CON语句,根据源IP地址以及用户名,匹配到真正使用的MCA用户。
CON语句的规则是找到第一个匹配即停止搜索。
以下举几个例子:CON=192.168.1.*;*;MCA=user1;CON=192.168.3.*;*;MCA=liurui;表示把所有192.168.1.*的访问映射为MCA用户user1,表示把所有192.168.3.*的访问映射为MCA用户liurui。