5

考虑以下队列定义:

SET AUTHREC OBJTYPE(QMGR) GROUP('mq-user') AUTHADD(INQ,DSP,CONNECT)

设置 AUTHREC 配置文件(SYSTEM.MQEXPLORER.REPLY.MODEL)OBJTYPE(队列)组('mq-user')AUTHADD(INQ,DSP,GET)

设置 AUTHREC 配置文件(SYSTEM.ADMIN.COMMAND.QUEUE)OBJTYPE(队列)组('mq-user')AUTHADD(INQ,DSP,PUT)

定义通道 ($cname) CHLTYPE (SVRCONN) TRPTYPE (TCP) MCAUSER('tcs-mq-user') 替换

设置 CHLAUTH($cname) 类型(ADDRESSMAP) 地址(*) MCAUSER('tcs-mq-user')

  1. DEFINE CHANNEL和SETCHLAUTH中的MCAUSER是什么意思?
  2. tcs-mq-user 应该属于 mq-user 组吗?
  3. 这是否意味着只有 tcs-mq-user 可以在绑定模式下访问队列管理器?现在,如果我想在绑定模式下授予另一个用户访问权限,我应该为这个用户创建另一对 DEFINE CHANNEL 和 SET CHLAUTH 命令吗?
  4. 是否可以将频道访问权限授予 mcs-user 组?
4

1 回答 1

8

好的,答案正在打折,今天买一送三!:-) 让我们按顺序来...

1.A. 通道的 MCAUSER 值是执行授权检查的 ID。如果将DEFINE CHL() CHLTYPE(SVRCONN)MCAUSER 留空,则连接的客户端可以指定他们希望连接的 ID。如果他们未能指定,WMQ 客户端会尝试使用从客户端应用程序运行的工作站看到的客户端用户 ID,并显示该 ID。通道定义中的设置MCAUSER可防止客户端应用程序指定该值。

1.B。规则中的 MCAUSER用于根据一些识别标准ADDRESSMAP来映射。MCAUSER它说“如果使用指定的 IP 地址到达此通道| 用户名 | SSL 可分辨名称,使用ID 作为MCAUSER AND,如果没有其他规则阻止它,则允许该通道运行。

如果使用CHLAUTH映射规则,建议通常将通道设置MCAUSER为一个不可能是用户 ID 的值,这样它就不会运行。这样,通道默认为安全状态,除非CHLAUTH规则将 MCAUSER 覆盖为旨在允许访问的值。MCAUSER直到 Hursley 实验室的 WMQ 策略师 Mark Taylor 建议使用nobody一个不能是实际用户 ID 的值,例如no#body. 从 WMQ V7.1 开始,该值*NOACCESS是保留的作品,也是我这些天在会议演示中使用的作品。

2.是的。WMQ 基于组进行授权。标准建议是将您的安全要求分解为“admin”、“app1”、“app2”、“monitoring”、“anonymous”等角色。然后为每个需要访问的角色创建一个组。

但是访问请求来自唯一标识的主体,而不是来自组。授权检查需要一个帐户进行检查,因此通道中的 MCAUSER 是一个 ID,而授权权限是按组存储的。要将用户与正确的权限相关联,请将其注册到正确的组中。

这是支持职责分离的标准 UNIX 授权模型。资源管理员(WMQ 管理员)授权组。帐户管理员在组中注册用户 ID。两组都需要提供访问权限。在现实世界中,大多数商店不使用职责分离功能,但在很多情况下它是强制性的。

3.有点。V7.1 或更高版本的默认 QMgr 根本不允许任何远程连接。这是因为在创建时它没有AUTHREC规则,因此非管理员无权访问。CHLAUTH默认规则阻止管理员进行远程访问。

通过指定的规则,任何人都可以成功连接到$cname频道并被授权为tcs-mq-user. 如果您希望他们以具有相同权限的不同用户 ID 连接,则需要将该 ID 添加到mq-user组中,然后设置通道以映射显示的 ID。如果您想强制执行某人连接的 ID,因为您必须按 IP 地址指定映射,或者更好的是,基于他们的证书专有名称。

4.不可以。如上面#2 所述,访问请求总是由委托人提出,而不是由组提出。CHLAUTH规则和专有名称映射的全部意义MCAUSER在于解析通道用于授权检查的用户 ID。通道定义MCAUSER是该 ID 解析过程中的安全控制,因此它对 ID 而非组进行操作。

如果您还没有找到该站点,您可能会发现T-Rob.net很有用。特别是,在链接页面上,我发布了会议中的所有 WMQ 安全演示文稿以及指向我和其他作者文章的链接。

于 2012-08-03T15:48:50.327 回答