你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure CLI 通过安全组视图分析虚拟机安全性
注意
安全组视图 API 不再维护,很快就会被弃用。 请使用提供相同功能的有效安全规则功能。
安全组视图返回已应用于虚拟机的已配置的有效网络安全规则。 此功能可用于审核和诊断已在 VM 上配置以确保正确允许或拒绝流量的网络安全组和规则。 在本文中,我们将说明如何使用 Azure CLI 检索虚拟机的已配置的有效安全规则
若要执行本文中的步骤,需要安装适用于 Windows、Linux 或 macOS 的 Azure CLI。
开始之前
此方案假定已按照创建网络观察程序中的步骤创建网络观察程序。
方案
本文中介绍的方案检索给定虚拟机的已配置有效安全规则。
获取 VM
需要虚拟机才能运行 vm list
cmdlet。 以下命令列出资源组中的虚拟机:
az vm list -resource-group resourceGroupName
知道虚拟机后,可以使用 vm show
cmdlet 获取其资源 ID:
az vm show -resource-group resourceGroupName -name virtualMachineName
检索安全组视图
下一步是检索安全组视图结果。
az network watcher show-security-group-view --resource-group resourceGroupName --vm vmName
查看结果
以下示例是返回的结果的缩短响应。 该结果显示虚拟机上所有已应用的有效安全规则,分为以下几组:NetworkInterfaceSecurityRules、DefaultSecurityRules 和 EffectiveSecurityRules。
{
"networkInterfaces": [
{
"id": "/subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{nicName}",
"resourceGroup": "{resourceGroupName}",
"securityRuleAssociations": {
"defaultSecurityRules": [
{
"access": "Allow",
"description": "Allow inbound traffic from all VMs in VNET",
"destinationAddressPrefix": "VirtualNetwork",
"destinationPortRange": "*",
"direction": "Inbound",
"etag": null,
"id": "/subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups//providers/Microsoft.Network/networkSecurityGroups/{nsgName}/defaultSecurityRules/AllowVnetInBound",
"name": "AllowVnetInBound",
"priority": 65000,
"protocol": "*",
"provisioningState": "Succeeded",
"resourceGroup": "",
"sourceAddressPrefix": "VirtualNetwork",
"sourcePortRange": "*"
}...
],
"effectiveSecurityRules": [
{
"access": "Deny",
"destinationAddressPrefix": "*",
"destinationPortRange": "0-65535",
"direction": "Outbound",
"expandedDestinationAddressPrefix": null,
"expandedSourceAddressPrefix": null,
"name": "DefaultOutboundDenyAll",
"priority": 65500,
"protocol": "All",
"sourceAddressPrefix": "*",
"sourcePortRange": "0-65535"
},
{
"access": "Allow",
"destinationAddressPrefix": "VirtualNetwork",
"destinationPortRange": "0-65535",
"direction": "Outbound",
"expandedDestinationAddressPrefix": [
"10.1.0.0/24",
"168.63.129.16/32"
],
"expandedSourceAddressPrefix": [
"10.1.0.0/24",
"168.63.129.16/32"
],
"name": "DefaultRule_AllowVnetOutBound",
"priority": 65000,
"protocol": "All",
"sourceAddressPrefix": "VirtualNetwork",
"sourcePortRange": "0-65535"
},...
],
"networkInterfaceAssociation": {
"id": "/subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{nicName}",
"resourceGroup": "{resourceGroupName}",
"securityRules": [
{
"access": "Allow",
"description": null,
"destinationAddressPrefix": "*",
"destinationPortRange": "3389",
"direction": "Inbound",
"etag": "W/\"efb606c1-2d54-475a-ab20-da3f80393577\"",
"id": "/subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}/securityRules/default-allow-rdp",
"name": "default-allow-rdp",
"priority": 1000,
"protocol": "TCP",
"provisioningState": "Succeeded",
"resourceGroup": "{resourceGroupName}",
"sourceAddressPrefix": "*",
"sourcePortRange": "*"
}
]
},
"subnetAssociation": null
}
}
]
}
后续步骤
请访问使用网络观察程序审核网络安全组 (NSG),了解如何自动执行网络安全组的验证。
请访问安全组视图概述,了解有关应用于网络资源的安全规则的详细信息