本主题介绍示例体系结构的 BizTalk 消息队列适配器方案的威胁模型分析(TMA)。
步骤 1. 收集背景资料(BizTalk 消息队列适配器场景)
本部分提供示例体系结构的 BizTalk 消息队列适配器方案的数据流关系图(DFD)。 下图显示了 HTTP 和 SOAP 适配器方案的示例体系结构。
图 1 BizTalk 消息队列适配器方案的示例体系结构
对于所有使用方案,所有其他背景信息都是相同的,前面在 示例方案的后台信息中介绍。
数据流关系图
下图显示了使用 BizTalk 消息队列适配器时示例体系结构的 DFD。
图 2:BizTalk 消息队列适配器方案的示例体系结构的 DFD
数据流如下所示:
合作伙伴使用消息队列或 BizTalk 消息队列发送消息。 消息以适当的格式打包,并在网络上发送。 如果使用 Active Directory,则消息将经过一系列消息队列路由器,直到到达正确的目标(运行 BizTalk 消息队列接收适配器的主机实例的 BizTalk Server)。
BizTalk 消息队列接收适配器的进程内主机实例定期从消息队列路由器(通过防火墙 2)接收消息,执行任何初始处理,发送网络协议定义的正确网络响应,并将消息放入 MessageBox 数据库中。
具有邮件订阅的处理主机实例从 MessageBox 数据库选取消息,执行任何其他处理,并将消息放回 MessageBox 数据库中。
包含 BizTalk 消息队列发送适配器的进程内主机实例从 MessageBox 数据库中提取消息。 该消息在发送管道中进行任何最终处理后,通过网络的防火墙 2 发送到合作伙伴或应用程序。
步骤 2. 创建和分析威胁模型(BizTalk 消息队列适配器方案)
本部分展示我们为样例架构所做的 BizTalk 消息队列适配器方案的 TMA 结果。
标识入口点、信任边界和数据流 - 请参阅步骤 1 前面所述的背景 信息以及示例方案的后台信息。
创建已识别威胁的列表 - 我们对 DFD 中的所有条目使用以下分类来识别对方案的潜在威胁: S身份欺骗、 T数据篡改、 R否认、 I信息泄露、 D拒绝服务和 E权限提升。 下表列出了使用 BizTalk 消息队列适配器发送和接收来自 BizTalk Server 的消息时确定的威胁。
表 1 已识别的威胁列表
威胁 | DESCRIPTION | 资产 | 影响 |
---|---|---|---|
发送大量消息来获取位置 | 恶意用户可以发送大量有效或无效的消息,并淹没应用程序。 | BizTalk Server 环境 | 拒绝服务 |
消息头在网络上以明文传输 | 当消息从队列传送到 BizTalk 消息队列接收适配器时,消息标头未加密,恶意用户可以读取并篡改标头。 | 邮件头 | 篡改数据 信息泄露 |
未经授权的用户可以与运行 BizTalk 消息队列主机的 BizTalk Server 建立网络连接 | 不能使用任意访问列表(DACL)来限制对 BizTalk 消息队列接收位置的访问。 因此,任何可以与运行 BizTalk 消息队列接收适配器主机实例的 BizTalk Server 建立网络连接并且接入端口 1801 的人都能够将消息发送到 BizTalk 消息队列接收位置。 | BizTalk Server 环境 | 否认性 篡改数据 信息泄露 拒绝服务 特权提升 |
恶意用户可在 BizTalk Server 收到消息之前篡改消息 | 恶意用户可以在传输中时截获消息并对其进行修改。 | 邮件正文 | 篡改数据 信息泄露 |
步骤 3. 查看威胁(BizTalk 消息队列适配器方案)
本部分提供我们为示例体系结构的 BizTalk 消息队列适配器方案确定的威胁进行的风险分析结果。 在主要威胁模型会议后,我们回顾了威胁,并使用了以下影响类别来确定每个威胁的风险:破坏潜力、可再现性、可利用性、受影响的用户和可发现性。
下表列出了使用 BizTalk 消息队列适配器向 BizTalk Server 发送和接收消息时确定的威胁的风险评级。
表 2 已识别威胁的风险评级
威胁 | 影响 | 损害潜力 | 可再现性 | 可利用性 | 受影响的用户 | 可发现性 | 风险暴露 |
---|---|---|---|---|---|---|---|
发送大量消息来获取位置 | 拒绝服务 | 8 | 7 | 7 | 7 | 5 | 6.8 |
消息头在网络上以明文传输 | 篡改数据 信息泄露 |
8 | 10 | 8 | 3 | 5 | 6.8 |
未经授权的用户可以与运行 BizTalk 消息队列主机的 BizTalk Server 建立网络连接 | 否认性 篡改数据 信息泄露 拒绝服务 特权提升 |
8 | 10 | 9 | 9 | 9 | 9 |
恶意用户可在 BizTalk Server 收到消息之前篡改消息 | 篡改数据 信息泄露 |
5 | 7 | 6 | 5 | 7 | 6 |
步骤 4. 识别缓解技术(BizTalk 消息队列适配器方案)
本部分介绍为示例体系结构的 BizTalk 消息队列适配器方案确定的威胁的一些缓解技术。
下表列出了使用 BizTalk 消息队列适配器向 BizTalk Server 发送和接收消息时确定的威胁的缓解技术和技术。
表 3 缓解技术和技术
威胁 | 影响 | 风险暴露 | 缓解技术和技术 |
---|---|---|---|
发送大量消息来获取位置 | 拒绝服务 | 6.8 | 在身份验证所需模式下使用 BizTalk 消息队列适配器。 在接收位置设置 “需要 MSMQ 身份验证 ”标志,并在接收端口上设置 “需要身份验证”(删除消息 )。 配置 BizTalk 消息队列以要求基于证书的身份验证。 此行为发生在适配器级别,与 BizTalk 管道的 Party Resolution 组件不同。 如果已配置,则传入消息中包含公共证书。 这是 BizTalk 消息队列唯一可用的客户端身份验证模式。 若要使用此客户端身份验证模式,必须使用 Active Directory 集成模式安装 BizTalk 消息队列。 使用此功能时,请记得在 BizTalk 消息队列接收位置的属性对话框中选中“ 要求身份验证 ”复选框。 |
消息头在网络上以明文传输 | 篡改数据 信息泄露 |
6.8 | 使用 Internet 协议安全(IPsec)在消息从一台服务器传输到另一台服务器时,有助于保护消息正文和消息标头。 |
未经授权的用户可以与运行 BizTalk 消息队列主机的 BizTalk Server 建立网络连接 | 否认性 篡改数据 信息泄露 拒绝服务 特权提升 |
9 | 使用 Party Resolution 管道组件创建自定义管道,然后将 Party Resolution 组件配置为使用发送方 ID(SID)解析参与方。 将 “解析方按证书 ”属性设置为 False,将 “解析方 By SID ”属性设置为 True。 有关详细信息,请参阅 “参与方解析管道组件”。 在接收端口上,将“身份验证”属性设置为“必需”(删除消息)。 |
恶意用户可在 BizTalk Server 收到消息之前篡改消息 | 篡改数据 信息泄露 |
6 | 使用协议级身份验证来确保消息在传输过程中不会被篡改。 若要使用协议级身份验证,必须在电子商务域中具有消息队列路由器。 按如下所示配置 BizTalk Server: - 在 Configuration Manager 的 BizTalk 消息传送 页上,提供路由器的名称。 - 对于接收端口,请将“身份验证”属性设置为“必需”(删除消息)或“必需”(保留消息)。 - 对于发送处理程序,在“ 常规 ”选项卡上的 “MSMQ 路由器 名称”框中,键入消息队列路由器的名称。 - 对于发送端口,请选择 “使用 MSMQ 身份验证”。 |