MQ中的授权命令@windows
Authorization Commands in MQ @windows
以下命令在 Unix + MQ9 中完成授权。想要查看(这是正确的方法吗?)以及如何在 Windows 服务器中实现以下命令?
setmqaut -m TLSTEST.QM -t qmgr -p clientadmin +connect +dsp +inq
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n '**' +put +get +browse +dsp +inq
runmqsc TLSTEST.QM
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
ALTER QMGR CHLAUTH(DISABLED)
REFRESH SECURITY TYPE(CONNAUTH)
Update on 29-Mar-2017
是否可以使用 setmqaut 来代替“**”?
setmqaut -m TLSTEST.QM -t qmgr -p clientadmin +connect +dsp +inq
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n RECEIVE +put +get +browse +dsp +inq
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n SEND +put +get +browse +dsp +inq
我需要以下命令,因为我的 jms-client 不会在连接时传递用户详细信息request.Is在客户端代码中按以下方式传递或外部化这些值的好方法?
MQEnvironment.userID = "mqm";
MQEnvironment.password = "password";
runmqsc TLSTEST.QM
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
ALTER QMGR CHLAUTH(DISABLED)
REFRESH SECURITY TYPE(CONNAUTH)
您在问题中提供的命令在 windows 中与在 Unix 中一样有效。
注意 您建议的命令关闭安全性,这不是一件好事,并且还授权用户 "clientadmin" 访问队列管理器上的所有队列,包括 SYSTEM * 允许该用户利用 MQ 管理权限的队列。
您的 2017 年 3 月 29 日更新中的命令看起来可以很好地为队列 SEND 和 RECEIVE 提供特定权限。
在我看来,将用户 ID 和密码的值具体化是一个很好的方法,这样如果将来发生更改,您就不需要重新编译。
将应用程序连接为 mqm 并不是一个好方法,因为 mqm 具有完全的管理权限。
设置 CHLAUTH(DISABLED) 不会阻止密码检查,它只是关闭正常的开箱即用 CHLAUTH 规则,阻止 MQ 管理员连接到 SVRCONN 通道,以及阻止使用 SYSTEM.* 通道。
从默认值 CHCKCLNT(REQDADM) 设置 CHCKCLNT(OPTIONAL) 会将 MQ 配置为仅在向 MQ 提供密码时才检查密码是否有效。
默认值 CHCKCLNT(REQDADM) 与 CHCKCLNT(OPTIONAL) 相同,附加要求是具有 MQ 管理员权限的帐户需要提供有效密码。没有 MQ 管理员权限的帐户不需要提供有效密码,但如果提供密码,则必须有效。
如果您的配置仅适用于 CHCKCLNT(可选),则表明您正在作为具有 MQ 管理员权限的帐户进行连接。
将 MQ 设置为不强制发送有效密码存在安全问题,除非您使用 SSLCIPH 和 SSLPEER 来限制 SVRCONN 以仅允许特定的客户端证书连接并且您确保所有其他通道都已锁定.默认的 CHLAUTH 规则通过不允许具有 MQ 管理员权限的用户连接来锁定所有通道,并且它们阻止连接到所有 SYSTEM* 通道。
设置 SSLCAUTH(可选)将 MQ 配置为不要求客户端有证书,如果客户端确实有证书,MQ 将验证它是可信的,如果您设置了 SSLPEER,将确保客户端证书 DN值匹配。
SSLCAUTH(REQUIRED) 将 MQ 配置为要求客户端具有证书。您还希望将其与通道 SSLPEER 设置配对,以确保证书是您期望的证书,而不仅仅是队列管理器信任的证书,您还希望将 MCAUSER 设置为低特权用户。
设置 CHLAUTH(DISABLED) 可能会使 SYSTEM.* 通道不安全。
如果您没有其他缓解控制措施,则所提供的配置是不安全的。
以下命令在 Unix + MQ9 中完成授权。想要查看(这是正确的方法吗?)以及如何在 Windows 服务器中实现以下命令?
setmqaut -m TLSTEST.QM -t qmgr -p clientadmin +connect +dsp +inq
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n '**' +put +get +browse +dsp +inq
runmqsc TLSTEST.QM
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
ALTER QMGR CHLAUTH(DISABLED)
REFRESH SECURITY TYPE(CONNAUTH)
Update on 29-Mar-2017
是否可以使用 setmqaut 来代替“**”?
setmqaut -m TLSTEST.QM -t qmgr -p clientadmin +connect +dsp +inq
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n RECEIVE +put +get +browse +dsp +inq
setmqaut -m TLSTEST.QM -t queue -p clientadmin -n SEND +put +get +browse +dsp +inq
我需要以下命令,因为我的 jms-client 不会在连接时传递用户详细信息request.Is在客户端代码中按以下方式传递或外部化这些值的好方法?
MQEnvironment.userID = "mqm";
MQEnvironment.password = "password";
runmqsc TLSTEST.QM
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
ALTER QMGR CHLAUTH(DISABLED)
REFRESH SECURITY TYPE(CONNAUTH)
您在问题中提供的命令在 windows 中与在 Unix 中一样有效。
注意 您建议的命令关闭安全性,这不是一件好事,并且还授权用户 "clientadmin" 访问队列管理器上的所有队列,包括 SYSTEM * 允许该用户利用 MQ 管理权限的队列。
您的 2017 年 3 月 29 日更新中的命令看起来可以很好地为队列 SEND 和 RECEIVE 提供特定权限。
在我看来,将用户 ID 和密码的值具体化是一个很好的方法,这样如果将来发生更改,您就不需要重新编译。
将应用程序连接为 mqm 并不是一个好方法,因为 mqm 具有完全的管理权限。
设置 CHLAUTH(DISABLED) 不会阻止密码检查,它只是关闭正常的开箱即用 CHLAUTH 规则,阻止 MQ 管理员连接到 SVRCONN 通道,以及阻止使用 SYSTEM.* 通道。
从默认值 CHCKCLNT(REQDADM) 设置 CHCKCLNT(OPTIONAL) 会将 MQ 配置为仅在向 MQ 提供密码时才检查密码是否有效。
默认值 CHCKCLNT(REQDADM) 与 CHCKCLNT(OPTIONAL) 相同,附加要求是具有 MQ 管理员权限的帐户需要提供有效密码。没有 MQ 管理员权限的帐户不需要提供有效密码,但如果提供密码,则必须有效。
如果您的配置仅适用于 CHCKCLNT(可选),则表明您正在作为具有 MQ 管理员权限的帐户进行连接。
将 MQ 设置为不强制发送有效密码存在安全问题,除非您使用 SSLCIPH 和 SSLPEER 来限制 SVRCONN 以仅允许特定的客户端证书连接并且您确保所有其他通道都已锁定.默认的 CHLAUTH 规则通过不允许具有 MQ 管理员权限的用户连接来锁定所有通道,并且它们阻止连接到所有 SYSTEM* 通道。
设置 SSLCAUTH(可选)将 MQ 配置为不要求客户端有证书,如果客户端确实有证书,MQ 将验证它是可信的,如果您设置了 SSLPEER,将确保客户端证书 DN值匹配。
SSLCAUTH(REQUIRED) 将 MQ 配置为要求客户端具有证书。您还希望将其与通道 SSLPEER 设置配对,以确保证书是您期望的证书,而不仅仅是队列管理器信任的证书,您还希望将 MCAUSER 设置为低特权用户。
设置 CHLAUTH(DISABLED) 可能会使 SYSTEM.* 通道不安全。
如果您没有其他缓解控制措施,则所提供的配置是不安全的。