Microsoft AZ-500: 网络安全架构 — 学习指南
属于 Microsoft Azure Security Engineer Associate AZ-500 — 学习指南. 使用经过验证的答案练习: Microsoft 考试中心, 或参加限时模拟考试: ExamRoll.io.
概述
Azure 网络安全架构强制实施最小权限连接,秉持假设泄露的原则,并实施持续监控。它结合了虚拟网络内部的微分段、用于东西向和出口流量的状态化控制平面、用于面向互联网的端点的边缘保护,以及对 PaaS 的私有访问。优秀的设计会优先考虑应用层的身份感知访问,同时保持强大的网络边界、显式的路由和可验证的遥测。
虚拟网络控制与分段
子网是第一道分段边界。将具有相似信任级别、生命周期和策略的工作负载放置在同一个子网中;分离不同的层(Web、应用、数据),以便您可以应用独立的策略和路由。避免使用扁平化的“共享”子网,这种子网混合了管理工具、跳转主机和业务工作负载;它们会使策略复杂化并增大了爆炸半径。
Network Security Groups (NSGs) 按子网或按 NIC(网络接口卡)应用状态化的 L3–L4 层过滤。入站和出站规则按优先级进行评估(数字越小优先级越高),最后有一条隐式的 DenyAll (全部拒绝) 规则。NSG 是状态化的:对已允许流量的响应会自动放行,因此您很少需要配置临时端口规则。在操作上,应将 NSG 绑定到子网以进行宏观控制,然后在关键的 NIC 上进行细化。务必为任何“临时”允许规则记录所有者、目的和过期时间。
Application Security Groups (ASGs) 允许您按名称而非 IP 地址引用虚拟机组,因此规则在扩缩容和 IP 变更后依然有效。将虚拟机标记到基于角色的 ASG 中(例如,asg-web、asg-app),并表达诸如“asg-web → asg-app TCP 443”之类的策略。这可以减少规则蔓延和运维偏差。
有效安全规则是合并应用于 NIC 及其子网的 NSG 后的结果。最具体的匹配允许/拒绝规则(按优先级)生效。在部署窗口前,请在门户中使用“有效安全规则”功能或通过 Network Watcher 的 IP 流验证功能进行验证,以捕获冲突的条目。
服务标签(例如,AzureLoadBalancer、Storage、Sql、Internet、VirtualNetwork)由 Microsoft 维护,它们将庞大且动态的 IP 空间聚合为稳定的规则目标。优先使用服务标签,而不是手动维护 IP 列表,以避免因服务 IP 轮换而导致中断。例如,可以限制到 Storage 和 Sql 的出口流量,同时拒绝泛泛的互联网访问。
微分段和零信任通过以下方式实现:
- 应用默认拒绝的 NSG,并且只开放明确、最小化的路径。
- 使用 ASG 来编码工作负载意图。
- 通过服务标签或 Azure Firewall 基于 FQDN 的过滤来限制出口流量。
- 强制执行“服务器上无公共 IP”的原则,并将所有出口流量路由到一个受控的检查点。
示例:创建一条 NSG 规则,使用 ASG 允许从 Web 到 App 的 TLS 流量,并在比隐式拒绝更高的优先级上明确拒绝所有其他流量,以记录意图。
az network nsg rule create \
--resource-group rg-sec \
--nsg-name nsg-app \
--name allow-web-to-app-443 \
--priority 200 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--source-asgs asg-web \
--destination-asgs asg-app \
--destination-port-ranges 443
网络安全服务与边缘保护
Azure Firewall 是一款具有中央策略的完全状态化、高可用的防火墙。可用于:
- 当 NSG 不足时(例如需要域名过滤、TLS 检查),进行东西向和出口控制。
- 当 Application Gateway 不适用时,用于有限入站暴露的 DNAT。
- 集中式日志记录和威胁情报。
规则集合组包含规则集合(网络、应用、NAT),其优先级定义了评估顺序。在一个组内,优先级数字较小的集合会先被评估;规则按最具体的标准进行匹配。将 DNAT 规则放在其自己的组中,并设置最高的评估优先级,以确定性的方式捕获入站流量。
- 网络规则按五元组(IP/端口/协议)进行过滤。
- 应用规则按 FQDN、URL 类别(高级版)进行过滤,并可使用 FQDN 标签。
- NAT 规则为入站场景转换公有到私有的地址/端口。
基于威胁情报的过滤功能可阻止已知的恶意 IP/域名。在初始基线建立期间以“警报”模式运行,在解决误报后再切换到“拒绝”模式。
高级版功能增加了:
- 具有出站和入站解密的 TLS 检查,从而实现 L7 可见性和 IDPS。
- 具有签名和漏洞优先级排序的入侵检测和防御系统 (IDPS)。
- 用于精细化出口控制的 URL 过滤和 Web 类别。
- 高级证书和 TLS 策略控制。
在操作上,应将防火墙隔离在专用子网 (AzureFirewallSubnet) 中,使用 UDR 将所有发往互联网的流量路由到它,并启用可用区。使用防火墙策略(而非经典规则)以实现可扩展的管理、继承以及在共享基础策略上实现开发/测试环境的差异化。
Web Application Firewall (WAF) 可缓解 L7 攻击(SQL 注入、跨站脚本)。
- 在 Application Gateway 上,WAF 通过端到端 TLS 和站点级策略保护区域性应用;它会终止客户端 TLS,并可选择性地重新加密到后端的流量。
- 在 Azure Front Door 上,WAF 在边缘保护全球分布式的应用,集成了 CDN、机器人防护和地理位置控制。
创建 WAF 策略并将其关联到网关、侦听器或路由。最初选择“检测”模式进行调优,然后切换到“阻止”模式。使用托管规则集 (OWASP 3.x),并添加自定义规则以实现速率限制或 IP 范围控制。配置排除项(例如,特定的 JSON 字段或标头)以减少误报,同时不削弱整体防护能力。
Distributed Denial of Service (DDoS) 防护:
- 基础版是始终开启的平台级保护,但不提供针对单个资源的遥测或缓解措施调优。
- DDoS 防护:网络防护版增加了针对每个公共 IP 的自适应调优、自动缓解、攻击分析、警报、成本保护信用额度以及对 DDoS 快速响应团队的访问权限。
在托管公共 IP(标准 SKU)的 VNet 上启用网络防护。使用遥测数据(指标、诊断日志)来观察攻击向量、缓解生命周期和有效性。将受保护的资源架构在负载均衡器或 Application Gateway 之后以吸收容量型攻击,并最小化直接的公共暴露。结合 WAF 和 DDoS 实现分层防御。
私有访问、混合连接与路由
Private Link 和私有终结点可提供从您的 VNet 到 PaaS 服务的私有 IP 访问。私有终结点是您子网中的一个 NIC,它映射到 PaaS 资源;流量会保留在 Microsoft 的骨干网络上。操作步骤:
- 在 PaaS 资源上禁用公网访问,以防绕过。
- 部署私有 DNS 区域(例如 privatelink.blob.core.windows.net)并将其链接到 VNet,以实现无缝的名称解析。
- 集中管理审批;考虑通过手动审批工作流实现订阅/租户隔离。
服务终结点将您的子网标识通过 PaaS 资源的公共 IP 扩展到这些资源,从而允许 PaaS 防火墙将访问限制在特定子网。它们不会创建私有 IP,因此出口流量会经过公共边缘,但仍保留在 Microsoft 网络内部。使用服务终结点策略以仅允许经过批准的存储帐户。对于 IaaS VM 上的容器化工作负载,请确保使用 Azure CNI,以便 Pod/容器的 IP 来自子网;否则,服务终结点将无法识别源,访问可能会失败。
DNS 解析策略:
- 对于 Private Link,请确保您的 DNS 路径将 PaaS FQDN 解析到私有终结点。使用 Azure Private DNS 区域、本地 DNS 上的条件转发器或 Azure DNS Private Resolver 进行混合转发。
- 保持权威的分割 DNS (split-horizon) 映射清晰,以避免间歇性的公共解析问题。
混合连接:
- VPN Gateway:对于站点到站点连接,请使用基于路由的 VPN,并采用 IKEv2 和强加密算法。使用 BGP 动态交换路由,以简化扩展和故障转移。当存在地址空间重叠时,应用 VPN NAT。对于强制隧道,通过 BGP 从本地通告 0.0.0.0/0,或应用将 0/0 发送到虚拟设备的 UDR;根据需要,确保为 PaaS 私有范围设置例外路由。
- ExpressRoute:提供私有连接;本身不提供加密。使用 MACsec(适用于 ExpressRoute Direct)或在 ER 上运行 IPsec 以保证机密性。对 Microsoft 对等互连使用 BGP community 和路由筛选器。通过跨线路的 ECMP 支持主-主模式以实现弹性。对于强制隧道,接受来自本地的默认路由,并确保没有冲突的 UDR 导致互联网路径成为黑洞。
用户定义的路由 (UDR)、NVA 和优先级:
- 路由选择使用最长前缀匹配,然后按来源选择:UDR > BGP > 系统。
- 错误应用的 0/0 UDR 可能会导致返回路径成为黑洞;请使用 Network Watcher 的下一跃点功能进行验证。
- 对于 NVA,请在 NIC 上启用 IP 转发,并将其置于负载均衡器或 Gateway Load Balancer 之后,以实现透明、可扩展的插入。
- 在托管场景中,首选 Azure Firewall;当需要特定于供应商的功能时,请设计跨多个可用区并带有健康探测负载均衡的 HA 方案。
安全管理、监控和遥测
安全管理连接:
- Azure Bastion 通过门户或本机客户端提供基于 TLS 的 RDP/SSH 连接,无需暴露虚拟机的公网 IP。使用标准 SKU 以支持规模扩展、基于 IP 的连接和可共享链接。通过 RBAC 和 Just-in-Time 限制 Bastion 访问。
- Just-in-Time VM 访问 (Defender for Cloud) 会关闭 NSG 中的管理端口,并根据有时间限制、需要审批且限制源 IP 的请求来开启这些端口。与 Bastion 结合使用,可实现无公网 IP 的安全态势和精确的审计跟踪。
Network Watcher 提供操作验证和取证功能:
- NSG 流日志 (v2) 写入存储,并可发送到 Log Analytics 中的流量分析功能,以获取关于主要通信源、允许/拒绝的流以及地理位置的洞察。
- 连接故障排除功能可主动测试端到端连接,并报告路径在何处被阻塞(例如 NSG、UDR、DNS、防火墙)。
- 数据包捕获可以按需或通过警报触发;使用环形缓冲区以减少存储占用,并仅捕获相关端口的流量。
- 有效路由和 IP 流验证功能可映射跨 UDR、BGP 和 NSG 的运行时决策;在 CI/CD 预检流程中自动化这些检查。
快速启用 NSG 流日志和分析:
az network watcher flow-log configure \
--resource-group rg-sec \
--nsg nsg-app \
--enabled true \
--traffic-analytics true \
--storage-account saflowlogs \
--workspace /subscriptions/<sub>/resourceGroups/rg-la/providers/Microsoft.OperationalInsights/workspaces/la-workspace
实际问题场景
星巴克正在将其订单管理平台现代化迁移至 Azure。安全目标:应用/数据层无公网 IP、严格的出站流量控制、全球 Web 保护以及操作可见性。
- 每个区域创建三个子网:Web、应用、数据,每个子网都有自己的 NSG 和与角色对齐的 ASG。
理由:使用 ASG 进行基于子网的微分段,编码了最小权限原则的流量(Web→应用 443,应用→数据 1433),并减小了爆炸半径。为每一层使用独立的 NSG 可以避免意外的策略耦合。
- 部署 Azure Front Door 标准版/高级版,其 WAF 策略处于“阻止”模式,使用 OWASP 3.x 规则集以及用于速率限制和地理位置限制的自定义规则。
理由:全球边缘保护可吸收容量耗尽型攻击流量,在流量到达区域之前阻止常见的 L7 攻击,并通过任播 (anycast) 降低延迟。边缘的 WAF 策略可提供跨区域的一致性强制执行。
- 在每个区域的 Web 层前面放置带有 WAF v2 的 Application Gateway;在 App Gateway 处终止 TLS,然后重新加密到后端的流量。
理由:区域性的 L7 路由和 WAF 对 Front Door 形成补充,支持到后端的应用级 mTLS、基于 Cookie 的会话保持和蓝绿部署,同时保持检测能力。
- 启用 DDoS 防护:在包含 Application Gateway 公网 IP 的 VNet 上启用网络防护 (Network Protection)。
理由:自适应的单 IP 缓解、遥测和成本保护可降低针对区域入口点的容量耗尽型攻击风险。VNet 范围的配置可确保所有当前和未来的公网 IP 都受到保护,无需对每个资源进行配置。
- 在安全的中心辐射型网络 (hub) 中部署 Azure Firewall Premium;使用 UDR 将所有来自应用和数据子网的出站流量路由到该防火墙。为出站流量启用 TLS 检查和 IDPS,并配置应用程序规则以仅允许所需的 FQDN。
理由:通过解密和基于签名的检测实现集中式出站控制,可防止命令与控制 (C2) 和数据泄露。应用程序规则相比基于 IP 的规则减少了维护工作,并与零信任出站模型保持一致。
- 对 Azure SQL 和 Storage 使用 Private Link;禁用公网访问并配置链接到所有 VNet 的私有 DNS 区域。对于容器化工作负载,使用 Azure CNI。
理由:私有终结点将数据路径保留在 Azure 骨干网上,并消除了公网暴露。私有 DNS 确保了无缝的名称解析。Azure CNI 保证 Pod IP 源自子网,从而使 Private Link 和服务终结点能够正常工作。
- 建立使用双线路的主-主模式 ExpressRoute,并通过 BGP 通告本地路由;为敏感流量启用基于 ER 的 IPsec。初期不要通告 0.0.0.0/0 路由;先在过渡子网中试点强制隧道。
理由:ER 提供可预测的私有连接;分层加密保护高敏感度流量。受控地推出强制隧道可防止意外的互联网流量黑洞,并验证例外路由。
- 通过 Azure Bastion 提供管理访问,并对所有 VM 强制执行 Just-in-Time;移除服务器上的所有公网 IP。
理由:消除暴露的管理端口,同时保留符合最小权限原则的、可审计的、有时间限制的访问。
- 开启 NSG 流日志和流量分析,将 Firewall 和 WAF 的诊断信息配置到 Log Analytics,并为 DDoS 缓解措施和 WAF 阻止量激增设置警报。
理由:统一的遥测数据可实现主动检测、容量规划和快速事件响应。对异常模式进行告警可以及早发现攻击和错误配置。
- 实施 Azure Policy 以拒绝在 NIC 上使用公网 IP、要求所有子网都必须有关联的 NSG,并审计未启用 DDoS 的 VNet;将策略检查集成到 CI/CD 中。
理由:防止配置漂移,大规模强制执行安全护栏,并使安全默认设置可被未来工作负载复用。
← 身份和访问管理 · 所有领域 · 计算、容器和端点安全 →
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →