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.
Vereisten
Een Azure-account met een actief abonnement.
Gratis een account maken
Azure Cloud Shell of Azure PowerShell.
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 .
Een Azure-account met een actief abonnement.
Gratis een account maken
Azure Cloud Shell of Azure CLI.
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 + Aanmaken. Voer in Virtueel netwerk maken de volgende waarden in of selecteer deze op het tabblad Basis:
| Instelling |
Waarde |
|
Projectgegevens |
|
| Abonnement |
Selecteer uw Azure-abonnement. |
| Resourcegroep |
Selecteer Nieuw maken.
Voer myResourceGroup in Naam.
Selecteer OK. |
|
Instantiedetails |
|
| Naam van virtueel netwerk |
Voer myVNet in. |
| Regio |
Selecteer (VS) Oost VS. |
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 |
Waarde |
| 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 Subnetpagina bewerken de volgende waarden in:
| Instelling |
Waarde |
|
Subnetdetails |
|
| Naam |
Voer mySubnet in. |
|
Beveiliging |
|
| Netwerkbeveiligingsgroep |
Selecteer Nieuw maken.
Voer mySubnet-nsg in Naam.
Selecteer OK. |
Selecteer Beoordelen + 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 een standaardnetwerkbeveiligingsgroep met behulp van New-AzNetworkSecurityGroup.
# Create a network security group.
$networkSecurityGroup = New-AzNetworkSecurityGroup -Name 'mySubnet-nsg' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
Maak een subnetconfiguratie voor het subnet van de virtuele machine en het Bastion-hostsubnet met behulp van New-AzVirtualNetworkSubnetConfig.
# Create subnets configuration.
$firstSubnet = New-AzVirtualNetworkSubnetConfig -Name 'mySubnet' -AddressPrefix '10.0.0.0/24' -NetworkSecurityGroup $networkSecurityGroup
$secondSubnet = New-AzVirtualNetworkSubnetConfig -Name 'AzureBastionSubnet' -AddressPrefix '10.0.1.0/26'
Maak een virtueel netwerk met behulp van New-AzVirtualNetwork.
# Create a virtual network.
$vnet = New-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup' -Location 'eastus' -AddressPrefix '10.0.0.0/16' -Subnet $firstSubnet, $secondSubnet
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 de Bastion-host met behulp van New-AzBastion.
# Create an Azure Bastion host.
New-AzBastion -ResourceGroupName 'myResourceGroup' -Name 'myVNet-Bastion' -PublicIpAddressRgName 'myResourceGroup' -PublicIpAddressName 'myBastionIp' -VirtualNetwork $vnet
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'
Maak een standaardnetwerkbeveiligingsgroep met az network nsg create.
# Create a network security group.
az network nsg create --name 'mySubnet-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Maak een virtueel netwerk met az network vnet create.
az network vnet create --resource-group 'myResourceGroup' --name 'myVNet' --subnet-name 'mySubnet' --subnet-prefixes 10.0.0.0/24 --network-security-group 'mySubnet-nsg'
Maak een subnet voor Azure Bastion met behulp van az network vnet subnet create.
# Create AzureBastionSubnet.
az network vnet subnet create --name 'AzureBastionSubnet' --resource-group 'myResourceGroup' --vnet-name 'myVNet' --address-prefixes '10.0.1.0/26'
Maak een openbaar IP-adres voor de Bastion-host met behulp van az network public-ip create.
# Create a public IP address resource.
az network public-ip create --resource-group 'myResourceGroup' --name 'myBastionIp' --sku Standard
Maak een Bastion-host met az network bastion create.
az network bastion create --name 'myVNet-Bastion' --public-ip-address 'myBastionIp' --resource-group 'myResourceGroup' --vnet-name 'myVNet'
Belangrijk
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.
Voer in het zoekvak boven aan de portal virtuele machines in. Selecteer Virtuele machines in de zoekresultaten.
Selecteer + Maken en selecteer vervolgens virtuele Azure-machine.
In Een virtuele machine maken voert u de volgende waarden in of selecteert u deze op het tabblad Basisinformatie:
| Instelling |
Waarde |
|
Projectgegevens |
|
| Abonnement |
Selecteer uw Azure-abonnement. |
| Resourcegroep |
Selecteer myResourceGroup. |
|
Instantiedetails |
|
| Naam van virtuele machine |
Voer myVM in. |
| Regio |
Selecteer (VS) Oost VS. |
| Beschikbaarheidsopties |
Selecteer Geen infrastructuurredundantie vereist. |
| Beveiligingstype |
Selecteer Standaard. |
| Afbeelding |
Selecteer Windows Server 2022 Datacenter: Azure Edition - x64 Gen2. |
| Grootte |
Kies een grootte of laat de standaardinstelling staan. |
|
Beheerdersaccount |
|
| Gebruikersnaam |
Voer een gebruikersnaam in. |
| Wachtwoord |
Voer een wachtwoord in. |
| Wachtwoord bevestigen |
Voer het wachtwoord opnieuw in. |
Selecteer het tabblad Netwerken of selecteer Volgende: Schijven en vervolgens Volgende: Netwerken.
Selecteer op het tabblad Netwerken de volgende waarden:
| Instelling |
Waarde |
|
Netwerkinterface |
|
| Virtueel netwerk |
Selecteer myVNet. |
| Subnetwerk |
Selecteer de standaardwaarde. |
| Openbare IP |
Selecteer Geen. |
| NIC-netwerkbeveiligingsgroep |
Selecteer Basic. |
| Openbare poorten voor inkomend verkeer |
Selecteer Geen. |
Selecteer Controleren + maken.
Controleer de instellingen en selecteer vervolgens Maken.
Maak een standaardnetwerkbeveiligingsgroep met behulp van New-AzNetworkSecurityGroup.
# Create a default network security group.
New-AzNetworkSecurityGroup -Name 'myVM-nsg' -ResourceGroupName 'myResourceGroup' -Location eastus
Een virtuele machine maken met New-AzVM. Voer een gebruikersnaam en wachtwoord in wanneer u hierom wordt gevraagd.
# Create a virtual machine using the latest Windows Server 2022 image.
New-AzVm -ResourceGroupName 'myResourceGroup' -Name 'myVM' -Location 'eastus' -VirtualNetworkName 'myVNet' -SubnetName 'mySubnet' -SecurityGroupName 'myVM-nsg' -ImageName 'MicrosoftWindowsServer:WindowsServer:2022-Datacenter-azure-edition:latest'
Maak een standaardnetwerkbeveiligingsgroep met az network nsg create.
# 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.
Voer in het zoekvak boven aan de portal netwerkbeveiligingsgroepen in. Selecteer Netwerkbeveiligingsgroepen in de zoekresultaten.
Selecteer myVM-nsg in de lijst met netwerkbeveiligingsgroepen.
Selecteer onder InstellingenInkomende beveiligingsregels.
Selecteer + Toevoegen. Voer op het tabblad Netwerken de volgende waarden in of selecteer deze:
| Instelling |
Waarde |
| Bron |
Selecteer Service Tag. |
| Bron servicetag |
Selecteer VirtualNetwork. |
| Poortbereiken van bron |
Voer * in. |
| Bestemming |
Selecteer Alles. |
| Dienst |
Selecteer Aangepast. |
| Bestemmingspoortbereiken |
Voer * in. |
| protocol |
Selecteer Alles. |
| Actie |
Selecteer Weigeren. |
| Prioriteit |
Voer 1000 in. |
| Naam |
Voer DenyVnetInBound in. |
Selecteer Toevoegen.
Gebruik Add-AzNetworkSecurityRuleConfig om een beveiligingsregel te maken waarmee verkeer van het virtuele netwerk wordt geweigerd. Gebruik Vervolgens Set-AzNetworkSecurityGroup om de netwerkbeveiligingsgroep bij te werken met de nieuwe beveiligingsregel.
# 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 NSG-diagnostiek.
Voer op de pagina diagnostische gegevens van de NSG de volgende waarden in of selecteer deze:
| Instelling |
Waarde |
|
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. De 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 .
Gebruik Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic om de diagnostische NSG-sessie te starten.
# Create a profile for the diagnostic session.
$profile = New-AzNetworkWatcherNetworkConfigurationDiagnosticProfile -Direction Inbound -Protocol Tcp -Source 10.0.1.0/26 -Destination 10.0.0.4 -DestinationPort *
# Place the virtual machine configuration into a variable.
$vm = Get-AzVM -Name 'myVM' -ResourceGroupName 'myResourceGroup'
# Start the the NSG diagnostics session.
Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic -Location 'eastus' -TargetResourceId $vm.Id -Profile $profile | Format-List
Er wordt uitvoer geretourneerd die er ongeveer zo uitziet als in dit voorbeeld:
Results : {Microsoft.Azure.Commands.Network.Models.PSNetworkConfigurationDiagnosticResult}
ResultsText : [
{
"Profile": {
"Direction": "Inbound",
"Protocol": "Tcp",
"Source": "10.0.1.0/26",
"Destination": "10.0.0.4",
"DestinationPort": "*"
},
"NetworkSecurityGroupResult": {
"SecurityRuleAccessResult": "Deny",
"EvaluatedNetworkSecurityGroups": [
{
"NetworkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"MatchedRule": {
"RuleName": "VirtualNetwork",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "VirtualNetwork",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"MatchedRule": {
"RuleName": "DefaultRule_AllowVnetInBound",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "DefaultRule_AllowVnetInBound",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"MatchedRule": {
"RuleName": "UserRule_DenyVnetInBound",
"Action": "Deny"
},
"RulesEvaluationResult": [
{
"Name": "UserRule_DenyVnetInBound",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
}
]
}
}
]
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 deel uitmaken van de VirtualNetwork-servicetag, om verbinding te maken met de virtuele machine. Daarom wordt de verbinding van de Bastion-host geweigerd door de beveiligingsregel DenyVnetInBound .
Gebruik az network watcher run-configuration-diagnostic om de NSG diagnostics-sessie te starten.
# Start the the NSG diagnostics session.
az network watcher run-configuration-diagnostic --resource 'myVM' --resource-group 'myResourceGroup' --resource-type 'virtualMachines' --direction 'Inbound' --protocol 'TCP' --source '10.0.1.0/26' --destination '10.0.0.4' --port '*'
Er wordt uitvoer geretourneerd die er ongeveer zo uitziet als in dit voorbeeld:
{
"results": [
{
"networkSecurityGroupResult": {
"evaluatedNetworkSecurityGroups": [
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet",
"matchedRule": {
"action": "Allow",
"ruleName": "VirtualNetwork"
},
"networkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "VirtualNetwork",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet",
"matchedRule": {
"action": "Allow",
"ruleName": "DefaultRule_AllowVnetInBound"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "DefaultRule_AllowVnetInBound",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myvm36",
"matchedRule": {
"action": "Deny",
"ruleName": "UserRule_DenyVnetInBound"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "UserRule_DenyVnetInBound",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
}
],
"securityRuleAccessResult": "Deny"
},
"profile": {
"destination": "10.0.0.4",
"destinationPort": "*",
"direction": "Inbound",
"protocol": "TCP",
"source": "10.0.1.0/26"
}
}
]
}
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 deel uitmaken van de 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 |
Voer * in. |
| Bestemming |
Selecteer Alles. |
| Dienst |
Selecteer Aangepast. |
| Bestemmingspoortbereiken |
Voer * in. |
| protocol |
Selecteer Alles. |
| Actie |
Kies 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 .
Gebruik Add-AzNetworkSecurityRuleConfig om een beveiligingsregel te maken waarmee verkeer van het Bastion-subnet wordt toegestaan. Gebruik Vervolgens Set-AzNetworkSecurityGroup om de netwerkbeveiligingsgroep bij te werken met de nieuwe beveiligingsregel.
# Place the network security group configuration into a variable.
$networkSecurityGroup = Get-AzNetworkSecurityGroup -Name 'myVM-nsg' -ResourceGroupName 'myResourceGroup'
# Create a security rule.
Add-AzNetworkSecurityRuleConfig -Name 'AllowBastionConnections' -NetworkSecurityGroup $networkSecurityGroup -Priority '900' -Access 'Allow' `
-Protocol '*' -Direction 'Inbound' -SourceAddressPrefix '10.0.1.0/26' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '*'
# Updates the network security group.
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $networkSecurityGroup
Gebruik Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic om opnieuw te controleren met behulp van een nieuwe NSG-diagnostische sessie.
# Create a profile for the diagnostic session.
$profile = New-AzNetworkWatcherNetworkConfigurationDiagnosticProfile -Direction 'Inbound' -Protocol 'Tcp' -Source '10.0.1.0/26' -Destination '10.0.0.4' -DestinationPort '*'
# Place the virtual machine configuration into a variable.
$vm = Get-AzVM -Name 'myVM' -ResourceGroupName 'myResourceGroup'
# Start the diagnostic session.
Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic -Location 'eastus' -TargetResourceId $vm.Id -Profile $profile | Format-List
Er wordt uitvoer geretourneerd die er ongeveer zo uitziet als in dit voorbeeld:
Results : {Microsoft.Azure.Commands.Network.Models.PSNetworkConfigurationDiagnosticResult}
ResultsText : [
{
"Profile": {
"Direction": "Inbound",
"Protocol": "Tcp",
"Source": "10.0.1.0/26",
"Destination": "10.0.0.4",
"DestinationPort": "*"
},
"NetworkSecurityGroupResult": {
"SecurityRuleAccessResult": "Allow",
"EvaluatedNetworkSecurityGroups": [
{
"NetworkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"MatchedRule": {
"RuleName": "VirtualNetwork",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "VirtualNetwork",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"MatchedRule": {
"RuleName": "DefaultRule_AllowVnetInBound",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "DefaultRule_AllowVnetInBound",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
},
{
"NetworkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"MatchedRule": {
"RuleName": "UserRule_AllowBastionConnections",
"Action": "Allow"
},
"RulesEvaluationResult": [
{
"Name": "UserRule_AllowBastionConnections",
"ProtocolMatched": true,
"SourceMatched": true,
"SourcePortMatched": true,
"DestinationMatched": true,
"DestinationPortMatched": true
}
]
}
]
}
}
]
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 '*'
Gebruik az network watcher run-configuration-diagnostic om opnieuw te controleren met behulp van een nieuwe NSG diagnostics-sessie.
# Start the the NSG diagnostics session.
az network watcher run-configuration-diagnostic --resource 'myVM' --resource-group 'myResourceGroup' --resource-type 'virtualMachines' --direction 'Inbound' --protocol 'TCP' --source '10.0.1.0/26' --destination '10.0.0.4' --port '*'
Er wordt uitvoer geretourneerd die er ongeveer zo uitziet als in dit voorbeeld:
{
"results": [
{
"networkSecurityGroupResult": {
"evaluatedNetworkSecurityGroups": [
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet",
"matchedRule": {
"action": "Allow",
"ruleName": "VirtualNetwork"
},
"networkSecurityGroupId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/NetworkAdmin/providers/Microsoft.Network/networkManagers/GlobalRules",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "VirtualNetwork",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet",
"matchedRule": {
"action": "Allow",
"ruleName": "DefaultRule_AllowVnetInBound"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/mySubnet-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "DefaultRule_AllowVnetInBound",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
},
{
"appliedTo": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myvm36",
"matchedRule": {
"action": "Allow",
"ruleName": "UserRule_AllowBastionConnections"
},
"networkSecurityGroupId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myVM-nsg",
"rulesEvaluationResult": [
{
"destinationMatched": true,
"destinationPortMatched": true,
"name": "UserRule_AllowBastionConnections",
"protocolMatched": true,
"sourceMatched": true,
"sourcePortMatched": true
}
]
}
],
"securityRuleAccessResult": "Allow"
},
"profile": {
"destination": "10.0.0.4",
"destinationPort": "*",
"direction": "Inbound",
"protocol": "TCP",
"source": "10.0.1.0/26"
}
}
]
}
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 .
Hulpmiddelen beheren
U kunt de resourcegroep en alle gerelateerde resources die deze bevat verwijderen wanneer u deze niet meer nodig hebt:
Voer myResourceGroup in het zoekvak bovenin de portal in. Selecteer myResourceGroup in de zoekresultaten.
Selecteer Resourcegroep verwijderen.
In Een resourcegroep verwijderen, voer myResourceGroup in en selecteer Verwijderen.
Selecteer Verwijderen om het verwijderen van de resourcegroep en alle bijbehorende resources te bevestigen.
Gebruik Remove-AzResourceGroup om de resourcegroep en alle resources die deze bevat te verwijderen.
# Delete the resource group and all the resources it contains.
Remove-AzResourceGroup -Name 'myResourceGroup' -Force
Gebruik az group delete om de resourcegroep en alle resources die deze bevat te verwijderen
# Delete the resource group and all the resources it contains.
az group delete --name 'myResourceGroup' --yes --no-wait
Gerelateerde inhoud