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.
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 .
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.
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
Name
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.
Skapa den offentliga IP-adressresurs som krävs för Bastion-värden med New-AzPublicIpAddress.
# Create a public IP address for Azure Bastion.
New-AzPublicIpAddress -ResourceGroupName 'myResourceGroup' -Name 'myBastionIp' -Location 'eastus' -AllocationMethod 'Static' -Sku 'Standard'
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.
# 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.
# 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
VirtualNetwork-tjänsttaggen representerar adressutrymmet för det virtuella nätverket, alla anslutna lokala adressutrymmen, peerkopplade 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 vägar. 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.
Source type
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 säkerhetsregeln DenyVnetInBound .
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, 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 säkerhetsregeln DenyVnetInBound .
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, 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 säkerhetsregeln DenyVnetInBound .
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
Source
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
Inträda*.
Mål
Välj Valfritt.
Tjänst
Välj Kund.
Målportintervall
Inträda*.
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.
Name
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 Bastion-värden använder IP-adresser från 10.0.1.0/26 tillåts anslutningen till den virtuella datorn av säkerhetsregeln AllowBastionConnections .
Säkerhetsregeln AllowBastionConnections tillåter trafik från valfri IP-adress i 10.0.1.0/26 till den virtuella datorn. Eftersom Bastion-vä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 '*'
Säkerhetsregeln AllowBastionConnections tillåter trafik från valfri IP-adress i 10.0.1.0/26 till den virtuella datorn. Eftersom Bastion-vä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
Ta bort resursgruppen, skalningsuppsättningen och alla resurser som den innehåller: