I den här artikeln får du lära dig hur du använder Azure Network Watcher NSG-diagnostik för att kontrollera och felsöka säkerhetsregler som tillämpas på din Azure-trafik via nätverkssäkerhetsgrupper och Azure Virtual Network Manager. NSG-diagnostik kontrollerar om trafiken tillåts eller nekas av tillämpade säkerhetsregler.
Exemplet i den här artikeln visar hur en felkonfigurerad nätverkssäkerhetsgrupp kan hindra dig från att använda Azure Bastion för att ansluta till en virtuell dator.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration.
Skapa ett konto utan kostnad.
Azure Cloud Shell eller Azure PowerShell.
Stegen i den här artikeln kör Azure PowerShell-cmdletarna interaktivt i Azure Cloud Shell. Om du vill köra kommandona i Cloud Shell väljer du Öppna Cloud Shell i det övre högra hörnet i ett kodblock. Välj Kopiera för att kopiera koden och klistra sedan in den i Cloud Shell för att köra den. Du kan också köra Cloud Shell inifrån Azure Portal.
Du kan också installera Azure PowerShell lokalt för att köra cmdletarna. Den här artikeln kräver Az PowerShell-modulen. Mer information finns i Installera Azure PowerShell. Kör Get-InstalledModule -Name Az för att hitta den installerade versionen. Om du kör PowerShell lokalt loggar du in på Azure med hjälp av cmdleten Connect-AzAccount .
Ett Azure-konto med en aktiv prenumeration.
Skapa ett konto utan kostnad.
Azure Cloud Shell eller Azure CLI.
Stegen i den här artikeln kör Azure CLI-kommandona interaktivt i Azure Cloud Shell. Om du vill köra kommandona i Cloud Shell väljer du Öppna Cloud Shell i det övre högra hörnet i ett kodblock. Välj Kopiera för att kopiera koden och klistra in den i Cloud Shell för att köra den. Du kan också köra Cloud Shell inifrån Azure Portal.
Du kan också installera Azure CLI lokalt för att köra kommandona. Om du kör Azure CLI lokalt loggar du in på Azure med kommandot az login .
Skapa ett virtuellt nätverk och en Bastion-värd
I det här avsnittet skapar du ett virtuellt nätverk med två undernät och en Azure Bastion-värd. Det första undernätet används för den virtuella datorn och det andra undernätet används för Bastion-värden. Du skapar också en nätverkssäkerhetsgrupp och tillämpar den på det första undernätet.
I sökrutan överst i portalen anger du virtuella nätverk. Välj Virtuella nätverk i sökresultaten.
Välj + Skapa. I Skapa virtuellt nätverk anger eller väljer du följande värden på fliken Grundläggande :
| Inställning |
Värde |
|
Projektinformation |
|
| Prenumeration |
Välj din Azure-prenumerationen. |
| Resursgrupp |
Välj Skapa ny.
Ange myResourceGroup i Namn.
Välj OK. |
|
Instansinformation |
|
| Virtuellt nätverksnamn |
Ange myVNet. |
| Region |
Välj (USA) USA, östra. |
Välj fliken Säkerhet eller välj knappen Nästa längst ned på sidan.
Under Azure Bastion väljer du Aktivera Azure Bastion och accepterar standardvärdena:
| Inställning |
Värde |
| Azure Bastion-värdnamn |
myVNet-Bastion. |
| Offentlig IP-adress för Azure Bastion |
(Ny) myVNet-bastion-publicIpAddress. |
Välj fliken IP-adresser eller välj knappen Nästa längst ned på sidan.
Acceptera standard-IP-adressutrymmet 10.0.0.0/16 och redigera standardundernätet genom att välja pennikonen. På sidan Redigera undernät anger du följande värden:
| Inställning |
Värde |
|
Information om undernät |
|
| Namn |
Ange mySubnet. |
|
Säkerhet |
|
| Nätverkssäkerhetsgrupp |
Välj Skapa ny.
Ange mySubnet-nsg i Namn.
Välj OK. |
Välj Granska + skapa.
Granska inställningarna och välj sedan Skapa.
Skapa en resursgrupp med New-AzResourceGroup. En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
# Create a resource group.
New-AzResourceGroup -Name 'myResourceGroup' -Location 'eastus'
Skapa en standardnätverkssäkerhetsgrupp med New-AzNetworkSecurityGroup.
# Create a network security group.
$networkSecurityGroup = New-AzNetworkSecurityGroup -Name 'mySubnet-nsg' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
Skapa en undernätskonfiguration för den virtuella datorns undernät och Bastion-värdundernätet med 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'
Skapa ett virtuellt nätverk med New-AzVirtualNetwork.
# Create a virtual network.
$vnet = New-AzVirtualNetwork -Name 'myVNet' -ResourceGroupName 'myResourceGroup' -Location 'eastus' -AddressPrefix '10.0.0.0/16' -Subnet $firstSubnet, $secondSubnet
Skapa den offentliga IP-adressresurs som krävs för Bastion-tjänsten med New-AzPublicIpAddress.
# Create a public IP address for Azure Bastion.
New-AzPublicIpAddress -ResourceGroupName 'myResourceGroup' -Name 'myBastionIp' -Location 'eastus' -AllocationMethod 'Static' -Sku 'Standard'
Skapa Bastion-värden med New-AzBastion.
# Create an Azure Bastion host.
New-AzBastion -ResourceGroupName 'myResourceGroup' -Name 'myVNet-Bastion' -PublicIpAddressRgName 'myResourceGroup' -PublicIpAddressName 'myBastionIp' -VirtualNetwork $vnet
Skapa en resursgrupp med az group create. En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras.
# Create a resource group.
az group create --name 'myResourceGroup' --location 'eastus'
Skapa en standardnätverkssäkerhetsgrupp med az network nsg create.
# Create a network security group.
az network nsg create --name 'mySubnet-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Skapa ett virtuellt nätverk med 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'
Skapa ett undernät för Azure Bastion med 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'
Skapa en offentlig IP-adress för Bastion-värden med az network public-ip create.
# Create a public IP address resource.
az network public-ip create --resource-group 'myResourceGroup' --name 'myBastionIp' --sku Standard
Skapa en Bastion-värd med az network bastion create.
az network bastion create --name 'myVNet-Bastion' --public-ip-address 'myBastionIp' --resource-group 'myResourceGroup' --vnet-name 'myVNet'
Viktigt!
Prissättningen börjar varje timme från det ögonblick då Bastion-värden distribueras, oavsett utgående dataanvändning. Mer information finns i Prissättning. Vi rekommenderar att du tar bort den här resursen när du har använt den.
Skapa en virtuell dator
I det här avsnittet skapar du en virtuell dator och en nätverkssäkerhetsgrupp som tillämpas på dess nätverksgränssnitt.
I sökrutan överst i portalen anger du virtuella datorer. Välj Virtuella datorer i sökresultaten.
Välj + Skapa och välj sedan den virtuella Azure-datorn.
I Skapa en virtuell dator anger eller väljer du följande värden på fliken Grundläggande :
| Inställning |
Värde |
|
Projektinformation |
|
| Prenumeration |
Välj din Azure-prenumerationen. |
| Resursgrupp |
Välj myResourceGroup. |
|
Instansinformation |
|
| Virtuell maskinnamn |
Ange myVM. |
| Region |
Välj (USA) USA, östra. |
| Tillgänglighetsalternativ |
Välj Ingen infrastrukturredundans krävs. |
| Säkerhetstyp |
Välj Standard. |
| Bild |
Välj Windows Server 2022 Datacenter: Azure Edition – x64 Gen2. |
| Storlek |
Välj en storlek eller lämna standardinställningen. |
|
Administratörskonto |
|
| Användarnamn |
Ange ett användarnamn. |
| Lösenord |
Ange ett lösenord. |
| Bekräfta lösenord |
Ange lösenordet igen. |
Välj fliken Nätverk eller Nästa: diskar och sedan Nästa: nätverk.
På fliken Nätverk väljer du följande värden:
| Inställning |
Värde |
|
Nätverksgränssnitt |
|
| Virtuellt nätverk |
Välj myVNet. |
| Undernät |
Välj standard. |
| Offentlig IP-adress |
Välj Ingen. |
| Säkerhetsgrupp för nätverksgränssnittskort |
Välj Grundläggande. |
| Offentliga inkommande portar |
Välj Ingen. |
Välj Granska + skapa.
Granska inställningarna och välj sedan Skapa.
Skapa en standardnätverkssäkerhetsgrupp med New-AzNetworkSecurityGroup.
# Create a default network security group.
New-AzNetworkSecurityGroup -Name 'myVM-nsg' -ResourceGroupName 'myResourceGroup' -Location eastus
Skapa en virtuell dator med New-AzVM. Ange ett användarnamn och lösenord när du uppmanas till det.
# 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'
Skapa en standardnätverkssäkerhetsgrupp med az network nsg create.
# Create a default network security group.
az network nsg create --name 'myVM-nsg' --resource-group 'myResourceGroup' --location 'eastus'
Skapa en virtuell dator med az vm create. Ange ett användarnamn och lösenord när du uppmanas till det.
# 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'
Lägga till en säkerhetsregel i nätverkssäkerhetsgruppen
I det här avsnittet lägger du till en säkerhetsregel i nätverkssäkerhetsgruppen som är associerad med nätverksgränssnittet för myVM. Regeln nekar all inkommande trafik från det virtuella nätverket.
I sökrutan överst i portalen anger du nätverkssäkerhetsgrupper. Välj Nätverkssäkerhetsgrupper i sökresultaten.
I listan över nätverkssäkerhetsgrupper väljer du myVM-nsg.
Välj Inkommande säkerhetsregel under Inställningar.
Markera + Lägg till. På fliken Nätverk anger eller väljer du följande värden:
| Inställning |
Värde |
| Källa |
Välj Service Tag. |
| Källtjänsttagg |
Välj VirtualNetwork. |
| Källportintervall |
Mata in *. |
| Resmål |
Välj Valfritt. |
| Tjänst |
Välj Anpassad. |
| Målportintervall |
Mata in *. |
| Protokoll |
Välj Valfritt. |
| Åtgärd |
Välj Neka. |
| Prioritet |
Ange 1000. |
| Namn |
Ange DenyVnetInBound. |
Markera Lägga till.
Använd Add-AzNetworkSecurityRuleConfig för att skapa en säkerhetsregel som nekar trafik från det virtuella nätverket. Använd sedan Set-AzNetworkSecurityGroup för att uppdatera nätverkssäkerhetsgruppen med den nya säkerhetsregeln.
# 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
Använd az network nsg rule create för att lägga till en säkerhetsregel i nätverkssäkerhetsgruppen som nekar trafik från det virtuella nätverket.
# 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 '*'
Kommentar
sv-SE: VirtualNetwork-tjänsttaggen representerar adressutrymmet för det virtuella nätverket, alla anslutna lokala adressutrymmen, sammankopplade virtuella nätverk, virtuella nätverk som är anslutna till en virtuell nätverksgateway, värdens virtuella IP-adress och adressprefix som används på användardefinierade rutter. Mer information finns i Tjänsttaggar.
Kontrollera säkerhetsregler som tillämpas på trafik på virtuella datorer
Använd NSG-diagnostik för att kontrollera de säkerhetsregler som tillämpas på trafiken som kommer från Bastion-undernätet till den virtuella datorn.
I sökrutan överst i portalen söker du efter och väljer Network Watcher.
Under Verktyg för nätverksdiagnostik väljer du NSG-diagnostik.
På sidan NSG-diagnostik anger eller väljer du följande värden:
| Inställning |
Värde |
|
Målresurs |
|
| Målresurstyp |
Välj Virtuell dator. |
| Virtuell maskin |
Välj den virtuella datorn myVM . |
|
Trafikinformation |
|
| Protokoll |
Välj TCP. Andra tillgängliga alternativ är: Alla, UDP och ICMP. |
| Riktning |
Välj Ankommande. Annat tillgängligt alternativ är: Utgående. |
| Typ av källa |
Välj IPv4-adress/CIDR. Annat tillgängligt alternativ är: Tjänsttagg. |
| IPv4-adress/CIDR |
Ange 10.0.1.0/26, vilket är IP-adressintervallet för Bastion-undernätet. Godtagbara värden är: enskild IP-adress, flera IP-adresser, ett enda IP-prefix, flera IP-prefix. |
| Mål-IP-adress |
Lämna standardvärdet 10.0.0.4, vilket är IP-adressen för myVM. |
| Målport |
Ange * för att inkludera alla portar. |
Välj Kör NSG-diagnostik för att köra testet. När NSG-diagnostiken har kontrollerat alla säkerhetsregler visas resultatet.
Resultatet visar att det finns tre säkerhetsregler som utvärderas för den inkommande anslutningen från Bastion-undernätet:
-
GlobalRules: Den här säkerhetsadministratörsregeln tillämpas på virtuell nätverksnivå med hjälp av Azure Virtual Network Manage. Regeln tillåter inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
-
mySubnet-nsg: den här nätverkssäkerhetsgruppen tillämpas på undernätsnivå (undernät för den virtuella datorn). Regeln tillåter inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
-
myVM-nsg: den här nätverkssäkerhetsgruppen tillämpas på nätverksgränssnittsnivå (NIC). Regeln nekar inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
Välj Visa information om myVM-nsg för att se information om de säkerhetsregler som nätverkssäkerhetsgruppen har och vilken regel som nekar trafiken.
I nätverkssäkerhetsgruppen myVM-nsg nekar säkerhetsregeln DenyVnetInBound all trafik som kommer från adressutrymmet för virtualnetwork-tjänsttaggen till den virtuella datorn. Bastion-värden använder IP-adresser från adressintervallet: 10.0.1.0/26, som ingår i VirtualNetwork-tjänsttaggen , för att ansluta till den virtuella datorn. Därför nekas anslutningen från Bastion-värden av DenyVnetInBound säkerhetsregeln.
Använd Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic för att starta NSG-diagnostiksessionen.
# 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
Utdata som liknar följande exempelutdata returneras:
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
}
]
}
]
}
}
]
Resultatet visar att det finns tre säkerhetsregler som utvärderas för den inkommande anslutningen från Bastion-undernätet:
-
GlobalRules: Den här säkerhetsadministratörsregeln tillämpas på virtuell nätverksnivå med hjälp av Azure Virtual Network Manage. Regeln tillåter inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
-
mySubnet-nsg: den här nätverkssäkerhetsgruppen tillämpas på undernätsnivå (undernät för den virtuella datorn). Regeln tillåter inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
-
myVM-nsg: den här nätverkssäkerhetsgruppen tillämpas på nätverksgränssnittsnivå (NIC). Regeln nekar inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
I nätverkssäkerhetsgruppen myVM-nsg nekar säkerhetsregeln DenyVnetInBound all trafik som kommer från adressutrymmet för virtualnetwork-tjänsttaggen till den virtuella datorn. Bastion-värden använder IP-adresser från 10.0.1.0/26, vilka ingår i VirtualNetwork-tjänsttaggen, för att ansluta till den virtuella maskinen. Därför nekas anslutningen från Bastion-värden av DenyVnetInBound säkerhetsregeln.
Använd az network watcher run-configuration-diagnostic för att starta NSG-diagnostiksessionen.
# 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 '*'
Utdata som liknar följande exempelutdata returneras:
{
"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"
}
}
]
}
Resultatet visar att det finns tre säkerhetsregler som utvärderas för den inkommande anslutningen från Bastion-undernätet:
-
GlobalRules: Den här säkerhetsadministratörsregeln tillämpas på virtuell nätverksnivå med hjälp av Azure Virtual Network Manage. Regeln tillåter inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
-
mySubnet-nsg: den här nätverkssäkerhetsgruppen tillämpas på undernätsnivå (undernät för den virtuella datorn). Regeln tillåter inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
-
myVM-nsg: den här nätverkssäkerhetsgruppen tillämpas på nätverksgränssnittsnivå (NIC). Regeln nekar inkommande TCP-trafik från Bastion-undernätet till den virtuella datorn.
I nätverkssäkerhetsgruppen myVM-nsg nekar säkerhetsregeln DenyVnetInBound all trafik som kommer från adressutrymmet för virtualnetwork-tjänsttaggen till den virtuella datorn. Bastion-värden använder IP-adresser från 10.0.1.0/26, vilka ingår i VirtualNetwork-tjänsttaggen, för att ansluta till den virtuella maskinen. Därför nekas anslutningen från Bastion-värden av DenyVnetInBound säkerhetsregeln.
Lägg till en säkerhetsregel för att tillåta trafik från Bastion-undernätet
Om du vill ansluta till myVM med Azure Bastion måste trafik från Bastion-undernätet tillåtas av nätverkssäkerhetsgruppen. Om du vill tillåta trafik från 10.0.1.0/26 lägger du till en säkerhetsregel med högre prioritet (lägre prioritetsnummer) än DenyVnetInBound-regeln eller redigerar regeln DenyVnetInBound för att tillåta trafik från Bastion-undernätet.
Du kan lägga till säkerhetsregeln i nätverkssäkerhetsgruppen från sidan Network Watcher som visar information om säkerhetsregeln som nekar trafik till den virtuella datorn.
Om du vill lägga till säkerhetsregeln inifrån Network Watcher väljer du + Lägg till säkerhetsregel och anger eller väljer sedan följande värden:
| Inställning |
Värde |
| Källa |
Välj IP-adresser. |
| Källans IP-adress/CIDR-intervall |
Ange 10.0.1.0/26, vilket är IP-adressintervallet för Bastion-undernätet. |
| Källportintervall |
Mata in *. |
| Resmål |
Välj Valfritt. |
| Tjänst |
Välj Anpassad. |
| Målportintervall |
Mata in *. |
| Protokoll |
Välj Valfritt. |
| Åtgärd |
Markera Tillåt. |
| Prioritet |
Ange 900, vilket är högre prioritet än 1 000 som används för Regeln DenyVnetInBound. |
| Namn |
Ange AllowBastionConnections. |
Välj Kontrollera igen för att köra diagnostiksessionen igen. Diagnostiksessionen bör nu visa att trafiken från Bastion-undernätet tillåts.
Säkerhetsregeln AllowBastionConnections tillåter trafik från valfri IP-adress i 10.0.1.0/26 till den virtuella datorn. Eftersom Bastionvärden använder IP-adresser från 10.0.1.0/26, tillåts anslutningen till den virtuella datorn av säkerhetsregeln AllowBastionConnections.
Använd Add-AzNetworkSecurityRuleConfig för att skapa en säkerhetsregel som tillåter trafik från Bastion-undernätet. Använd sedan Set-AzNetworkSecurityGroup för att uppdatera nätverkssäkerhetsgruppen med den nya säkerhetsregeln.
# 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
Använd Invoke-AzNetworkWatcherNetworkConfigurationDiagnostic för att kontrollera igen med hjälp av en ny NSG-diagnostiksession.
# 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
Utdata som liknar följande exempelutdata returneras:
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
}
]
}
]
}
}
]
Säkerhetsregeln AllowBastionConnections tillåter trafik från valfri IP-adress i 10.0.1.0/26 till den virtuella datorn. Eftersom Bastionvärden använder IP-adresser från 10.0.1.0/26, tillåts anslutningen till den virtuella datorn av säkerhetsregeln AllowBastionConnections.
Använd az network nsg rule create för att lägga till en säkerhetsregel i nätverkssäkerhetsgruppen som tillåter trafik från Bastion-undernätet.
# 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 '*'
Använd az network watcher run-configuration-diagnostic för att kontrollera igen med hjälp av en ny NSG-diagnostiksession.
# 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 '*'
Utdata som liknar följande exempelutdata returneras:
{
"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"
}
}
]
}
Säkerhetsregeln AllowBastionConnections tillåter trafik från valfri IP-adress i 10.0.1.0/26 till den virtuella datorn. Eftersom Bastionvärden använder IP-adresser från 10.0.1.0/26, tillåts anslutningen till den virtuella datorn av säkerhetsregeln AllowBastionConnections.
Rensa resurser
När det inte längre behövs, ta bort resursgruppen och alla resurser som den innehåller.
Skriv myResourceGroup i sökrutan högst upp i portalen. Välj myResourceGroup i sökresultaten.
Välj Ta bort resursgrupp.
I Ta bort en resursgrupp anger du myResourceGroup och väljer sedan Ta bort.
Välj Ta bort för att bekräfta borttagningen av resursgruppen och alla dess resurser.
Använd Remove-AzResourceGroup för att ta bort resursgruppen och alla resurser som den innehåller.
# Delete the resource group and all the resources it contains.
Remove-AzResourceGroup -Name 'myResourceGroup' -Force
Använd az group delete för att ta bort resursgruppen och alla resurser som den innehåller
# Delete the resource group and all the resources it contains.
az group delete --name 'myResourceGroup' --yes --no-wait
Relaterat innehåll