Analizzare la protezione della macchina virtuale visualizzando un gruppo di sicurezza con PowerShellAnalyze your Virtual Machine security with Security Group View using PowerShell

La visualizzazione di un gruppo di sicurezza consente di recuperare le regole di sicurezza di rete configurate ed effettive applicate a una macchina virtuale.Security group view returns configured and effective network security rules that are applied to a virtual machine. Questa funzionalità è utile per controllare e diagnosticare i gruppi di sicurezza di rete e le regole configurate in una macchina virtuale per verificare che il traffico viene consentito o negato in modo corretto.This capability is useful to audit and diagnose Network Security Groups and rules that are configured on a VM to ensure traffic is being correctly allowed or denied. Questo articolo illustra come recuperare le regole di sicurezza configurate ed effettive applicate a una macchina virtuale tramite PowerShellIn this article, we show you how to retrieve the configured and effective security rules to a virtual machine using PowerShell

Prima di iniziareBefore you begin

In questo scenario, il cmdlet Get-AzureRmNetworkWatcherSecurityGroupView viene eseguito per recuperare le informazioni sulla regola di sicurezza.In this scenario, you run the Get-AzureRmNetworkWatcherSecurityGroupView cmdlet to retrieve the security rule information.

Questo scenario presuppone il completamento dei passaggi descritti in Creare un servizio Network Watcher per creare un servizio Network Watcher.This scenario assumes you have already followed the steps in Create a Network Watcher to create a Network Watcher.

ScenarioScenario

Lo scenario illustrato in questo articolo recupera le regole di sicurezza configurate ed effettive applicate a una determinata macchina virtuale.The scenario covered in this article retrieves the configured and effective security rules for a given virtual machine.

Recuperare Network WatcherRetrieve Network Watcher

Il primo passaggio consente di recuperare l'istanza di Network Watcher.The first step is to retrieve the Network Watcher instance. Questa variabile viene passata al cmdlet Get-AzureRmNetworkWatcherSecurityGroupView.This variable is passed to the Get-AzureRmNetworkWatcherSecurityGroupView cmdlet.

$nw = Get-AzurermResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" }
$networkWatcher = Get-AzureRmNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName

Ottenere una macchina virtualeGet a VM

È necessario che una macchina virtuale esegua il cmdlet Get-AzureRmNetworkWatcherSecurityGroupView.A virtual machine is required to run the Get-AzureRmNetworkWatcherSecurityGroupView cmdlet against. Nell'esempio seguente viene ottenuto un oggetto macchina virtuale.The following example gets a VM object.

$VM = Get-AzurermVM -ResourceGroupName testrg -Name testvm1

Recuperare la visualizzazione del gruppo di sicurezzaRetrieve security group view

Il passaggio successivo prevede il recupero del risultato della visualizzazione del gruppo di sicurezza.The next step is to retrieve the security group view result.

$secgroup = Get-AzureRmNetworkWatcherSecurityGroupView -NetworkWatcher $networkWatcher -TargetVirtualMachineId $VM.Id

Visualizzazione dei risultatiViewing the results

L'esempio seguente è una risposta abbreviata dei risultati restituiti.The following example is a shortened response of the results returned. I risultati mostrano tutte le regole di sicurezza effettive e applicate alla macchina virtuale, suddivise nei gruppi NetworkInterfaceSecurityRules, DefaultSecurityRules e EffectiveSecurityRules.The results show all the effective and applied security rules on the virtual machine broken down in groups of NetworkInterfaceSecurityRules, DefaultSecurityRules, and EffectiveSecurityRules.

NetworkInterfaces : [
                      {
                        "NetworkInterfaceSecurityRules": [
                          {
                            "Name": "default-allow-rdp",
                            "Etag": "W/\"d4c411d4-0d62-49dc-8092-3d4b57825740\"",
                            "Id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg2/providers/Microsoft.Network/networkSecurityGroups/testvm2-nsg/securityRules/default-allow-rdp",
                            "Protocol": "TCP",
                            "SourcePortRange": "*",
                            "DestinationPortRange": "3389",
                            "SourceAddressPrefix": "*",
                            "DestinationAddressPrefix": "*",
                            "Access": "Allow",
                            "Priority": 1000,
                            "Direction": "Inbound",
                            "ProvisioningState": "Succeeded"
                          }
                          ...
                        ],
                        "DefaultSecurityRules": [
                          {
                            "Name": "AllowVnetInBound",
                            "Id": "/subscriptions00000000-0000-0000-0000-000000000000/resourceGroups/testrg2/providers/Microsoft.Network/networkSecurityGroups/testvm2-nsg/defaultSecurityRules/",
                            "Description": "Allow inbound traffic from all VMs in VNET",
                            "Protocol": "*",
                            "SourcePortRange": "*",
                            "DestinationPortRange": "*",
                            "SourceAddressPrefix": "VirtualNetwork",
                            "DestinationAddressPrefix": "VirtualNetwork",
                            "Access": "Allow",
                            "Priority": 65000,
                            "Direction": "Inbound",
                            "ProvisioningState": "Succeeded"
                          }
                          ...
                        ],
                        "EffectiveSecurityRules": [
                          {
                            "Name": "DefaultOutboundDenyAll",
                            "Protocol": "All",
                            "SourcePortRange": "0-65535",
                            "DestinationPortRange": "0-65535",
                            "SourceAddressPrefix": "*",
                            "DestinationAddressPrefix": "*",
                            "ExpandedSourceAddressPrefix": [],
                            "ExpandedDestinationAddressPrefix": [],
                            "Access": "Deny",
                            "Priority": 65500,
                            "Direction": "Outbound"
                          },
                          ...
                        ]
                      }
                    ]

Passaggi successiviNext steps

Consultare Auditing Network Security Groups (NSG) with Network Watcher (Verifica dei gruppi di sicurezza di rete con Network Watcher) per informazioni su come automatizzare la verifica dei gruppi di sicurezza di rete.Visit Auditing Network Security Groups (NSG) with Network Watcher to learn how to automate validation of Network Security Groups.