kimvaddi/azure-network-security-visualizer
GitHub: kimvaddi/azure-network-security-visualizer
VS Code 扩展,可视化 Azure 网络拓扑并基于 Microsoft Security Benchmark 检测 14 类安全配置错误,支持离线分析 Bicep/ARM 模板和实时扫描 Azure 订阅。
Stars: 0 | Forks: 0
# Azure Network Security Visualizer
[](https://marketplace.visualstudio.com/items?itemName=KimVaddi.azure-network-security-visualizer)
[](LICENSE)
**在 Azure 网络配置错误演变成安全事件之前将其捕获。**
## 目录
- [这是什么?](#what-is-this)
- [适用人群](#who-is-this-for)
- [快速入门指南](#quick-start-guide)
- [步骤 1:安装扩展](#step-1-install-the-extension)
- [步骤 2:打开或创建 Bicep 文件](#step-2-open-or-create-a-bicep-file)
- [步骤 3:可视化您的网络](#step-3-visualize-your-network)
- [步骤 4:审查安全发现](#step-4-review-security-findings)
- [步骤 5:修复问题并重新分析](#step-5-fix-issues-and-re-analyze)
- [步骤 6:导出安全报告](#step-6-export-a-security-report)
- [步骤 7:可视化实时 Azure 拓扑](#step-7-visualize-live-azure-topology-optional--requires-azure-account)
- [功能特性](#features)
- [安全规则参考](#security-rules-reference)
- [命令](#commands)
- [配置](#configuration)
- [支持的 Azure 资源](#supported-azure-resources)
- [Azure 新手?从这里开始](#new-to-azure-start-here)
- [Microsoft Learn 参考资料](#microsoft-learn-references)
- [贡献指南](#contributing)
## 这是什么?
当您编写 Azure 基础设施代码(称为 **Bicep** 或 **ARM 模板**)时,您需要定义防火墙、安全规则和虚拟网络等网络资源。但仅通过阅读代码几乎无法发现安全错误。
此扩展**读取您的基础设施代码**并:
1. 🌐 **绘制可视化图**,展示您的整个网络 —— VNet、子网、NSG、防火墙、私有端点
2. 🛡️ **标记安全问题** —— 开放端口、缺失防火墙、权限过宽的规则
3. 📊 **生成报告** —— HTML、Markdown 或 JSON 格式,便于与团队分享
4. ☁️ **连接到实时 Azure** —— 使用 Entra ID 登录,跨订阅扫描,并可视化您已部署的网络拓扑
**两种模式:**
- **离线模式** —— 在本地分析 Bicep/ARM 文件。无需 Azure 账户。
- **实时模式** —— 通过 Entra ID 登录,选择订阅,并可视化您实际部署的网络。
## 适用人群
| 角色 | 如何受益 |
|------|-----------------|
| **云工程师** | 在执行 `az deployment` 之前发现 NSG 配置错误 |
| **安全团队** | 审计 Bicep/ARM 模板的合规性 |
| **DevOps / 平台团队** | 将安全检查添加到您的 PR 审查流程中 |
| **学生 / 初学者** | 可视化学习 Azure 网络 —— 查看 VNet、子网和 NSG 如何连接 |
## 快速入门指南
### 步骤 1:安装扩展
**选项 A —— 从 VS Code 安装(推荐)**
1. 打开 **VS Code**
2. 点击左侧边栏的 **Extensions(扩展)** 图标(或按 `Ctrl+Shift+X`)
3. 搜索 **"Azure Network Security Visualizer"**
4. 点击 **Install(安装)**
```
┌──────────────────────────────────────────────────┐
│ Extensions: Marketplace 🔍 │
│ ┌──────────────────────────────────────────┐ │
│ │ Azure Network Security Visualizer │ │
│ │ KimVaddi │ │
│ │ ★★★★★ [Install] │ │
│ └──────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
```
**选项 B —— 从命令行安装**
```
code --install-extension KimVaddi.azure-network-security-visualizer
```
安装完成后,您会在 VS Code 状态栏中看到一个 **🛡️ 盾牌图标** —— 表示扩展已准备就绪。
### 步骤 2:打开或创建 Bicep 文件
如果您已经有 Bicep (`.bicep`) 或 ARM 模板 (`.json`) 文件,请在 VS Code 中打开该文件夹。
**还没有 Bicep 文件?** 创建一个来试用:
1. 打开 VS Code → **File(文件)** → **Open Folder(打开文件夹)** → 创建或选择一个空文件夹
2. 创建一个名为 `main.bicep` 的新文件
3. 粘贴此示例(其中包含供扩展检测的故意设置的安全问题):
```
// main.bicep — Sample Azure network with security issues
// Try it: Ctrl+Shift+P → "Azure NetSec: Visualize Network Topology"
resource myVnet 'Microsoft.Network/virtualNetworks@2023-09-01' = {
name: 'vnet-myapp-eastus'
location: 'eastus'
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'snet-web'
properties: {
addressPrefix: '10.0.1.0/24'
networkSecurityGroup: {
id: webNsg.id
}
}
}
{
name: 'snet-app'
properties: {
addressPrefix: '10.0.2.0/24'
// ⚠️ No NSG attached — the extension will flag this!
}
}
]
}
}
resource webNsg 'Microsoft.Network/networkSecurityGroups@2023-09-01' = {
name: 'nsg-web'
location: 'eastus'
properties: {
securityRules: [
{
name: 'AllowHTTPS'
properties: {
priority: 100
direction: 'Inbound'
access: 'Allow'
protocol: 'Tcp'
sourceAddressPrefix: '*'
sourcePortRange: '*'
destinationAddressPrefix: '*'
destinationPortRange: '443'
}
}
{
// ⚠️ BAD: SSH open to the internet — the extension will flag this as CRITICAL
name: 'AllowSSH-INSECURE'
properties: {
priority: 200
direction: 'Inbound'
access: 'Allow'
protocol: 'Tcp'
sourceAddressPrefix: '*' // ← This means ANY source on the internet
sourcePortRange: '*'
destinationAddressPrefix: '*'
destinationPortRange: '22' // ← SSH port
}
}
]
}
}
```
### 步骤 3:可视化您的网络
1. 按 `Ctrl+Shift+P` 打开 **Command Palette(命令面板)**
2. 输入 **"Visualize"** 并选择 **"Azure NetSec: Visualize Network Topology"**
```
┌──────────────────────────────────────────────────┐
│ > Visualize │
│ ┌──────────────────────────────────────────┐ │
│ │ 🛡️ Azure NetSec: Visualize Network │ ← │
│ │ Topology │ │
│ └──────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
```
一个新的面板将在您的代码旁边打开,显示:
```
┌─────────────────────────────────┬─────────────────────┐
│ 🌐 Network Topology │ 🔍 Security Findings │
│ │ │
│ ┌─────────────────────────┐ │ 🔴 [NETSEC-001] │
│ │ 🌐 vnet-myapp-eastus │ │ SSH port 22 open │
│ │ 10.0.0.0/16 │ │ to the internet │
│ │ │ │ │
│ │ ┌──────┐ ┌──────────┐ │ │ 🟠 [NETSEC-005] │
│ │ │snet- │ │snet-app │ │ │ Overly permissive │
│ │ │web │ │ ⚠️ NO NSG│ │ │ source address │
│ │ │🛡 NSG│ │ │ │ │ │
│ │ └──────┘ └──────────┘ │ │ 🟠 [NETSEC-007] │
│ └─────────────────────────┘ │ Subnet "snet-app" │
│ │ has no NSG │
│ 🛡️ Network Security Groups │ │
│ ┌─────────────────────────┐ │ 🟡 [NETSEC-004] │
│ │ 🛡️ nsg-web (2 rules) │ │ No explicit │
│ │ Click to see rules → │ │ deny-all rule │
│ └─────────────────────────┘ │ │
└─────────────────────────────────┴─────────────────────┘
```
**您将看到:**
- **左侧面板** —— 您的网络拓扑可视化图。VNet 是蓝色方框,子网是其内部的卡片。标签显示哪些子网具有 NSG、路由表或私有端点。
- **右侧面板** —— 按严重性排序的安全发现(关键优先)。点击任何发现可查看详情和指向 Microsoft 官方修复指南的链接。
- **顶部工具栏** —— 摘要徽章(例如,“2 Critical, 1 High”)、缩放控件。
### 步骤 4:审查安全发现
每项发现都会告诉您:
- **问题所在** —— 例如,“SSH 端口 22 对互联网开放”
- **为何重要** —— 例如,“这会使您的 VM 遭受暴力破解攻击”
- **如何修复** —— 例如,“使用 Azure Bastion 而不是直接开放 SSH”
- **了解更多** —— 指向官方 Microsoft Learn 文档的直接链接
**尝试这些交互:**
| 操作 | 效果 |
|--------|-------------|
| **点击拓扑中的 NSG 卡片** | 查看其所有按优先级排序的安全规则 |
| **点击侧边栏中的发现** | 查看完整描述、建议以及“了解更多”/“转到源代码”按钮 |
| **点击“了解更多”** | 打开包含官方最佳实践的 Microsoft Learn 页面 |
| **点击“转到源代码”** | 跳转到 Bicep/ARM 文件中的具体行 |
您还会注意到代码编辑器中的 **内联警告** —— 在有安全问题的行上显示黄色和红色波浪线。将鼠标悬停在它们上面以查看发现详情。
```
┌──────────────────────────────────────────────────────────────┐
│ main.bicep │
│ │
│ 55│ sourceAddressPrefix: '*' │
│ │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ │
│ │ ⚠️ [NETSEC-001] SSH port 22 open to the internet: │
│ │ NSG rule "AllowSSH-INSECURE" allows inbound SSH... │
│ │ Source: Azure NetSec │
│ │ [NETSEC-001 — Learn More ↗] │
└──────────────────────────────────────────────────────────────┘
```
### 步骤 5:修复问题并重新分析
使用建议修复问题。以下是修复示例的方法:
**修复 1 —— 用 Azure Bastion 替换开放的 SSH (NETSEC-001):**
```
// ✅ FIXED: Restrict SSH to your corporate VPN IP only
{
name: 'AllowSSH-Restricted'
properties: {
priority: 200
direction: 'Inbound'
access: 'Allow'
protocol: 'Tcp'
sourceAddressPrefix: '203.0.113.50/32' // ← Your office IP only
sourcePortRange: '*'
destinationAddressPrefix: '10.0.1.0/24'
destinationPortRange: '22'
}
}
```
**修复 2 —— 将 NSG 附加到 snet-app (NETSEC-007):**
```
{
name: 'snet-app'
properties: {
addressPrefix: '10.0.2.0/24'
networkSecurityGroup: {
id: appNsg.id // ← Now protected!
}
}
}
```
**修复 3 —— 添加显式拒绝所有规则 (NETSEC-004):**
```
{
name: 'DenyAllInbound'
properties: {
priority: 4096
direction: 'Inbound'
access: 'Deny'
protocol: '*'
sourceAddressPrefix: '*'
sourcePortRange: '*'
destinationAddressPrefix: '*'
destinationPortRange: '*'
}
}
```
保存后 (`Ctrl+S`),扩展会**自动重新分析**您的文件。已修复的问题将从发现面板中消失,内联警告也会清除。
### 步骤 6:导出安全报告
与您的团队分享发现或将它们附加到 Pull Request:
1. 点击拓扑工具栏中的 **📊 Export Report(导出报告)** 按钮,或按 `Ctrl+Shift+P` → **"Azure NetSec: Export Security Report"**
2. 选择一种格式:
| 格式 | 最适合 |
|--------|----------|
| **📊 CSV (Excel)** | 直接在 Excel 中打开 —— 排序、筛选、数据透视。最适合安全团队。 |
| **🌐 HTML** | 丰富的可视化报告 —— 可从浏览器打印为 PDF (Ctrl+P)。最适合管理层。 |
| **📝 Markdown** | 添加到 Pull Request、Wiki 或 Git 仓库。最适合 DevOps。 |
| **🔧 JSON** | 输入到 CI/CD 流水线或自动化合规工具。最适合自动化。 |
3. 选择保存位置
4. 打开报告 —— 它包含拓扑摘要、所有带有建议的发现以及 Microsoft Learn 链接
### 步骤 7:可视化实时 Azure 拓扑(可选 —— 需要 Azure 账户)
连接到您真实的 Azure 环境,并在一个租户中可视化**所有订阅**的已部署资源:
1. 按 `Ctrl+Shift+P` → **"Azure NetSec: Sign In to Azure (Entra ID)"**
```
┌──────────────────────────────────────────────────┐
│ > Sign In │
│ ┌──────────────────────────────────────────┐ │
│ │ 🛡️ Azure NetSec: Sign In to Azure │ ← │
│ │ (Entra ID) │ │
│ └──────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘
```
2. 将打开一个浏览器窗口进行 **Microsoft Entra ID** 身份验证。使用您的 Azure 凭据登录。
3. 登录后,您会看到:`"Signed in to Azure. Found 5 subscription(s)."` —— 点击 **"Visualize Live Topology"**(或随时运行 `Ctrl+Shift+P` → **"Azure NetSec: Visualize Live Azure Topology"**)
4. **选择要扫描的订阅**(默认全选):
```
┌──────────────────────────────────────────────────┐
│ Azure Subscriptions │
│ Select subscriptions to scan │
│ ┌──────────────────────────────────────────┐ │
│ │ ☑ Production (abc123-...) │ │
│ │ ☑ Staging (def456-...) │ │
│ │ ☑ Development (ghi789-...) │ │
│ │ ☐ Sandbox (jkl012-...) │ │
│ └──────────────────────────────────────────┘ │
│ [OK] [Cancel] │
└──────────────────────────────────────────────────┘
```
5. 扩展将跨所有选定的订阅查询 **Azure Resource Graph** 并构建实时拓扑。同样的安全分析将在您部署的资源上运行 —— 您将看到同样的发现面板、拓扑图,并且可以导出报告。
**它会获取:**
- VNet、子网及其 NSG 和路由表关联
- 包含所有安全规则的 NSG
- 包含路由的路由表
- 开启了威胁情报模式的 Azure Firewall
- 私有端点及其连接的服务
- VNet 之间的 Peering(甚至跨订阅)
**它不会做的:**
- 它**不**会对您的 Azure 资源进行任何更改(只读)
- 它**不**访问存储、数据库或计算资源
- 它至少需要您要扫描的订阅上的 **Reader(读者)** 角色
## 功能特性
### 🌐 交互式网络拓扑
- 整个 Azure 网络架构的可视化图
- VNet、子网、NSG、路由表、防火墙、私有端点、VNet Peering
- 显示关系的连接线(子网→NSG、Peering、私有端点)
- 点击任何 NSG 以检查其按优先级排序的安全规则
- 缩放、平移和浏览拓扑
### 🛡️ 安全分析引擎(14 条规则)
基于 [Microsoft Security Benchmark](https://learn.microsoft.com/security/benchmark/azure/overview) 自动检测配置错误。离线运行 —— 无需 Azure 订阅。
- **安全态势评估** —— 即时摘要:“需要立即采取行动” vs “态势良好”
- **按操作分组的发现** —— “立即修复”、“审查并修复”、“最佳实践改进”、“可安全确认”
- **每条规则的可操作指南** —— 准确告诉您该做什么,而不仅仅是哪里错了
- **按规则去重** —— 29 条 NETSEC-001 发现变成一张卡片,显示“12 个受影响资源”
- **可点击的 MS Learn 链接** —— “📖 如何修复”打开官方 Microsoft 修复指南
### 📊 安全报告
通过 **📊 Export Report(导出报告)** 按钮直接从 webview 导出发现:
- **CSV (Excel)** —— 直接在 Excel 中打开,列可排序、筛选
- **HTML** —— 丰富的可视化报告 —— 可从浏览器打印为 PDF (Ctrl+P)
- **Markdown** —— 用于 Pull Request、Wiki、Git 仓库
- **JSON** —— 机器可读,用于 CI/CD 流水线
### ☁️ 实时 Azure 拓扑(跨订阅)
- 通过 **Microsoft Entra ID** (Azure AD) 登录 —— 使用 VS Code 内置身份验证
- **多订阅** —— 选择租户内要扫描的订阅
- 查询 **Azure Resource Graph** 以进行高效的跨订阅发现
- 同样的可视化、同样的安全分析、同样的报告 —— 针对您的实时部署资源
- **只读** —— 永远不会修改您的 Azure 资源
### ⚡ 实时分析
- **保存时自动分析** —— 无需手动重新运行
- **内联诊断** —— 问题行上的黄色/红色波浪线
- **状态栏指示器** —— 一目了然地显示 `🛡️ NetSec: 2 Critical`
- **活动栏面板** —— 所有发现的树状视图,点击以导航到源代码
## 安全规则参考
所有规则均基于 [Microsoft Security Benchmark](https://learn.microsoft.com/security/benchmark/azure/mcsb-v2-network-security) 和 [Azure Network Security Best Practices](https://learn.microsoft.com/azure/security/fundamentals/network-best-practices):
| 规则 ID | 严重性 | 检测内容 | 修复指南 |
|---------|----------|-----------------|-----------|
| NETSEC-001 | 🔴 严重 | SSH 端口 22 对互联网开放 | [使用 Azure Bastion](https://learn.microsoft.com/azure/bastion/bastion-overview) |
| NETSEC-002 | 🔴 严重 | RDP 端口 3389 对互联网开放 | [使用 JIT Access](https://learn.microsoft.com/azure/defender-for-cloud/enable-just-in-time-access) |
| NETSEC-003 | 🟠 高危 | Any-to-any 允许规则 | [筛选网络流量](https://learn.microsoft.com/azure/virtual-network/tutorial-filter-network-traffic) |
| NETSEC-004 | 🟡 警告 | 缺少显式拒绝所有入站规则 | [NSG 默认规则](https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview#default-security-rules) |
| NETSEC-005 | 🟠 高危 | 源地址权限过宽 (0.0.0.0/0) | [使用 Service Tags](https://learn.microsoft.com/azure/virtual-network/service-tags-overview) |
| NETSEC-006 | 🟠 高危 | 出站目标权限过宽 | [网络分段](https://learn.microsoft.com/azure/security/fundamentals/network-best-practices#logically-segment-subnets) |
| NETSEC-007 | 🟠 高危 | 子网未附加 NSG | [管理 NSG]( ) |
| NETSEC-008 | 🟡 警告 | 端口范围过宽 | [网络最佳实践](https://learn.microsoft.com/azure/security/fundamentals/network-best-practices) |
| NETSEC-009 | 🟡 警告 | 低优先级全部允许规则 | [JIT 访问](https://learn.microsoft.com/azure/defender-for-cloud/just-in-time-access-overview) |
| NETSEC-010 | 🟠 高危 | 防火墙威胁情报已禁用 | [防火墙威胁情报](https://learn.microsoft.com/azure/firewall/threat-intel) |
| NETSEC-011 | 🔵 信息 | 缺少 NSG/VNet 流日志 | [流量分析](https://learn.microsoft.com/azure/network-watcher/traffic-analytics-usage-scenarios) |
| NETSEC-012 | 🔵 信息 | 硬编码 IP(改用 Service Tags) | [Service Tags](https://learn.microsoft.com/azure/virtual-network/service-tags-overview) |
| NETSEC-013 | 🔵 信息 | 操作冲突的重叠规则 | [NSG 规则评估](https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview#security-rules) |
| NETSEC-014 | 🟡 警告 | 默认路由指向 Internet(绕过防火墙) | [UDR 概述](https://learn.microsoft.com/azure/virtual-network/virtual-networks-udr-overview) |
## 命令
| 命令 | 快捷键 | 描述 |
|---------|----------|-------------|
| `Azure NetSec: Visualize Network Topology` | `Ctrl+Shift+P` → 输入 "Visualize" | 从本地 Bicep/ARM 文件打开交互式拓扑 |
| `Azure NetSec: Analyze Current File` | | 分析活动的 Bicep/ARM 文件并显示内联诊断 |
| `Azure NetSec: Analyze Workspace Security` | | 扫描工作区中的所有网络文件 |
| `Azure NetSec: Export Security Report` | | 将发现导出为 CSV (Excel)、HTML、Markdown 或 JSON |
| `Azure NetSec: Show Effective Rules for Resource` | | 选择一个 NSG 并查看其按优先级排序的所有规则 |
| `Azure NetSec: Sign In to Azure (Entra ID)` | | 向 Azure 进行身份验证并列出可用订阅 |
| `Azure NetSec: Visualize Live Azure Topology` | | 获取并可视化选定订阅中的已部署资源 |
## 配置
| 设置 | 默认值 | 描述 |
|---------|---------|-------------|
| `azureNetSec.severityThreshold` | `warning` | 显示的最低严重性(`critical`、`high`、`warning`、`info`) |
| `azureNetSec.autoAnalyzeOnSave` | `true` | 保存 Bicep/ARM 文件时自动重新分析 |
| `azureNetSec.showInlineDecorations` | `true` | 在问题行上显示黄色/红色波浪线 |
| `azureNetSec.reportFormat` | `html` | 默认格式:`html`、`markdown`、`json`、`csv` |
更改设置:**File(文件)** → **Preferences(首选项)** → **Settings(设置)** → 搜索 **"azureNetSec"**。
## 支持的 Azure 资源
| 资源类型 | 它是什么(初学者友好说明) |
|---------------|-------------------------------|
| `Microsoft.Network/virtualNetworks` | **Virtual Network (VNet)** —— 您在 Azure 中的专用网络,就像一栋包含房间(子网)的大楼 |
| `Microsoft.Network/networkSecurityGroups` | **NSG** —— 类似防火墙的筛选器,控制哪些流量可以进入或离开子网 |
| `Microsoft.Network/routeTables` | **Route Table(路由表)** —— 流量指引:“通过 Y 将流量发送到 X” |
| `Microsoft.Network/privateEndpoints` | **Private Endpoint(私有端点)** —— 通过您的专用网络而不是公共互联网连接到 Azure 服务(数据库、存储) |
| `Microsoft.Network/azureFirewalls` | **Azure Firewall** —— 云托管防火墙,检查并筛选所有流量 |
| `Microsoft.Network/virtualNetworks/virtualNetworkPeerings` | **VNet Peering** —— 连接两个 VNet 以便它们通信,就像在两栋大楼之间架桥 |
## Azure 新手?从这里开始
如果您从未接触过 Azure,以下是充分利用此扩展的学习路径:
### 1. 了解基础(15 分钟)
- 📖 [什么是 Azure?](https://learn.microsoft.com/azure/cloud-adoption-framework/get-started/what-is-azure) —— 如果您从未使用过云计算,请从这里开始
- 📖 [什么是虚拟网络?](https://learn.microsoft.com/azure/virtual-network/virtual-networks-overview) —— Azure 网络的基础
- 📖 [什么是网络安全组?](https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview) —— 流量筛选的工作原理
### 2. 学习 Bicep(30 分钟)
- 📖 [什么是 Bicep?](https://learn.microsoft.com/azure/azure-resource-manager/bicep/overview) —— Azure 的基础设施即代码
- 📖 [Bicep 快速入门](https://learn.microsoft.com/azure/azure-resource-manager/bicep/quickstart-create-bicep-use-visual-studio-code) —— 在 VS Code 中编写您的第一个 Bicep 文件
- 📖 [安装 Bicep 扩展](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep) —— Bicep 文件的语法高亮和 IntelliSense
### 3. 安全基础(20 分钟)
- 📖 [Azure 网络安全最佳实践](https://learn.microsoft.com/azure/security/fundamentals/network-best-practices) —— 此扩展所执行的规则
- 📖 [云采用框架 —— 网络分段](https://learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/plan-for-landing-zone-network-segmentation) —— 如何像专业人士一样构建您的网络
- 📖 [良好架构框架 —— 安全支柱](https://learn.microsoft.com/azure/well-architected/security/) —— Microsoft 安全云架构蓝图
### 4. 动手实践
1. 安装此扩展([步骤 1](#step-1-install-the-extension))
2. 粘贴示例 Bicep 代码([步骤 2](#step-2-open-or-create-a-bicep-file))
3. 可视化并修复安全问题([步骤 3-5](#step-3-visualize-your-network))
4. 探索每个发现中的 Microsoft Learn 链接 —— 它们经过精心筛选,旨在教您所需的知识
## Microsoft Learn 参考资料
此扩展的安全规则基于官方 Microsoft 最佳实践:
- [Azure Security Benchmark —— 网络安全](https://learn.microsoft.com/security/benchmark/azure/mcsb-v2-network-security)
- [Azure 网络安全最佳实践](https://learn.microsoft.com/azure/security/fundamentals/network-best-practices)
- [NSG 概述与默认规则](https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview)
- [安全 VNet 部署](https://learn.microsoft.com/azure/virtual-network/secure-virtual-network)
- [流量分析](https://learn.microsoft.com/azure/network-watcher/traffic-analytics-usage-scenarios)
- [Azure Bastion(替代开放的 SSH/RDP)](https://learn.microsoft.com/azure/bastion/bastion-overview)
- [Service Tags](https://learn.microsoft.com/azure/virtual-network/service-tags-overview)
- [Private Link](https://learn.microsoft.com/azure/private-link/private-link-overview)
- [Azure Firewall 威胁情报](https://learn.microsoft.com/azure/firewall/threat-intel)
- [云采用框架 —— 网络分段](https://learn.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/plan-for-landing-zone-network-segmentation)
- [良好架构框架 —— 安全](https://learn.microsoft.com/azure/well-architected/security/)
## 贡献指南
欢迎贡献!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 许可证
[MIT](LICENSE) © KimVaddi
标签:ARM 模板, Azure, Bicep, CISA项目, DevSecOps, DInvoke, EC2, Entra ID, IaC, Microsoft Security Benchmark, NSG, 上游代理, 云基础设施, 云安全监控, 安全合规, 安全报告, 开放端口检测, 拓扑可视化, 网络代理, 网络安全, 自动化攻击, 防火墙规则, 隐私保护, 静态分析