In dit artikel leert u hoe u diagnostische gegevens van Azure Network Watcher NSG gebruikt om beveiligingsregels te controleren en op te lossen die zijn toegepast op uw Azure-verkeer via netwerkbeveiligingsgroepen en Azure Virtual Network Manager. NSG-diagnose controleert of het verkeer wordt toegestaan of geweigerd door toegepaste beveiligingsregels.
In het voorbeeld in dit artikel ziet u hoe een onjuist geconfigureerde netwerkbeveiligingsgroep kan voorkomen dat u Azure Bastion gebruikt om verbinding te maken met een virtuele machine.
Met de stappen in dit artikel worden de Azure PowerShell-cmdlets interactief uitgevoerd in Azure Cloud Shell. Als u de opdrachten in Cloud Shell wilt uitvoeren, selecteert u Cloud Shell openen in de rechterbovenhoek van een codeblok. Selecteer Kopiëren om de code te kopiëren en plak deze in Cloud Shell om deze uit te voeren. U kunt Cloud Shell ook uitvoeren vanuit Azure Portal.
U kunt Azure PowerShell ook lokaal installeren om de cmdlets uit te voeren. Voor dit artikel is de Az PowerShell-module vereist. Zie Azure PowerShell installeren voor meer informatie. Voer Get-InstalledModule -Name Az uit om te zien welke versie is geïnstalleerd. Als u PowerShell lokaal uitvoert, meldt u zich aan bij Azure met behulp van de cmdlet Connect-AzAccount .
In de stappen in dit artikel worden de Azure CLI-opdrachten interactief uitgevoerd in Azure Cloud Shell. Als u de opdrachten in Cloud Shell wilt uitvoeren, selecteert u Cloud Shell openen in de rechterbovenhoek van een codeblok. Selecteer Kopiëren om de code te kopiëren en plak deze in Cloud Shell om deze uit te voeren. U kunt Cloud Shell ook uitvoeren vanuit Azure Portal.
U kunt Azure CLI ook lokaal installeren om de opdrachten uit te voeren. Als u Azure CLI lokaal uitvoert, meldt u zich aan bij Azure met behulp van de opdracht az login .
Een virtueel netwerk en een Bastion-host maken
In deze sectie maakt u een virtueel netwerk met twee subnetten en een Azure Bastion-host. Het eerste subnet wordt gebruikt voor de virtuele machine en het tweede subnet wordt gebruikt voor de Bastion-host. U maakt ook een netwerkbeveiligingsgroep en past deze toe op het eerste subnet.
Voer in het zoekvak boven aan de portal virtuele netwerken in. Selecteer Virtuele netwerken in de zoekresultaten.
Selecteer + Maken. Voer in Virtueel netwerk maken de volgende waarden in of selecteer deze op het tabblad Basisbeginselen:
Instelling
Weergegeven als
Projectgegevens
Abonnement
Selecteer uw Azure-abonnement.
Resourcegroep
Selecteer Nieuw maken. Voer myResourceGroup in Naam in. Selecteer OK.
Exemplaardetails
Naam van virtueel netwerk
Voer myVNet in.
Regio
Selecteer (VS) VS - oost.
Selecteer het tabblad Beveiliging of selecteer de knop Volgende onder aan de pagina.
Selecteer Onder Azure Bastion de optie Azure Bastion inschakelen en accepteer de standaardwaarden:
Instelling
Weergegeven als
Azure Bastion-hostnaam
myVNet-Bastion.
Openbaar IP-adres van Azure Bastion
(Nieuw) myVNet-bastion-publicIpAddress.
Selecteer het tabblad IP-adressen of selecteer de knop Volgende onder aan de pagina.
Accepteer de standaard-IP-adresruimte 10.0.0.0/16 en bewerk het standaardsubnet door het potloodpictogram te selecteren. Voer op de pagina Subnet bewerken de volgende waarden in:
Instelling
Weergegeven als
Details van subnet
Naam
Voer mySubnet in.
Beveiliging
Netwerkbeveiligingsgroep
Selecteer Nieuw maken. Voer mySubnet-nsg in naam in. Selecteer OK.
Selecteer beoordelen en maken.
Controleer de instellingen en selecteer vervolgens Maken.
Maak een resourcegroep met New-AzResourceGroup. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.
# Create a resource group.
New-AzResourceGroup -Name 'myResourceGroup' -Location 'eastus'
Maak de openbare IP-adresresource die is vereist voor de Bastion-host met behulp van New-AzPublicIpAddress.
# Create a public IP address for Azure Bastion.
New-AzPublicIpAddress -ResourceGroupName 'myResourceGroup' -Name 'myBastionIp' -Location 'eastus' -AllocationMethod 'Static' -Sku 'Standard'
Maak een resourcegroep met de opdracht az group create. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.
# Create a resource group.
az group create --name 'myResourceGroup' --location 'eastus'
De prijzen per uur beginnen vanaf het moment dat de Bastion-host wordt geïmplementeerd, ongeacht het uitgaande gegevensgebruik. Ga voor meer informatie naar Prijzen. U wordt aangeraden deze resource te verwijderen zodra u klaar bent met het gebruik ervan.
Maak een virtuele machine
In deze sectie maakt u een virtuele machine en een netwerkbeveiligingsgroep die is toegepast op de netwerkinterface.
# Create a default network security group.
az network nsg create --name 'myVM-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Maak een virtuele machine met az vm create. Voer een gebruikersnaam en wachtwoord in wanneer u hierom wordt gevraagd.
# 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'
Een beveiligingsregel toevoegen aan de netwerkbeveiligingsgroep
In deze sectie voegt u een beveiligingsregel toe aan de netwerkbeveiligingsgroep die is gekoppeld aan de netwerkinterface van myVM. De regel weigert binnenkomend verkeer van het virtuele netwerk.
# 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
Gebruik az network nsg rule create om toe te voegen aan de netwerkbeveiligingsgroep een beveiligingsregel die verkeer van het virtuele netwerk weigert.
# 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 '*'
Notitie
De VirtualNetwork-servicetag vertegenwoordigt de adresruimte van het virtuele netwerk, alle verbonden on-premises adresruimten, gekoppelde virtuele netwerken, virtuele netwerken die zijn verbonden met een virtuele netwerkgateway, het virtuele IP-adres van de host en adresvoorvoegsels die worden gebruikt voor door de gebruiker gedefinieerde routes. Zie Servicetags voor meer informatie.
Beveiligingsregels controleren die worden toegepast op verkeer van een virtuele machine
Gebruik NSG-diagnostische gegevens om de beveiligingsregels te controleren die zijn toegepast op het verkeer dat afkomstig is van het Bastion-subnet naar de virtuele machine.
Zoek en selecteer Network Watcher in het zoekvak boven aan de portal.
Selecteer onder Diagnostische hulpprogramma's voor netwerk de optie NSG-diagnostische gegevens.
Voer op de pagina diagnostische gegevens van de NSG de volgende waarden in of selecteer deze:
Instelling
Weergegeven als
Doelresource
Doelbrontype
Virtuele machine selecteren.
Virtuele machine
Selecteer de virtuele machine myVM .
Verkeersdetails
Protocol
Selecteer TCP. Andere beschikbare opties zijn: Any, UDP en ICMP.
Richting
Selecteer Inkomend. Andere beschikbare optie is: Uitgaand.
Brontype
Selecteer IPv4-adres/CIDR. Andere beschikbare optie is: Servicetag.
IPv4-adres/CIDR
Voer 10.0.1.0/26 in. Dit is het IP-adresbereik van het Bastion-subnet. Acceptabele waarden zijn: één IP-adres, meerdere IP-adressen, één IP-voorvoegsel, meerdere IP-voorvoegsels.
IP-adres van doel
Laat de standaardwaarde 10.0.0.4 staan. Dit is het IP-adres van myVM.
Doelpoort
Voer * in om alle poorten op te nemen.
Selecteer NSG-diagnose uitvoeren om de test uit te voeren. Zodra de NSG-diagnose alle beveiligingsregels heeft gecontroleerd, wordt het resultaat weergegeven.
Het resultaat laat zien dat er drie beveiligingsregels zijn geëvalueerd voor de binnenkomende verbinding vanuit het Bastion-subnet:
GlobalRules: deze beveiligingsbeheerdersregel wordt toegepast op het niveau van het virtuele netwerk met behulp van Azure Virtual Network Manage. De regel staat binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine toe.
mySubnet-nsg: deze netwerkbeveiligingsgroep wordt toegepast op subnetniveau (subnet van de virtuele machine). De regel staat binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine toe.
myVM-nsg: deze netwerkbeveiligingsgroep wordt toegepast op het niveau van de netwerkinterface (NIC). De regel weigert binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine.
Selecteer Details van myVM-nsg weergeven om details te bekijken over de beveiligingsregels die deze netwerkbeveiligingsgroep heeft en welke regel het verkeer weigert.
In myVM-nsg-netwerkbeveiligingsgroep weigert de beveiligingsregel DenyVnetInBound al het verkeer dat afkomstig is van de adresruimte van de VirtualNetwork-servicetag naar de virtuele machine. De Bastion-host maakt gebruik van IP-adressen uit het adresbereik: 10.0.1.0/26, die is opgenomen in de servicetag VirtualNetwork , om verbinding te maken met de virtuele machine. Daarom wordt de verbinding van de Bastion-host geweigerd door de beveiligingsregel DenyVnetInBound .
Het resultaat laat zien dat er drie beveiligingsregels zijn geëvalueerd voor de binnenkomende verbinding vanuit het Bastion-subnet:
GlobalRules: deze beveiligingsbeheerdersregel wordt toegepast op het niveau van het virtuele netwerk met behulp van Azure Virtual Network Manage. De regel staat binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine toe.
mySubnet-nsg: deze netwerkbeveiligingsgroep wordt toegepast op subnetniveau (subnet van de virtuele machine). De regel staat binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine toe.
myVM-nsg: deze netwerkbeveiligingsgroep wordt toegepast op het niveau van de netwerkinterface (NIC). De regel weigert binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine.
In myVM-nsg-netwerkbeveiligingsgroep weigert de beveiligingsregel DenyVnetInBound al het verkeer dat afkomstig is van de adresruimte van de VirtualNetwork-servicetag naar de virtuele machine. De Bastion-host maakt gebruik van IP-adressen van 10.0.1.0/26, die zijn opgenomen virtualNetwork-servicetag , om verbinding te maken met de virtuele machine. Daarom wordt de verbinding van de Bastion-host geweigerd door de beveiligingsregel DenyVnetInBound .
Het resultaat laat zien dat er drie beveiligingsregels zijn geëvalueerd voor de binnenkomende verbinding vanuit het Bastion-subnet:
GlobalRules: deze beveiligingsbeheerdersregel wordt toegepast op het niveau van het virtuele netwerk met behulp van Azure Virtual Network Manage. De regel staat binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine toe.
mySubnet-nsg: deze netwerkbeveiligingsgroep wordt toegepast op subnetniveau (subnet van de virtuele machine). De regel staat binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine toe.
myVM-nsg: deze netwerkbeveiligingsgroep wordt toegepast op het niveau van de netwerkinterface (NIC). De regel weigert binnenkomend TCP-verkeer van het Bastion-subnet naar de virtuele machine.
In myVM-nsg-netwerkbeveiligingsgroep weigert de beveiligingsregel DenyVnetInBound al het verkeer dat afkomstig is van de adresruimte van de VirtualNetwork-servicetag naar de virtuele machine. De Bastion-host maakt gebruik van IP-adressen van 10.0.1.0/26, die zijn opgenomen virtualNetwork-servicetag , om verbinding te maken met de virtuele machine. Daarom wordt de verbinding van de Bastion-host geweigerd door de beveiligingsregel DenyVnetInBound .
Een beveiligingsregel toevoegen om verkeer van het Bastion-subnet toe te staan
Als u verbinding wilt maken met myVM met behulp van Azure Bastion, moet verkeer van het Bastion-subnet worden toegestaan door de netwerkbeveiligingsgroep. Als u verkeer wilt toestaan vanaf 10.0.1.0/26, voegt u een beveiligingsregel toe met een hogere prioriteit (lager prioriteitsnummer) dan DenyVnetInBound-regel of bewerkt u de regel DenyVnetInBound om verkeer van het Bastion-subnet toe te staan.
U kunt de beveiligingsregel toevoegen aan de netwerkbeveiligingsgroep op de pagina Network Watcher waarop u de details hebt getoond over de beveiligingsregel die het verkeer naar de virtuele machine weigert.
Als u de beveiligingsregel vanuit Network Watcher wilt toevoegen, selecteert u + Beveiligingsregel toevoegen en voert u de volgende waarden in of selecteert u deze:
Instelling
Waarde
Bron
Selecteer IP-adressen.
IP-adressen/CIDR-bereiken van bron
Voer 10.0.1.0/26 in. Dit is het IP-adresbereik van het Bastion-subnet.
Poortbereiken van bron
Binnenkomen*.
Bestemming
Selecteer Een.
Service
Selecteer Aangepast.
Poortbereiken van doel
Binnenkomen*.
Protocol
Selecteer Een.
Actie
Selecteer Toestaan.
Prioriteit
Voer 900 in. Dit is een hogere prioriteit dan 1000 die wordt gebruikt voor de regel DenyVnetInBound .
Naam
Voer AllowBastionConnections in.
Selecteer Opnieuw controleren om de diagnostische sessie opnieuw uit te voeren. In de diagnostische sessie moet nu worden aangegeven dat het verkeer van het Bastion-subnet is toegestaan.
Met de beveiligingsregel AllowBastionConnections kan het verkeer van elk IP-adres in 10.0.1.0/26 naar de virtuele machine worden toegestaan. Omdat de Bastion-host IP-adressen van 10.0.1.0/26 gebruikt, wordt de verbinding met de virtuele machine toegestaan door de beveiligingsregel AllowBastionConnections .
Met de beveiligingsregel AllowBastionConnections kan het verkeer van elk IP-adres in 10.0.1.0/26 naar de virtuele machine worden toegestaan. Omdat de Bastion-host IP-adressen van 10.0.1.0/26 gebruikt, wordt de verbinding met de virtuele machine toegestaan door de beveiligingsregel AllowBastionConnections .
Gebruik az network nsg rule create om toe te voegen aan de netwerkbeveiligingsgroep een beveiligingsregel die verkeer van het Bastion-subnet toestaat.
# 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 '*'
Met de beveiligingsregel AllowBastionConnections kan het verkeer van elk IP-adres in 10.0.1.0/26 naar de virtuele machine worden toegestaan. Omdat de Bastion-host IP-adressen van 10.0.1.0/26 gebruikt, wordt de verbinding met de virtuele machine toegestaan door de beveiligingsregel AllowBastionConnections .
Resources opschonen
U kunt de resourcegroep en alle gerelateerde resources die deze bevat verwijderen wanneer u deze niet meer nodig hebt: