websphere mq_使用WebSphere MQ Advanced Message Security进行端到端加密

websphere mq

暑假我做了什么

我一直在使用alpha和beta版本的IBM WebSphere MQ Advanced Message Security,但是在10月5日发布该公告之前,我无法公开讨论它。现在,我终于可以告诉您了,这几乎就像我回到学校报告了我整个暑假的情况–除了不花我的暑假从事休闲活动,我实际上参与了一个项目,该项目将对全球消息系统的安全性产生重大影响。

当然,IBM WebSphere MQ Extended Security Edition在WebSphere MQ产品阵容中占据了类似的位置,但是它的占用空间和复杂性确实使它更像是一种企业产品。 相比之下,WebSphere MQ Advanced Message Security几乎没有可见的占用空间,非常适合在支持平台上运行WebSphere MQ服务器或客户端的所有人员,从大型企业车间到只有一个或两个队列管理器在生产中的小型车间。 。

当我在2006年的会议上开始介绍WebSphere MQ安全性时,我预测十年之内,将在消息传递网络上常规使用基于证书的认证和加密。 鉴于当时几乎没有商店配置基本的WebSphere MQ安全性,所以这似乎是一个非常乐观的预测。 但是在过去的几年中,随着客户的重新关注,我看到了在该领域部署的安全控制措施的显着增长。 WebSphere MQ V7.0的新功能与WebSphere MQ Advanced Message Security相结合,建立在以前仅在WebSphere MQ Extended Security Edition中可用的功能上,同时使大众可以访问。

您可能想知道为什么我相信“大众”将需要诸如WebSphere MQ Advanced Message Security之类的东西。 事实是,在消息被固定的方式没有跟上不断变化的方式是短信所使用的速度。 安全控制存在于连接以及队列或主题上,但是当今通常部署消息传递的方式得益于消息级别的安全性。 这种趋势正在加速。

让我花一些时间进一步解释这个想法,然后再解释WebSphere MQ Advanced Message Security如何提供帮助。

消失的周界

面向消息的中间件在很大程度上依赖于外围安全模型。 传统上,此类软件在“可信内部网络”上运行,以在应用程序之间交换消息。 但是消息传递已变得无处不在,不再局限于这些有限的角色。

术语“受信任的内部网络”是为了区分内部网络部分与防火墙外部目标之间的区别而创建的。 但是在此上下文中使用的术语“受信任”是相对的。 它不应该表明内部网络是隐式可信的,而只是它比防火墙外部的事物更可信。 不幸的是,该术语有时被完全字面解释。 根据定义,我已经让客户很认真地告诉我,我们信任“受信任的内部网络”上的所有内容,这就是为什么我们这样称呼它。 当然,这夸大了这种情况,因为即使是最坚信内部网络的人,仍然会强制对服务器,数据库和应用程序执行基于密码的登录。 因此内部网络是受信任的,但仅在一定程度上,甚至对内部网络的身份验证和授权都是必不可少的。

但是,即使我们同意不信任内部网络,我们也确切知道内部网络的终点吗? 多年来,内部和外部网络之间的界限变得模糊。 外联网不仅将连接性扩展,而且还通常将路由,名称解析,身份验证和其他服务扩展到防火墙之外的目标。 虚拟专用网络(VPN)将“受信任的内部网络”扩展到野外的员工笔记本电脑:家庭,酒店,机场,咖啡屋以及可能存在Internet连接的任何地方。 如此多的合法的,全方位服务的连接在防火墙外部发出时,边界到底在哪里? 这种由内而外的边界定义方法是否需要更强大的安全控制?

在回答该问题之前,还要考虑从三层消息传递系统到两层系统的转变。 传统上,消息传递是由中间层应用程序使用的。 用户将工作站上的浏览器或客户端连接到应用程序服务器,而应用程序服务器又连接到队列管理器。 但是,最近的趋势是将用户的客户端直接连接到队列管理器。 较新的技术,例如WebSphere MQ的HTTP接口和IBM WebSphere MQ Telemetry Transport,将通过向越来越多的网络边缘设备提供消息传递功能来加速这种趋势。 在三层体系结构中,队列管理器仅知道应用程序的身份。 在两层模型中,队列管理器必须知道所有已连接用户和设备的标识,并应对它们经常位于防火墙外部的事实。

这些趋势的结果是,在我们需要更好的周边安全性的同时,我们需要在安全模型中增加一个或两个数量级的粒度。 幸运的是,WebSphere MQ Advanced Message Security在这里可以应对这一挑战。

WebSphere MQ Advanced Message Security概述

WebSphere MQ Advanced Message Security在2010年10月8日可用,它提供了身份验证,增强的授权和消息加密。 它旨在与WebSphere MQ紧密集成并消除对外部组件的依赖。 WebSphere MQ Advanced Message Security不需要运行其他服务器或守护进程,因此,它易于实现并且能够保护其他IBM WebSphere产品,例如IBM WebSphere MQ File Transfer Edition。

WebSphere MQ Advanced Message Security的主要设计目标之一是避免进行应用程序代码更改的任何要求。 为了实现该目标,WebSphere MQ Advanced Message Security被实现为三种类型的拦截器:

  • Java拦截器捕获对JMQI层的调用,因此可以与Java和JMS应用程序一起使用。
  • C客户端拦截器捕获对C客户端库的调用。
  • API出口拦截绑定模式调用。 拦截器执行其功能后,该调用将传递到原始MQ库或类。

这三种拦截器提供了全面的应用程序覆盖范围。 例如,对JMS受管对象定义的特殊处理需要更长的时间。 此体系结构还减少了对本机WebSphere MQ库的依赖性,因此将维护应用于WebSphere MQ和WebSphere MQ Advanced Message Security都将很简单。

因为WebSphere MQ Advanced Message Security完全基于拦截器,所以没有其他程序可以运行。 启动队列管理器或应用程序时,常规的API调用将传递到执行的WebSphere MQ Advanced Message Security库,然后调用底层的WebSphere MQ库。 通过WebSphere MQ Explorer插件和一组命令行工具提供了管理功能。

WebSphere MQ Advanced Message Security可以在生产时对消息进行签名和加密,然后在使用时对消息进行解密和认证。 在这两者之间的所有时间点,无论是完整性(使用哈希)还是隐私(使用加密),都对消息进行保护。 如果启用了保密性,则将在网络上,在内存中,在队列中,在日志文件中以及在进行的任何跟踪中对消息有效负载进行加密。 消息头保留为纯文本,以便队列管理器可以正确地路由它。 根据设置的策略,访问范围从无特殊限制到管理员指定特定队列上的消息的授权签名者和收件人的枚举列表的能力。

这实际上只是WebSphere MQ Advanced Message Security的一瞥,因此,我鼓励您使用下面的“ 相关主题”进一步探索该产品。

B2B用例

WebSphere MQ Advanced Message Security的主要用例之一是帮助解决外围消失的问题,而B2B连接就是一个很好的例子。 由于WebSphere MQ Advanced Message Security不需要中央策略服务器,因此在B2B情况下效果很好。

WebSphere MQ Advanced Message Security通过在消息级别建立安全范围来提供其他控件。 每个消息都在其自己的加密信封中传输,其中包括有效载荷和发送方身份。 该信封与消息一起从生产应用程序一直传播到消费应用程序。 WebSphere MQ Advanced Message Security可以基于消息对入站流量进行身份验证,并且可以严格限制那些消息可以发送到哪些队列以及哪些接收者可以接收它们。 这对于通过VPN或Extranet进行连接特别有用。

交换所是Extranet拓扑的一个特殊情况,它在许多行业中都很常见。 金融,医疗保健和保险是我想到的一些。 为了提供安全性和客户隔离,许多运行票据交换所的供应商为每个客户提供了单独的路径。 通常,它们涉及单独的队列,通道和侦听器,但在某些情况下,它们还涉及专用的队列管理器。 本质上,这是通过将安全策略嵌入网络的物理连接层来实现的。 提供的隔离越多,配置维护的成本就越高。

由于复杂性是安全性的大敌,因此以这种方式可以达到多少安全性也受到限制。 在涉及到WebSphere MQ Advanced Message Security的情况下,安全性由策略管理,而物理网络的结构则更多地由容量规划之类的东西指导。 作为票据交换所供应商,我对WebSphere MQ Advanced Message Security感兴趣,因为它将安全管理从网络拓扑中移出,因为它将大大简化我的物理控制并节省资金。 作为客户端,如果我可以选择使用WebSphere MQ Advanced Message Security的服务还是选择不提供的服务,那么我会选择WebSphere MQ Advanced Message Security版本,因为它具有更高的责任感和安全性。

我得到的一个非常普遍的问题是如何配置WebSphere MQ以满足PCI-DSS(支付卡行业数据安全标准)或其他法规遵从性要求。 实际上,不可能宣布任何符合PCI标准的产品,因为许多标准都适用于人工流程和控制。 但是,有可能并且适当地探索特定配置如何适合整体合规性要求。 对于PCI-DSS,存在保护持卡人数据的要求。 通常使用加密来实现。 当消息遍历通道时,仅WebSphere MQ可以对传输中的数据进行加密,但是当队列管理器处理消息时,它不能对消息进行加密。 这意味着消息的文本可在内存,日志文件,跟踪以及支持队列结构的文件中读取。 为了达到合规性,可以通过使用缓解控制措施来解决这些问题,例如使用基于主机的防火墙隔离队列管理器并审核队列管理器服务器上的登录会话。 通常,将多个控件组合在一起以形成分层防御。 使用WebSphere MQ Advanced Message Security,消息在传递给队列管理器之前已被加密。 这意味着即使在非SSL通道以及队列管理器可能制作的任何临时副本中,它们也被加密。 由于在队列管理器中,消息永远不会是纯文本格式,因此消除了对许多缓解控件的需求,甚至可能将队列管理器完全从PCI审计范围中删除。

合规性的另一方面是职责分离。 WebSphere MQ管理员可以拦截,编辑消息或将消息注入任何队列。 对于合规性或敏感应用程序,有时不希望这种访问级别。 当应用程序使用WebSphere MQ Advanced Message Security对消息签名时,即使WebSphere MQ管理员也无法更改它们或注入流氓消息而不被检测到。 如果消息也被加密,那么WebSphere MQ管理员将无法解密它们。 请注意,管理员仍然可以访问队列,包括删除受保护的消息。 例如,这有必要在应用程序卡住时从队列中删除有害消息。 但是,该消息对于管理员而言将是不可读的,这解决了合规性要求。 (您可以配置WebSphere MQ管理员是否应该能够读取加密的消息;受限制较小的应用程序总是可以在首次产生消息时选择将管理员列为授权收件人。)

WebSphere MQ Advanced Message Security的内部用例

上面讨论的票据交换所模型是中心辐射型的,其中辐条各自是不同的B2B接口,目标是保持辐条彼此之间不进行通信。 但是,许多商店都具有内部中心辐射型网络,这些网络提出了相反的安全挑战。

在这种情况下,目标是使辐条能够交换消息,但要以安全的方式进行。 当基于每个连接进行身份验证和授权时(如WebSphere MQ的情况),所有到达分支节点的消息似乎都起源于中心。 为了参与网络,辐条必须隐式信任中心。 要在目的地加强安全性,需要在集线器上以及在众多QRemote和QAlias定义上定义所有分支节点的身份,并可以针对这些定义进行授权。 再一次,这是将安全策略嵌入物理网络设计的做法。 这不仅复杂,而且会导致集线器的安全负担增加。 这是因为如果集线器遭到破坏,则整个网络都会受到破坏。

WebSphere MQ Advanced Message Security将身份验证和授权功能从连接下移到消息级别。 由于可以将队列中的消息追溯到其发送者,并且可以在使用时应用安全策略,因此整个网络在来自集线器的单个连接中汇聚就不再那么重要了。 这减轻了集线器的大部分安全责任,并大大简化了集线器配置。

WebSphere MQ Advanced Message Security还可以帮助提高WebSphere MQ集群安全性。 除非使用通道自动定义出口,否则,WebSphere MQ集群中所有远程节点的授权都基于集群接收器信道定义中的MCAUSER值。 这非常类似于中心辐射,因为来自WebSphere MQ集群中所有节点的流量都通过单个通道到达。 因此,将所有群集节点的授权汇总到该连接中。 如果集群中的任何远程节点都被授权加入队列,那么集群中的所有节点都可以在其中发送消息。 WebSphere MQ Advanced Message Security不会对此进行更改,但是确实在消息级别添加了额外的控制层,以便消耗来自队列的消息的人可以区分不同的发送者并拒绝未授权的消息。 由于CHAD出口在连接和队列级别上运行,而WebSphere MQ Advanced Message Security在消息级别上运行,因此这两件事是互补的。 尽管WebSphere MQ Advanced Message Security可以减少或消除集群中CHAD出口的需求,但它不会取代现有的CHAD出口。

WebSphere MQ Advanced Message Security的最有用的功能之一就是支持大量身份的能力。 如前所述,用户从服务器应用程序后面出来,并直接连接到队列管理器。 通常,消息传递连接正在移动到网络外围,并显示在用户工作站,浏览器,仪器,独立设备甚至电话上。 这意味着消息传递层中的安全性现在必须支持更多的个人用户,并且必须以每个用户的粒度来支持。 只要在连接和队列级别上管理安全性,这将无法很好地扩展。 使用WebSphere MQ Advanced Message Security,可以在连接和队列处聚合安全性,从而简化了物理网络拓扑。 然后,根据有关谁可以签名和谁可以使用给定队列上的消息的策略,在消息级别上实现其他粒度。

消息传递到网络边缘的这种迁移还意味着与队列管理器的连接现在通常来自锁定数据中心之外。 当连接从客户端连接的应用程序服务器迁移到用户桌面上的客户端应用程序时,对于队列管理器来说,它似乎只是另一个客户端连接-通常我们很想使用与以前相同的控件和安全模型。 但是,删除由锁定的数据中心提供的物理安全控制措施意味着“野外”客户端应用程序应该得到更严格的身份验证,并且访问必须得到更严格的执行。 使用WebSphere MQ Advanced Message Security,可以使用单个证书来验证连接并签名消息,或者可以将单独的证书用于每种目的。 这提供了一系列的服务质量和选项,可以在共享的Office应用程序中建立附加的安全性。

