是否有人有关于保护MQ TCP的经验或想法 使用stunnel的沟通渠道?
我与内置MQ支持的第三方S.W集成,但它不支持SSL。因此,要在TCP上获得某种安全性,我们希望使用stunnel。有没有人有任何想法如何实施和任何最佳实践
答案 0 :(得分:1)
我没有使用过隧道,所以我会把答案中的那部分留给另一个响应者。关于WMQ,请记住,这将通过stunnel链接为您提供数据隐私和数据完整性,但不将为您提供WMQ身份验证等通道级服务。没错,您将在stunnel连接本身上进行一定程度的身份验证,但是任何通过stunnel到达QMgr的TCP路由的任何人都可以启动该通道。
您的安全要求显然包括数据隐私。如果它还包括身份验证和授权,您可能需要使用类似BlockIP2(来自http://mrmq.dk)的内容来过滤该IP地址上的传入连接,以确保它们通过stunnel链接到达。当然,没有什么可以防止远程端的人指定要连接的任何通道名称,所以如果你保护一个通道,你需要保护所有通道 - 即确保SYSTEM.DEF。*和SYSTEM.AUTO。*通道被禁用或者它们使用SSL和/或出口来验证入站连接。
最后,请注意,如果WMQ配置为接受客户端提供的ID,则该连接具有完全管理访问权限,并且包括远程代码执行。为防止这种情况,必须配置所有入站通道(RCVR,RQSTR,CLUSRCVR和SVRCONN),这些通道在通道的MCAUSER中不具有低权限ID管理。对于适用于管理员的任何通道,请使用SSL对这些通道进行身份验证。 (希望您的第三方SW是一个应用程序,而不是一个管理工具!任何WMQ管理工具必须支持SSL,否则不要使用它!)
因此,请务必使用stunnel来保护此链接,只需确保保护QMgr的其余部分或其他任何可以合法连接的人(如果您将MCAUSER留空并且未使用SSL和/,则甚至是匿名远程用户)或退出)将绕过安全或禁用它。
在https://t-rob.net/links/有一份IMPACT演示文稿强化WMQ安全,它更详细地解释了所有这些。
答案 1 :(得分:0)
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即可。