有没有人有过使用 stunnel 保护 MQ TCP 通信通道的经验或想法?
我正在与内置 MQ 支持但不支持 SSL 的第三方软件集成。因此,为了通过 TCP 获得某种安全性,我们希望使用 stunnel。有没有人有任何想法如何实施和任何最佳实践
有没有人有过使用 stunnel 保护 MQ TCP 通信通道的经验或想法?
我正在与内置 MQ 支持但不支持 SSL 的第三方软件集成。因此,为了通过 TCP 获得某种安全性,我们希望使用 stunnel。有没有人有任何想法如何实施和任何最佳实践
我没有使用 stunnel,所以我会将那部分答案留给另一个响应者。关于 WMQ,请记住,这将为您提供通过 stunnel 链接的数据隐私和数据完整性,但不会为您提供通道级服务,例如 WMQ 身份验证。诚然,您将对 stunnel 连接本身进行某种级别的身份验证,但是任何拥有到 QMgr 的 TCP 路由但不通过 stunnel 到达的人也将能够启动该通道。
您对安全的要求显然包括数据隐私。如果它还包括身份验证和授权,您可能需要使用 BlockIP2(来自http://mrmq.dk)之类的东西通过 IP 地址过滤该通道上的传入连接,以确保它们通过 stunnel 链接到达。当然,没有什么可以阻止远程端的某个人指定要连接的任何通道名称,因此,如果您保护一个通道,则需要确保所有通道的安全 - 即确保 SYSTEM.DEF.* 和 SYSTEM.AUTO.*通道被禁用或者他们使用 SSL 和/或出口来验证入站连接。
最后,请注意,如果 WMQ 配置为接受客户端提供的 ID,则连接具有完全的管理访问权限,并且包括远程代码执行。为了防止这种情况,您必须在通道的 MCAUSER 中使用低权限 ID 配置所有非管理的入站通道(RCVR、RQSTR、CLUSRCVR 和 SVRCONN)。对于供管理员使用的任何通道,请使用 SSL 对其进行身份验证。(希望您的第 3 方软件是应用程序而不是管理工具!任何 WMQ 管理工具都必须支持 SSL,否则不要使用它!)
因此,一定要使用 stunnel 来保护此链接,只要确保保护 QMgr 的其余部分或任何可以合法连接的人(如果您将 MCAUSER 留空并且不使用 SSL 和/或退出,甚至是匿名远程用户)只会绕过安全性或禁用它。
在https://t-rob.net/links/上有一份 IMPACT 演示强化 WMQ 安全性的副本,其中更详细地解释了所有这些。
Rob - 我同意你的看法。为此,我们只有 MQIPT。哪个好得多。对于 MQ 的 STunnel,我已经解决了这个问题。
Keys -U 需要一个 .pem 密钥(从密钥管理器中,您可以创建 .p12 并使用 open ssl 转换为 .PEM)。
客户端:下载和安装 stunnel 在配置文件中有以下条目
cert = XXX.pem
client = yes
[MQ]
accept = 1415
connect = DestinationIP:1415
服务器端:
cert = xxx.pem
client = no
[MQ]
accept = 1415
connect = MQIP:1415
完成此操作后,您只需使用队列名称调用 amquputc。