云计算架构-设计模式

网络安全全局入口

Preview
  • 本文内容
  • 视频:网络安全入口实现
  • 模式要求
  • 全局路由
  • 低延迟故障转移
  • 缓解边缘攻击
  • 模式
  • 设计
  • 组件
  • Web 请求
  • 操作
  • Web 请求流
  • 操作流
  • 注意事项
  • 可靠性
  • 安全性
  • 成本优化
  • 卓越运营
  • 性能效率
  • 部署此实现

本文内容

  1. 视频:网络安全入口实现
  2. 模式要求
  3. 模式
  4. 设计
  5. 组件
  6. Web 请求流
  7. 操作流
  8. 注意事项
  9. 部署此实现

网络安全入口封装了多个设计模式,包括全局路由、全局卸载和运行状况终结点监视模式。 此模式实现可用作需要高可用性或可靠性的任何 HTTP(S) 工作负载的网关,方法是通过低延迟故障转移为不同区域中的工作负载提供安全的全局路由。 重要 网络安全入口示例提供了一个示例,可用于部署本文中所述的解决方案。

视频:网络安全入口实现

模式要求

本文重点介绍网络安全入口模式实现重点关注的三个要求:全局路由、低延迟故障转移和缓解边缘攻击。

全局路由

网络安全入口模式封装全局路由模式。 因此,该实现能够将请求路由到不同区域中的工作负载。 图示显示了将 HTTPS 请求路由到不同区域中的两个工作负载。 图 1:全局路由

低延迟故障转移

实现必须能够识别运行正常和运行不正常的工作负载,并以时间敏感的方式相应地调整路由。 延迟应该能够支持以分钟为单位调整路由。 图示显示 HTTPS 请求未路由到运行不正常的工作负载。 图 2:低延迟故障转移

缓解边缘攻击

缓解边缘攻击需要实现的“网络安全”部分。 不应通过 Internet 访问工作负载或 PaaS 服务。 Internet 流量应只能通过网关路由。 网关应能够缓解攻击。 图示显示 HTTPS 请求,其中 SQL 语句位于请求未在边缘停止的查询字符串中。 图 3:缓解边缘攻击

模式

此解决方案实现以下设计模式。

设计

图示显示通过 Azure Front Door (AFD) Premium 流向区域标记的请求。 此图显示了流向 Azure Front Door Premium 框的 HTTPS 请求,其中具有 Web 应用程序防火墙 (WAF)。 这说明了 Azure Front Door Premium 与 WAF 之间的集成。 然后,该图显示了通过专用链接流向不同区域中的两个不同标记的请求。 每个标记都有一个静态网站和一个内部负载均衡器。 请求通过专用链接流向这两个标记中的静态网站和负载均衡器。

图 4:Azure Front Door Premium 设计 以下是有关此实现的详细信息:

  • Azure Blob 存储帐户用于模拟在两个区域中运行的静态 Web 工作负载。 此实现不会实现在内部负载均衡器 (ILB) 后运行的任何工作负载。 图中显示了 ILB,以说明此实现适用于在 ILB 后面运行的专用工作负载。
  • Azure Front Door Premium 层用作全局网关。
  • Front Door 实例具有全局 Web 应用程序防火墙 (WAF) 策略,该策略配置有托管规则,可防范常见攻击。
  • 存储帐户不会通过 Internet 公开。
  • Azure Front Door Premium 层通过 Azure 专用链接访问存储帐户。
  • Front Door 实例具有以下高级配置:
    • 具有指向单个源组的单个路由的终结点。 源组是源或后端的集合。
    • 源组配置了指向每个存储帐户的源。
    • 每个源都请求对存储帐户的专用链接访问。
    • 源组将运行状况探测配置为访问存储帐户中的 HTML 页。 HTML 页充当静态工作负载的运行状况终结点。 如果探测器能够在最近四次尝试中三次成功访问源,则认为源正常。

组件

Web 请求

  • Web 应用程序防火墙 (WAF) - Web 应用程序防火墙保护 Web 应用程序免受攻击。 高级层支持 Microsoft 管理的可防止常见攻击的托管规则。
  • Azure 专用链接 - Azure 专用链接中的专用终结点向虚拟网络中的专用 IP 地址公开 Azure PaaS 服务。 这允许通信流经 Microsoft 主干网络,而不是在公共 Internet 上流动。
  • Azure Front Door Premium 层 - Azure Front Door 提供第 7 层全局负载均衡。 Azure Front Door 与 WAF 集成。 高级层支持:
  • Azure 存储帐户 - Blob 存储帐户在此实现中用于表示静态网站或工作负载。
  • 内部负载均衡器 - 如图所示,此实现中不使用内部负载均衡器。 图中显示它表示在该负载均衡器后面运行的专用工作负载。 到存储帐户的路由与到负载均衡器的路由相同。

操作