自然,在这个有限的空间中,WebSphere MQ Advanced Message Security的用例远远超出了讨论的范围,但是这些是我最常遇到的用例。 共同点是,我们为消息传递实现的安全模型需要与我们使用消息传递的方式保持同步。 尽管基本的安全性对于具有点对点拓扑和三层体系结构的“受信任的内部网络”可能已经足够好了,但是当今的消息传递实现要求在消息级别上进行更强的身份验证和控制。

保护SYSTEM。*队列

WebSphere MQ Advanced Message Security中的一项重要功能是能够保护队列管理器的内部队列。 许多WebSphere产品(例如WebSphere MQ File Transfer Edition)使用SYSTEM。*队列进行管理和正常操作。 扩展WebSphere MQ Advanced Message Security功能以包括其他WebSphere MQ系列产品要求管理员能够将策略应用于这些SYSTEM。*队列。 WebSphere MQ Advanced Message Security是专门为解决这一需求而设计的。

考虑WebSphere MQ File Transfer Edition的示例。 像大多数WebSphere产品一样,它侦听队列,根据放置在队列中的命令执行管理和用户操作,并将答复发送给请求者。 保护WebSphere MQ File Transfer Edition代理的首要任务是限制对此命令队列的访问。 对于直接连接的事物(例如代理本身),可以使用基本的WebSphere MQ安全性来处理。 但是从其他队列管理器发送命令的事情呢? 因为WebSphere MQ安全性是基于连接的,所以允许另一个队列管理器访问本地命令队列,并且该队列管理器上的各个用户或应用程序被聚合到该连接中。 如果可以(可靠地)授予从该远程队列管理器发送命令的特定标识的访问权限,那就更好了。

因为WebSphere MQ Advanced Message Security将标识附加到每条消息并根据该标识实施策略,所以它非常适合该任务。 管理员现在可以指定用户,工具和远程WebSphere MQ File Transfer Edition代理的枚举列表,这些代理,代理和授权将消息放置在给定代理的命令队列上的代理。 在WebSphere MQ File Transfer Edition代理看到它们之前,所有不具有这些授权身份的消息都将被拒绝。 这使将WebSphere MQ File Transfer Edition代理安全地放置到现有的WebSphere MQ网络(包括集群和中心辐射型拓扑)上变得更加容易。

通过适当限制对WebSphere MQ File Transfer Edition代理程序的命令队列的访问,一个有用的增强功能可能是在文件数据在代理程序之间流动时对其进行加密。 每个代理都有几个专用队列,包括一个用于与其他代理交换数据的队列。 通过将WebSphere MQ Advanced Message Security保护策略放置在WebSphere MQ File Transfer Edition代理的数据队列上,可以透明地加密在代理之间传输的文件数据。 因为消息在传递到队列管理器之前已被加密,所以数据在内存,队列文件,日志和跟踪中得到保护。

定位WebSphere MQ高级消息安全性

保护WebSphere MQ File Transfer Edition代理程序的命令和数据队列提供了一种安全控件,可以帮助满足任何类型的敏感数据的法规要求。 WebSphere MQ Advanced Message Security将减少对许多补偿控件的需求,甚至可能将队列管理器从PCI审计范围中删除。 降低的合规成本甚至可以抵消WebSphere MQ Advanced Message Security许可证的成本,后者可以转化为非常快(如果不是即时)的ROI。 在我看来,我相信PCI(以及HIPAA,SOX,FISMA和几乎任何合规性要求)与使用WebSphere MQ Advanced Message Security相比要便宜得多。

但是从我的角度来看,作为一个通常专注于安全性的人,合规性也许是考虑使用WebSphere MQ Advanced Message Security的最不重要的原因。 我更关心更广泛的问题:图片中是否存在B2B连接? 是否有WebSphere MQ集群? 有中心辐射网络吗? 是否有大量的客户端连接? 远程连接是否源自最终用户设备? 请求连接的身份群体是否很大?

通过在混合消息中添加在单个消息级别而不是每个连接或每个队列中运行的工具,在所有这些情况下更易于实现安全性。 现在,所有规模的商店都可以使用这些工具-从全球企业到便携式计算机上基于WebSphere MQ客户端的应用程序-安全模型可以赶上该体系结构。 这将消除当前内置在我们的消息传递网络中的许多潜在风险,并且最终,减轻风险是WebSphere MQ Advanced Message Security的真正好处-这就是我们所有人都可以使用的东西。


翻译自: https://www.ibm.com/developerworks/websphere/techjournal/1011_mismes/1011_mismes.html

websphere mq

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值