ali-azure/azure-secure-network-architecture

GitHub: ali-azure/azure-secure-network-architecture

该项目展示了一种安全的 Azure 三层网络参考架构,集成了 NSG、Bastion、Azure Firewall 和 Network Watcher,旨在演示企业级云网络分段与安全控制的最佳实践。

Stars: 0 | Forks: 0

# 安全的多层网络架构 ![Azure](https://img.shields.io/badge/Cloud-Microsoft%20Azure-blue?logo=microsoftazure) ![Status](https://img.shields.io/badge/Status-Completed-brightgreen) ![AZ-104](https://img.shields.io/badge/Aligned%20With-AZ--104-0078D4) ![AZ-500](https://img.shields.io/badge/Aligned%20With-AZ--500-0078D4) ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e2a3b82575064558.png) 一种安全的 3 层 Azure 网络架构,实现了网络分段、最小权限访问、Azure Bastion、Azure Firewall 和 Network Watcher 诊断。 作为我的 Azure AZ-104 和 AZ-500 云安全作品集的一部分而构建。 ## 概述 本项目演示了如何使用安全最佳实践,在 Microsoft Azure 中设计和部署安全的企业级网络架构。 该环境实现了: * 多层网络分段 * 网络安全组 (NSG) * Azure Bastion 安全管理 * Azure Firewall 流量检查 * 路由表和强制隧道 * Network Watcher 诊断和监控 * 用于网络可见性的 Flow Logs 本项目的重点是构建安全的 Azure 网络,并验证安全控制、路由和连接行为是否符合预期。 ## 架构组件 | 组件 | 名称 | 地址 / 详情 | | -------------------- | ----------------------------- | ----------------- | | Resource Group | `rg-network-project` | 项目资源 | | 区域 | `Sweden Central` | Azure 区域 | | Virtual Network | `vnet-secure-architecture` | `10.0.0.0/16` | | Web 层子网 | `snet-web` | `10.0.1.0/24` | | App 层子网 | `snet-app` | `10.0.2.0/24` | | 数据库层子网 | `snet-db` | `10.0.3.0/24` | | Bastion 子网 | `AzureBastionSubnet` | `10.0.4.0/26` | | Firewall 子网 | `AzureFirewallSubnet` | `10.0.5.0/26` | | Azure Firewall | `fw-secure-architecture` | `10.0.5.4` | | Azure Bastion | `bastion-secure-architecture` | 安全的 SSH 访问 | ![VNet 和子网](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c19d39486c064604.png) ## 安全控制 ### 网络安全组 (NSG) 使用网络安全组来强制执行各网络层之间的最小权限通信。 ![NSG Web 规则](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e7c04d8a22064610.png) * Internet 流量被限制在 Web 层。 * 应用流量仅限于所需端口。 * 数据库访问仅限于 App 层。 * 默认情况下拦截不必要的流量。 ### Azure 防火墙 ![Azure Firewall 概述](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e384efac55064615.png) * 集中式流量检查和路由。 * 专用的 Azure Firewall 子网部署。 * 出站流量通过 UDR 强制经过防火墙。 ### Azure Bastion 部署 Azure Bastion 是为了提供安全的、基于浏览器的管理,而无需向 Internet 暴露 SSH 端口。 ![Azure Bastion 部署](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b045ec8176064620.png) ![Bastion SSH 会话](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/312bef5326064625.png) * 安全的基于浏览器的 VM 访问。 * 无需公共 IP 地址。 * 减少攻击面。 ### 路由表 (UDR) ![路由表关联](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/f767e04a21064630.png) * 默认路由 (`0.0.0.0/0`) 通过 Azure Firewall 重定向。 * 为工作负载子网启用强制隧道。 ## NSG 规则 ### `nsg-web` (Web 层) | 方向 | 端口 | 源 | 目标 | 操作 | | --------- | ------- | ------------ | ------------- | ------ | | 入站 | 80, 443 | Internet | `10.0.1.0/24` | 允许 | | 出站 | 8080 | `10.0.1.0/24`| `10.0.2.0/24` | 允许 | ### `nsg-app` (App 层) | 方向 | 端口 | 源 | 目标 | 操作 | | --------- | ---- | ------------ | ------------- | ------ | | 入站 | 8080 | `10.0.1.0/24`| `10.0.2.0/24` | 允许 | | 出站 | 1433 | `10.0.2.0/24`| `10.0.3.0/24` | 允许 | ### `nsg-db` (数据库层) | 方向 | 端口 | 源 | 目标 | 操作 | | --------- | ---- | ------------ | ------------- | ------ | | 入站 | 1433 | `10.0.2.0/24`| `10.0.3.0/24` | 允许 | | 入站 | Any | Internet | `10.0.3.0/24` | 拒绝 | ## 虚拟机 | VM | 层 | OS | | ------------- | -------- | ----- | | `vm-web-test` | Web 层 | Linux | | `vm-app-test` | App 层 | Linux | 这些虚拟机用于验证 NSG 规则、路由以及通过 Azure Bastion 的安全访问。 ## 验证与测试 使用 Azure Network Watcher 验证安全控制并排查网络行为。 ### IP 流验证 验证了 NSG 规则是否正确允许和拒绝了各网络层之间的流量。 ### 下一跳验证 下一跳诊断确认发往 Internet 的流量已通过 Azure Firewall (`10.0.5.4`) 路由。 ![下一跳验证](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/602ff749c1064636.png) ### 已执行的诊断 * IP 流验证 * 有效安全规则 * 连接故障排除 * NSG Flow Logs * 下一跳分析 ## 挑战与实际说明 * 由于订阅中的 vCPU 配额限制,数据库 VM 的部署被推迟。 * 尽管没有部署数据库 VM,但数据库层已经通过子网隔离、NSG 规则和防火墙路由进行了全面设计。 * 部署后,使用 Azure Network Watcher 诊断来验证路由、连接和安全控制。 ## 我学到了什么 * 子网分段如何减少攻击面。 * NSG 如何控制各层之间的东西向流量。 * Azure Firewall 和路由表如何协同工作。 * 为什么 Azure Bastion 比向 Internet 暴露 SSH 更安全。 * Azure Network Watcher 如何帮助验证和排查连接问题。 ## 涵盖的 AZ-104 目标 * 配置和管理虚拟网络 * 配置网络安全组 * 配置 Azure Firewall * 配置路由 * 部署和管理虚拟机 * 监控和排查连接问题 ## 涵盖的 AZ-500 目标 * 保护网络访问 * 网络分段和隔离 * 实施 NSG 规则 * 部署 Azure Firewall * 使用 Azure Bastion 进行安全管理 * 监控和验证安全控制 ## 使用的工具 * Microsoft Azure Portal * Azure Virtual Network * 网络安全组 (NSG) * Azure Bastion * Azure Firewall * 路由表 (UDR) * Azure Network Watcher * Flow Logs * Storage Account * Linux 虚拟机
标签:PB级数据处理, 云原生架构, 安全运维, 微软Azure, 网络分段, 网络安全, 隐私保护