Analýza zabezpečení virtuálního počítače pomocí zobrazení skupiny zabezpečení pomocí Azure CLI

Poznámka

Rozhraní API pro zobrazení skupin zabezpečení se už neudržuje a brzy bude zastaralé. Použijte funkci Platná pravidla zabezpečení , která poskytuje stejné funkce.

Zobrazení skupiny zabezpečení vrátí nakonfigurovaná a efektivní pravidla zabezpečení sítě, která se použijí na virtuální počítač. Tato funkce je užitečná k auditování a diagnostice Skupiny a pravidel zabezpečení sítě nakonfigurovaných na virtuálním počítači, aby se zajistilo správné povolení nebo odepření provozu. V tomto článku vám ukážeme, jak načíst nakonfigurovaná a efektivní pravidla zabezpečení do virtuálního počítače pomocí Azure CLI.

Pokud chcete provést kroky v tomto článku, musíte nainstalovat Azure CLI pro Windows, Linux nebo macOS.

Než začnete

Tento scénář předpokládá, že jste už postupovali podle kroků v Create Network Watcher k vytvoření Network Watcher.

Scenario

Scénář popsaný v tomto článku načte nakonfigurovaná a efektivní pravidla zabezpečení pro daný virtuální počítač.

Získání virtuálního počítače

Ke spuštění rutiny vm list se vyžaduje virtuální počítač. Následující příkaz vypíše virtuální počítače ve skupině prostředků:

az vm list -resource-group resourceGroupName

Jakmile virtuální počítač znáte, můžete k získání ID prostředku použít rutinu vm show :

az vm show -resource-group resourceGroupName -name virtualMachineName

Načtení zobrazení skupiny zabezpečení

Dalším krokem je načtení výsledku zobrazení skupiny zabezpečení.

az network watcher show-security-group-view --resource-group resourceGroupName --vm vmName

Zobrazení výsledků

Následující příklad je zkrácená odpověď vrácených výsledků. Výsledky zobrazí všechna platná a použitá pravidla zabezpečení na virtuálním počítači rozdělená do skupin NetworkInterfaceSecurityRules, DefaultSecurityRules a 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
      }
    }
  ]
}

Další kroky

Informace o automatizaci ověřování Skupiny zabezpečení sítě najdete v tématu Auditování Skupiny zabezpečení sítě (NSG) pomocí Network Watcher.

Další informace o pravidlech zabezpečení, která se vztahují na síťové prostředky, najdete v tématu Přehled zobrazení skupiny zabezpečení.