你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

网络安全入口模式实现

网络安全入口包含了多种设计模式,包括适用于全局路由、全局卸载和健康监控终结点的模式。 可以将本文中的模式实现用作需要高可用性或可靠性的任何 HTTP 或 HTTPS 工作负载的网关,方法是通过低延迟故障转移为不同区域中的工作负载提供安全的全局路由。

视频:网络安全入口实现

模式要求

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

全局路由

网络安全入口模式封装全局路由模式。 因此,实现可以将请求路由到不同地区的工作负载中。

此图显示了将 HTTPS 请求路由到不同区域中的两个工作负荷。

低延迟故障转移

实现必须能够识别正常和不正常的工作负荷,并相应地以时间敏感的方式调整路由。 延迟应该能够在几分钟内支持调整路由。

显示 HTTPS 请求未路由到不正常的工作负荷的关系图。

缓解边缘攻击

缓解边缘攻击需要实现的“网络安全”部分。 工作负荷或平台即服务(PaaS)服务不应通过 Internet 访问。 Internet 流量应只能通过网关路由。 网关应能够缓解攻击。

此图显示了 HTTPS 请求,该请求的查询字符串中的 SQL 语句未在边缘停止。

模式

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

设计

此图显示了一个请求如何流经 Azure Front Door Premium 到达区域数据中心。

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

此实现包括以下详细信息:

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

组件

Web 请求

  • Azure Web 应用程序防火墙 是一种安全服务,它通过使用Microsoft托管的规则集保护 Web 应用程序免受常见威胁和漏洞的影响。 在此体系结构中,高级层与 Azure Front Door Premium 集成,在到达后端服务之前检查和阻止恶意 HTTP 和 HTTPS 流量。
  • Azure 专用链接 是一项服务,通过 Microsoft 主干网络实现与 Azure PaaS 服务的专用连接。 在此体系结构中,它允许 Azure Front Door 安全地访问存储帐户,而无需将其公开到公共 Internet。
  • Azure Front Door Premium 是一个全局应用程序分发网络,提供第 7 层负载均衡、路由和安全功能。 在此体系结构中,它充当安全的全局网关。 它会将流量路由到区域工作负荷,并在通过专用链接私下通信时强制实施 Web 应用程序防火墙策略。 高级层支持以下组件:
    • 专用链接 使 Azure Front Door 能够通过Microsoft主干网络连接到专用虚拟网络中的 PaaS 服务或工作负荷。
    • Microsoft托管的规则集 仅在 Azure Front Door 的高级层中可用,它与 Web 应用程序防火墙的高级层集成,以防止常见攻击。
  • Azure 存储 是适用于结构化和非结构化数据的可缩放云存储服务。 在此体系结构中,用于静态 Web 资产的 Blob 存储帐户,并充当 Azure Front Door 路由的源目标。
  • ILB 在虚拟网络或连接的网络中分配专用 IP 流量。 此实现不直接使用 ILB,但它在体系结构中表示,以演示如何将 ILB 后面的专用工作负荷路由到类似于存储帐户。

操作

从网络角度保护资源有助于防止攻击,但它也会将资源与可能需要访问这些资源的进程或管理员隔离开来。 例如,DevOps 管道中的生成代理可能需要访问存储帐户才能将更新部署到 Web 应用程序。 此外,管理员可能需要访问资源以进行故障排除。

为了说明出于操作目的提供网络安全访问,这个实现会将虚拟机(VM)部署在一个具有存储帐户专用链接访问的虚拟网络中。 此实现部署 Azure Bastion,管理员可以使用该 Azure Bastion 连接到 VM。 对于部署方案,可以将专用生成代理部署到虚拟网络,类似于部署 VM 的方式。

这里是有关操作组件的详细信息:

  • Azure 虚拟网络 是一种网络服务,可实现资源之间的安全通信。 在此体系结构中,虚拟网络包含管理员通过专用Microsoft主干网络安全地与存储帐户通信所需的组件。
  • Azure 虚拟机 是一种基础结构即服务(IaaS)产品,提供可缩放的计算资源。 在此体系结构中,VM 充当管理员安全访问受网络保护的资源的跳转盒。
  • Azure Bastion 是一种托管 PaaS,它提供对 VM 的远程桌面协议(RDP)和安全外壳(SSH)访问,而无需公开公共 IP 地址。 在此体系结构中,管理员可以通过 SSH 连接到跳转盒 VM,以便进行安全作。
  • 专用链接终结点是一个网络接口,它通过专用链接连接到 Azure 服务,并从虚拟网络分配专用 IP 地址。 在此体系结构中,专用终结点连接到存储帐户 PaaS 服务。 此连接允许专用虚拟网络中的资源通过专用 IP 地址与存储帐户通信。
  • 专用 Azure DNS 区域是域名系统(DNS)服务,可将域名解析为虚拟网络中的专用 IP 地址。 在此体系结构中,它将存储帐户的专用链接主机名解析为其专用 IP 地址,以便从 VM 进行安全访问。

网络请求流

显示 Web 请求流的关系图。

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

  1. 用户向 Azure Front Door 终结点发出 HTTP 或 HTTPS 请求。

  2. 已评估 WAF 规则。 始终记录匹配的规则。 如果 Azure Front Door WAF 策略模式设置为 预防 ,并且匹配规则的动作设置为 异常阻止,则会阻止请求。 否则,请求继续、重定向,或评估后续规则。

  3. 匹配 Azure Front Door 中配置的路由,并选择正确的源组。 在此示例中,路径指向网站中的静态内容。

  4. 来源是从来源组中选择的。

    a。 在此示例中,健康探测器认为网站不正常,因此它已从可能的来源中排除。
    b. 此网站处于选中状态。

  5. 请求通过专用链接通过Microsoft主干网络路由到 Azure 存储帐户。

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

操作流程

显示管理员用于访问受保护资源的流程图。

该图包含三个部分: 第一部分显示充当静态网站的 Azure Blob 存储。 Azure Front Door 通过专用链接连接到存储帐户。 第二部分是表示虚拟网络的框。 虚拟网络包含子网及其内容。 这些子网包括一个专用终结点子网,其中包含 IP 地址为 10.0.2.5 的专用链接终结点、一个包含跳转盒虚拟机的跳转盒子网,以及一个包含 Azure Bastion 的 Azure Bastion 子网。 第三部分是一个管理用户,该用户使用 SSH 通过 Azure Bastion 访问虚拟网络中的跳板服务器 VM。 箭头从 VM 指向 Azure 专用 DNS 区。 最后一个箭头从 VM 转到专用链接终结点,然后转到存储帐户。

  1. 管理员连接到虚拟网络中部署的 Azure Bastion 实例。

  2. Azure Bastion 提供与跳转盒 VM 的 SSH 连接。

  3. 跳转框中的管理员尝试通过 Azure CLI 访问存储帐户。 跳转框查询公共 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 应用程序防火墙高级版都通过标准层提供高级安全功能,但两者都有额外的成本。 查看以下资源,详细了解 Azure Front Door 和 Web 应用程序防火墙的定价:

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述

实现网络安全边界会增加作和部署的复杂性。 请记住以下几点:

性能效率

性能效率是工作负载的可扩展性,以满足用户对其的需求。 有关详细信息,请参阅性能效率支柱概述

全局路由通过在同一区域或不同区域中部署更多资源来实现水平缩放。