L'esempio riportato in questo articolo illustra come un gruppo di sicurezza di rete non configurato correttamente può impedire l'uso di Azure Bastion per connettersi a una macchina virtuale.
I passaggi descritti in questo articolo eseguono i cmdlet di Azure PowerShell in modo interattivo in Azure Cloud Shell. Per eseguire i comandi in Cloud Shell, selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. Selezionare Copia per copiare il codice e incollarlo in Cloud Shell per eseguirlo. È anche possibile eseguire Cloud Shell dal portale di Azure.
È anche possibile installare Azure PowerShell in locale per eseguire i cmdlet. In questo articolo si presuppone che il modulo Azure PowerShell sia disponibile. Per altre informazioni, vedere Installare Azure PowerShell. Per trovare la versione installata, eseguire Get-InstalledModule -Name Az. Se si esegue PowerShell in locale, accedere ad Azure usando il cmdlet Connect-AzAccount.
Azure Cloud Shell o interfaccia della riga di comando di Azure.
I passaggi descritti in questo articolo eseguono i comandi dell'interfaccia della riga di comando di Azurel in modo interattivo in Azure Cloud Shell. Per eseguire i comandi in Cloud Shell, selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. Selezionare Copia per copiare il codice e incollarlo in Cloud Shell per eseguirlo. È anche possibile eseguire Cloud Shell dal portale di Azure.
In questa sezione viene creata una rete virtuale con due subnet e un host Azure Bastion. La prima subnet viene usata per la macchina virtuale e la seconda subnet viene usata per l'host Bastion. È anche possibile creare un gruppo di sicurezza di rete e applicarlo alla prima subnet.
Nella casella di ricerca nella parte superiore del portale immettere reti virtuali. Selezionare Reti virtuali nei risultati della ricerca.
Seleziona + Crea. In Crea rete virtuale immettere o selezionare i valori seguenti nella scheda Informazioni di base:
Impostazione
Valore
Dettagli del progetto
Abbonamento
Seleziona la tua sottoscrizione di Azure.
Gruppo di risorse
Selezionare Crea nuovo. Immettere myResourceGroup in Nome. Selezionare OK.
Dettagli istanza
Nome della rete virtuale
Immetti myVNet.
Paese
Selezionare (Stati Uniti) Stati Uniti orientali.
Selezionare la scheda Sicurezza oppure selezionare il pulsante Avanti nella parte inferiore della pagina.
In Azure Bastion selezionare Abilita Azure Bastion e accettare i valori predefiniti:
Impostazione
Valore
Nome host Azure Bastion
myVNet-Bastion.
Indirizzo IP pubblico di Azure Bastion
(Nuovo) myVNet-bastion-publicIpAddress.
Selezionare la scheda Indirizzi IP oppure fare clic sul pulsante Avanti nella parte inferiore della pagina.
Accettare lo spazio indirizzi IP predefinito 10.0.0.0/16 e modificare la subnet predefinita selezionando l'icona a forma di matita. Nella pagina Modifica subnet immettere i valori seguenti:
Impostazione
Valore
Dettagli subnet
Nome
Immettere mySubnet.
Sicurezza
Gruppo di sicurezza di rete
Selezionare Crea nuovo. Immettere mySubnet-nsg in Nome. Selezionare OK.
Selezionare Rivedi e crea.
Rivedere le impostazioni e quindi selezionare Crea.
Creare un gruppo di risorse usando New-AzResourceGroup. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.
# Create a resource group.
New-AzResourceGroup -Name 'myResourceGroup' -Location 'eastus'
Creare la risorsa indirizzo IP pubblico necessaria per l'host Bastion usando New-AzPublicIpAddress.
# Create a public IP address for Azure Bastion.
New-AzPublicIpAddress -ResourceGroupName 'myResourceGroup' -Name 'myBastionIp' -Location 'eastus' -AllocationMethod 'Static' -Sku 'Standard'
Creare un gruppo di risorse usando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.
# Create a resource group.
az group create --name 'myResourceGroup' --location 'eastus'
I prezzi orari iniziano dal momento in cui viene distribuito l'host Bastion, indipendentemente dall'utilizzo dei dati in uscita. Per altre informazioni, vedere Prezzi. È consigliabile eliminare questa risorsa al termine dell'uso.
Creare una macchina virtuale
In questa sezione viene creata una macchina virtuale e un gruppo di sicurezza di rete applicato alla relativa interfaccia di rete.
# Create a default network security group.
az network nsg create --name 'myVM-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Creare una macchina virtuale con az vm create. Quando richiesto, immettere nome utente e password.
# Create a virtual machine using the latest Windows Server 2022 image.
az vm create --resource-group 'myResourceGroup' --name 'myVM' --location 'eastus' --vnet-name 'myVNet' --subnet 'mySubnet' --public-ip-address '' --nsg 'myVM-nsg' --image 'Win2022AzureEditionCore'
Aggiungere una regola di sicurezza al gruppo di sicurezza di rete
In questa sezione viene aggiunta una regola di sicurezza al gruppo di sicurezza di rete associato all'interfaccia di rete di myVM. La regola nega il traffico in ingresso dalla rete virtuale.
Nella casella di ricerca nella parte superiore del portale immettere Gruppi di sicurezza di rete. Selezionare Gruppi di sicurezza di rete nei risultati della ricerca.
Nell'elenco dei gruppi di sicurezza di rete selezionare myVM-nsg.
In Impostazioni selezionare Regole di sicurezza in ingresso.
Seleziona + Aggiungi. Nella scheda Rete immettere o selezionare i valori seguenti:
# Place the network security group configuration into a variable.
$networkSecurityGroup = Get-AzNetworkSecurityGroup -Name 'myVM-nsg' -ResourceGroupName 'myResourceGroup'
# Create a security rule that denies inbound traffic from the virtual network service tag.
Add-AzNetworkSecurityRuleConfig -Name 'DenyVnetInBound' -NetworkSecurityGroup $networkSecurityGroup `
-Access 'Deny' -Protocol '*' -Direction 'Inbound' -Priority '1000' `
-SourceAddressPrefix 'virtualNetwork' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '*'
# Updates the network security group.
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $networkSecurityGroup
Usare az network nsg rule create per aggiungere al gruppo di sicurezza di rete una regola di sicurezza che nega il traffico dalla rete virtuale.
# Add to the network security group a security rule that denies inbound traffic from the virtual network service tag.
az network nsg rule create --name 'DenyVnetInBound' --resource-group 'myResourceGroup' --nsg-name 'myVM-nsg' --priority '1000' \
--access 'Deny' --protocol '*' --direction 'Inbound' --source-address-prefixes 'virtualNetwork' --source-port-ranges '*' \
--destination-address-prefixes '*' --destination-port-ranges '*'
Nota
Il tag del servizio VirtualNetwork rappresenta lo spazio degli indirizzi della rete virtuale, tutti gli spazi indirizzi locali connessi, le reti virtuali con peering, le reti virtuali connesse a un gateway di rete virtuale, l'indirizzo IP virtuale dell'host e i prefissi di indirizzo usati nelle route definite dall'utente. Per altre informazioni, vedere Tag del servizio.
Controllare le regole di sicurezza applicate al traffico di una macchina virtuale
Usare la diagnostica del gruppo di sicurezza di rete per controllare le regole di sicurezza applicate al traffico originato dalla subnet Bastion alla macchina virtuale.
Nella casella di ricerca nella parte superiore del portale cercare e selezionare Network Watcher.
In Strumenti di diagnostica di rete selezionare Diagnostica del gruppo di sicurezza di rete.
Nella pagina diagnostica del gruppo di sicurezza di rete immettere o selezionare i valori seguenti:
Impostazione
Valore
Risorsa di destinazione
Tipo di risorsa di destinazione
Selezionare Macchina virtuale.
Macchina virtuale
Selezionare la macchina virtuale myVM .
Dettagli del traffico
Protocollo
Selezionare TCP. Altre opzioni disponibili sono: Qualsiasi, UDP e ICMP.
Direzione
Selezionare In entrata. L'altra opzione disponibile è: In uscita.
Tipo di origine
Selezionare Indirizzo IPv4/CIDR. L'altra opzione disponibile è: Tag del servizio.
Indirizzo IPv4/CIDR
Immettere 10.0.1.0/26, ovvero l'intervallo di indirizzi IP della subnet Bastion. I valori accettabili sono: indirizzo IP singolo, più indirizzi IP, prefisso IP singolo e più prefissi IP.
Indirizzo IP di destinazione
Lasciare il valore predefinito 10.0.0.4, ovvero l'indirizzo IP di myVM.
Porta di destinazione
Immettere * per includere tutte le porte.
Selezionare Esegui la diagnostica del gruppo di sicurezza di rete per eseguire il test. Quando la diagnostica del gruppo di sicurezza di rete completa la verifica di tutte le regole di sicurezza, viene visualizzato il risultato.
Il risultato mostra che sono state valutate tre regole di sicurezza per la connessione in ingresso dalla subnet Bastion:
GlobalRules: questa regola di amministrazione della sicurezza viene applicata a livello di rete virtuale usando Azure Rete virtuale Gestisci. La regola consente il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
mySubnet-nsg: questo gruppo di sicurezza di rete viene applicato a livello di subnet (subnet della macchina virtuale). La regola consente il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
myVM-nsg: questo gruppo di sicurezza di rete viene applicato a livello di interfaccia di rete (NIC). La regola nega il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
Selezionare Visualizza i dettagli di myVM-nsg per visualizzare i dettagli sulle regole di sicurezza presenti in questo gruppo di sicurezza di rete e sulla regola che nega il traffico.
Nel gruppo di sicurezza di rete myVM-nsg la regola di sicurezza DenyVnetInBound nega il traffico proveniente dallo spazio indirizzi del tag del servizio VirtualNetwork alla macchina virtuale. L'host Bastion usa gli indirizzi IP dell'intervallo di indirizzi: 10.0.1.0/26, incluso nel tag del servizio VirtualNetwork , per connettersi alla macchina virtuale. Di conseguenza, la connessione dall'host Bastion viene negata dalla regola di sicurezza DenyVnetInBound .
Il risultato mostra che sono state valutate tre regole di sicurezza per la connessione in ingresso dalla subnet Bastion:
GlobalRules: questa regola di amministrazione della sicurezza viene applicata a livello di rete virtuale usando Azure Rete virtuale Gestisci. La regola consente il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
mySubnet-nsg: questo gruppo di sicurezza di rete viene applicato a livello di subnet (subnet della macchina virtuale). La regola consente il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
myVM-nsg: questo gruppo di sicurezza di rete viene applicato a livello di interfaccia di rete (NIC). La regola nega il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
Nel gruppo di sicurezza di rete myVM-nsg la regola di sicurezza DenyVnetInBound nega il traffico proveniente dallo spazio indirizzi del tag del servizio VirtualNetwork alla macchina virtuale. L'host Bastion usa gli indirizzi IP della versione 10.0.1.0/26, inclusi il tag del servizio VirtualNetwork , per connettersi alla macchina virtuale. Di conseguenza, la connessione dall'host Bastion viene negata dalla regola di sicurezza DenyVnetInBound .
Il risultato mostra che sono state valutate tre regole di sicurezza per la connessione in ingresso dalla subnet Bastion:
GlobalRules: questa regola di amministrazione della sicurezza viene applicata a livello di rete virtuale usando Azure Rete virtuale Gestisci. La regola consente il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
mySubnet-nsg: questo gruppo di sicurezza di rete viene applicato a livello di subnet (subnet della macchina virtuale). La regola consente il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
myVM-nsg: questo gruppo di sicurezza di rete viene applicato a livello di interfaccia di rete (NIC). La regola nega il traffico TCP in ingresso dalla subnet Bastion alla macchina virtuale.
Nel gruppo di sicurezza di rete myVM-nsg la regola di sicurezza DenyVnetInBound nega il traffico proveniente dallo spazio indirizzi del tag del servizio VirtualNetwork alla macchina virtuale. L'host Bastion usa gli indirizzi IP della versione 10.0.1.0/26, inclusi il tag del servizio VirtualNetwork , per connettersi alla macchina virtuale. Di conseguenza, la connessione dall'host Bastion viene negata dalla regola di sicurezza DenyVnetInBound .
Aggiungere una regola di sicurezza per consentire il traffico dalla subnet Bastion
Per connettersi a myVM usando Azure Bastion, il traffico dalla subnet Bastion deve essere consentito dal gruppo di sicurezza di rete. Per consentire il traffico dalla versione 10.0.1.0/26, aggiungere una regola di sicurezza con priorità più alta (numero di priorità inferiore) rispetto alla regola DenyVnetInBound o modificare la regola DenyVnetInBound per consentire il traffico dalla subnet Bastion.
È possibile aggiungere la regola di sicurezza al gruppo di sicurezza di rete dalla pagina Network Watcher che mostra i dettagli sulla regola di sicurezza che nega il traffico alla macchina virtuale.
Per aggiungere la regola di sicurezza da Network Watcher, selezionare + Aggiungi regola di sicurezza e quindi immettere o selezionare i valori seguenti:
Impostazione
Valore
Origine
Selezionare Indirizzi IP.
Indirizzi IP/Intervalli CIDR di origine
Immettere 10.0.1.0/26, ovvero l'intervallo di indirizzi IP della subnet Bastion.
Intervalli porte di origine
Entrare*.
Destinazione
selezionare Tutti.
Servizio
Seleziona Personalizza.
Intervalli porte di destinazione
Entrare*.
Protocollo
selezionare Tutti.
Azione
Seleziona Consenti.
Priorità
Immettere 900, ovvero una priorità superiore a 1000 usata per la regola DenyVnetInBound.
Nome
Immettere AllowBastionConnections.
Selezionare Ricontrolla per eseguire di nuovo la sessione di diagnostica. La sessione di diagnostica dovrebbe ora indicare che il traffico proveniente dalla subnet Bastion è consentito.
La regola di sicurezza AllowBastionConnections consente il traffico da qualsiasi indirizzo IP nella versione 10.0.1.0/26 alla macchina virtuale. Poiché l'host Bastion usa indirizzi IP dalla versione 10.0.1.0/26, la connessione alla macchina virtuale è consentita dalla regola di sicurezza AllowBastionConnections .
La regola di sicurezza AllowBastionConnections consente il traffico da qualsiasi indirizzo IP nella versione 10.0.1.0/26 alla macchina virtuale. Poiché l'host Bastion usa indirizzi IP dalla versione 10.0.1.0/26, la connessione alla macchina virtuale è consentita dalla regola di sicurezza AllowBastionConnections .
Usare az network nsg rule create per aggiungere al gruppo di sicurezza di rete una regola di sicurezza che consente il traffico dalla subnet Bastion.
# Add a security rule to the network security group.
az network nsg rule create --name 'AllowBastionConnections' --resource-group 'myResourceGroup' --nsg-name 'myVM-nsg' --priority '900' \
--access 'Allow' --protocol '*' --direction 'Inbound' --source-address-prefixes '10.0.1.0/26' --source-port-ranges '*' \
--destination-address-prefixes '*' --destination-port-ranges '*'
La regola di sicurezza AllowBastionConnections consente il traffico da qualsiasi indirizzo IP nella versione 10.0.1.0/26 alla macchina virtuale. Poiché l'host Bastion usa indirizzi IP dalla versione 10.0.1.0/26, la connessione alla macchina virtuale è consentita dalla regola di sicurezza AllowBastionConnections .
Pulire le risorse
Quando non sono più necessari, eliminare il gruppo di risorse e tutte le risorse in esso contenute:
Per informazioni su come risolvere i problemi di routing delle macchine virtuali, vedere Diagnosticare un problema di routing di rete della macchina virtuale.