示例 TMA:BizTalk 消息队列适配器
本主题对示例结构的 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 中的所有条目使用以下分类来识别方案的潜在威胁: Spoofing 标识、 Tampering 与数据、 Repudiation、 Information 披露、 服务的 Denial 和 Elevation of privileges。 下表列出了使用 BizTalk 消息队列适配器与 BizTalk Server 之间收发消息时的威胁分类:
表 1 威胁分类列表
威胁 | 说明 | 资产 | 影响 |
---|---|---|---|
向接收位置发送大量消息 | 恶意用户可能会发送大量有效或无效的消息,并导致应用程序溢出。 | BizTalk Server 环境 | 拒绝服务 |
消息标头在网络上以明文形式传递 | 当消息从队列传递到 BizTalk 消息队列接收适配器时,消息标头为明文形式,这样,恶意用户则可能会读取并篡改消息头。 | 消息标头 | 篡改数据 信息泄露 |
未经授权的用户可与运行 BizTalk 消息队列主机的 BizTalk Server 建立网络连接。 | 您不能使用任意访问控制列表 (DACL) 来限制对 BizTalk 消息队列接收位置的访问权限。 因此,只要可与运行 BizTalk 消息队列接收适配器主机实例的 BizTalk Server 建立网络连接并可连接到端口 1801,任何人员均可将消息发送到 BizTalk 消息队列接收位置。 | BizTalk Server 环境 | 否认性 篡改数据 信息泄露 拒绝服务 E,表示特权提升 |
恶意用户可能会在 BizTalk Server 接收到消息前对该消息进行篡改。 | 恶意用户可能会在消息传输时将其截获并对其进行修改。 | 邮件正文 | 篡改数据 信息泄露 |
步骤 3。 查看 BizTalk 消息队列适配器方案 (威胁)
本部分提供对示例结构的 BizTalk 消息队列适配器方案的相应威胁分类的风险分析结果。 在main威胁模型会议之后,我们查看了威胁,并使用以下影响类别来确定每个威胁的风险:Damage 潜在风险、Reproducibility、Exploitability、Affected 用户和 Discoverability。
下表列出了使用 BizTalk 消息队列适配器与 BizTalk Server 之间收发消息时的各威胁分类的风险等级:
表 2 威胁分类的风险等级
威胁 | 影响 | 潜在损害 | 可再现性 | 可利用性 | 受影响的用户 | 可发现性 | 风险度 |
---|---|---|---|---|---|---|---|
向接收位置发送大量消息 | 拒绝服务 | 8 | 7 | 7 | 7 | 5 | 6.8 |
消息标头在网络上以明文形式传递 | 篡改数据 信息泄露 |
8 | 10 | 8 | 3 | 5 | 6.8 |
未经授权的用户可与运行 BizTalk 消息队列主机的 BizTalk Server 建立网络连接。 | 否认性 篡改数据 信息泄露 拒绝服务 E,表示特权提升 |
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 管道的参与方解析组件不同。 如果配置了此功能,则会在传入消息中包括公用证书。 这是对 BizTalk 消息队列唯一可用的客户端验证模式。 若要使用此客户端验证模式,则必须安装带有 Active Directory 集成模式的 BizTalk 消息队列。 使用此功能时,请记得在 BizTalk 消息队列接收位置的属性对话框中选择“要求身份验证检查框。 |
消息标头在网络上以明文形式传递 | 篡改数据 信息泄露 |
6.8 | 在服务器间传递消息时使用 Internet 协议安全性 (IPsec) 帮助保护消息正文和消息标头。 |
未经授权的用户可与运行 BizTalk 消息队列主机的 BizTalk Server 建立网络连接。 | 否认性 篡改数据 信息泄露 拒绝服务 E,表示特权提升 |
9 | 创建带有参与方解析管道组件的自定义管道,然后配置该参与方解析组件以使用发件人 ID (SID) 来解析参与方。 将 “解析方按证书 ”属性设置为 False,将 “解析方按 SID” 属性设置为 True。 有关详细信息,请参阅 参与方解析管道组件。 在接收端口上,将 “身份验证” 属性设置为 “必需 (删除消息) 。 |
恶意用户可能会在 BizTalk Server 接收到消息前对该消息进行篡改。 | 篡改数据 信息泄露 |
6 | 使用协议级别验证,以确保消息在传输中不会被篡改。 若要使用协议级别验证,则电子商务域中必须具有消息队列路由器。 请按照以下步骤配置 BizTalk Server: - 在Configuration Manager的 BizTalk 消息传送页上,提供路由器的名称。 - 对于接收端口,请将 Authentication 属性设置为 Required (Drop Messages) 或 Required (Keep Messages) 。 - 对于发送处理程序,在“ 常规 ”选项卡上的“ MSMQ 路由器 名称”框中,键入消息队列路由器的名称。 - 对于发送端口,请选择“ 使用 MSMQ 身份验证”。 |