从网络角度保护资源可防范攻击,但也会将资源与可能需要访问这些资源的过程或管理员隔离开来。 例如,DevOps 管道中的生成代理可能需要访问存储帐户才能将更新部署到 Web 应用程序。 此外,管理员可能需要访问资源以进行故障排除。 为了说明出于操作目的提供对网络安全访问的访问权限,此实现在虚拟网络中部署一个虚拟机,该虚拟机对存储帐户具有专用链接访问权限。 此实现部署管理员可用于连接到该虚拟机的 Azure Bastion。 对于部署方案,可以将专用生成代理部署到虚拟网络,类似于部署虚拟机的方式。

  • Azure 虚拟网络 (VNet) - 此实现中的虚拟网络用于包含管理员通过专用 Microsoft 主干网络与存储帐户安全通信所需的组件。
  • Azure 虚拟机 (VM) - 此 VM 用作管理员连接到的 Jumpbox。 VM 部署在专用 VNet 中。
  • Azure Bastion - Azure Bastion 允许管理员通过 SSH 安全地连接到 Jumpbox VM,而无需 VM 具有公共 IP 地址。
  • 专用链接终结点 - 专用终结点从 VNet 分配了一个专用 IP 地址,并连接到存储帐户 PaaS 服务。 这允许专用 VNet 中的资源通过专用 IP 地址与存储帐户通信。
  • 专用 DNS 区域 - 专用 DNS 区域是一种 DNS 服务,用于将 Azure 存储帐户专用链接主机名解析为专用终结点专用 IP 地址。

Web 请求流

图示显示 Web 请求流。 此图显示用户向 Azure Front Door 发出 Web 请求。 在 AFD 框中,该图显示了 AFD 路由流的每个步骤。 流中突出显示的是评估 WAF 规则的步骤,匹配 AFD 路由并选择源组的步骤,以及从源组中选择源的步骤。 最后突出显示的部分是 AFD 通过专用链接连接到 Azure 存储 Blob 帐户的步骤。

图 5:请求路由流的设计

  1. 用户向 Azure Front Door 终结点发出 HTTP(S) 请求。
  2. 已评估 WAF 规则。 始终记录匹配的规则。 如果 Front Door WAF 策略模式设置为“预防”,并且匹配规则的操作设置为“异常时阻止”,则会阻止请求。 否则,请求继续、重定向,或评估后续规则。
  3. 匹配 Azure Front Door 中配置的路由,并选择正确的源组。 在此示例中,路径是网站中静态内容的路径。
  4. 从源组中选择源。
     4a. 在此示例中,运行状况探测将网站视为运行不正常,因此已将其从可能的源中消除。  4b. 已选择此网站。
  5. 请求通过 Microsoft 主干网络经专用链接路由到 Azure 存储帐户。

有关 Azure Front Door 路由体系结构的详细信息,请参阅路由体系结构概述

操作流

图示显示管理员用于连接到受保护资源的流。 该图包含三个部分: 第一部分显示充当静态网站的 Azure Blob 存储。 Azure Front Door 如图所示,通过专用链接连接到存储帐户。 第二部分是表示虚拟网络 (VNet) 的框。 VNet 具有以下子网及其内容:1) 包含 IP 为 10.0.2.5 的专用链接终结点的专用终结点子网,2) 具有 Jumpbox 虚拟机的 Jumpbox 子网,以及 3) 包含 Azure Bastion 的 Azure Bastion 子网。 第三部分是通过 Azure Bastion 经 SSH 连接到 VNet 中的 Jumpbox VM 的管理用户。 然后,有一个从 VM 到专用 DNS 区域的箭头。 最后一个箭头是从 VM 到专用链接终结点,然后到存储帐户。

图 6:管理流的设计

  1. 管理员连接到部署在虚拟网络中的 Azure Bastion。
  2. Azure Bastion 提供与 Jumpbox 虚拟机的 SSH 连接。
  3. Jumpbox 上的管理员尝试通过 Azure CLI 访问存储帐户。 Jumpbox 查询公共 Azure Blob 存储帐户终结点的 DNS:storageaccountname.blob.core.windows.net。 专用 DNS 最终解析为 storageaccountname.privatelink.blob.core.windows.net,返回专用链接终结点的专用 IP 地址,在本示例中为 10.0.2.5。
  4. 与存储帐户的专用连接是通过专用链接终结点建立的。

注意事项

使用此解决方案时,请记住以下几点。

可靠性

可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述。 此方案解决了有关可靠性的以下要点:

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述。 此方案解决了有关安全性的以下要点:

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。 虽然 Azure Front Door Premium 和 Web 应用程序防火墙 Premium 都通过标准层提供高级安全功能,但两者都需要额外的成本。 查看以下资源,详细了解 Azure Front Door 和 Web 应用程序防火墙的定价:

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述。 实现网络安全边界会增加操作和部署方面的复杂性。

重要 网络安全入口示例提供了一个示例,可用于部署通过 Azure Bastion 连接到 Jumpbox 并连接到网络安全虚拟机所需的所有资源。

性能效率

性能效率是指工作负载能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率要素概述。 全局路由通过在相同或不同区域中部署其他资源来实现水平缩放。

部署此实现

按照网络安全入口示例中概述的步骤进行操作。