U kunt een netwerkbeveiligingsgroep gebruiken om binnenkomend en uitgaand netwerkverkeer naar en van Azure-resources in een virtueel Azure-netwerk te filteren.
Netwerkbeveiligingsgroepen bevatten beveiligingsregels die netwerkverkeer filteren op IP-adres, poort en protocol. Wanneer een netwerkbeveiligingsgroep is gekoppeld aan een subnet, worden beveiligingsregels toegepast op resources die in dat subnet zijn geïmplementeerd.
- Een Azure-account met een actief abonnement. U kunt gratis een account maken.
- Een Azure-account met een actief abonnement. U kunt gratis een account maken.
Azure Cloud Shell
Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.
Om Azure Cloud Shell op te starten:
Optie |
Voorbeeld/koppeling |
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok.
Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. |
|
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. |
|
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. |
|
Azure Cloud Shell gebruiken:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.
Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V te selecteren op Windows en Linux, of door Cmd+Shift+V te selecteren op macOS.
Selecteer Enter om de code of opdracht uit te voeren.
Als u PowerShell lokaal wilt installeren en gebruiken, is voor dit artikel versie 1.0.0 of hoger van de Azure PowerShell-module vereist. Voer Get-Module -ListAvailable Az
uit om te kijken welke versie is geïnstalleerd. Als u PowerShell wilt upgraden, raadpleegt u De Azure PowerShell-module installeren. Als u PowerShell lokaal uitvoert, moet u ook Connect-AzAccount
uitvoeren om verbinding te kunnen maken met Azure.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
- Voor dit artikel is versie 2.0.28 of hoger van Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
Met de volgende procedure maakt u een virtueel netwerk met een resource-subnet.
Zoek en selecteer virtuele netwerken in de portal.
Selecteer + Maken op de pagina Virtuele netwerken.
Op het tabblad Basisbeginselen van Virtueel netwerk maken, voert u de volgende informatie in of selecteert u deze:
Instelling |
Waarde |
Projectdetails |
|
Abonnement |
Selecteer uw abonnement. |
Resourcegroep |
Selecteer Nieuw maken.
Voer test-rg in Naam in.
Selecteer OK. |
Exemplaardetails |
|
Naam |
Voer vnet-1 in. |
Regio |
Selecteer VS - oost 2. |
Selecteer Volgendeom door te gaan naar het tabblad Beveiliging.
Selecteer Volgendeom door te gaan naar het tabblad IP-adressen.
Selecteer in het adresruimtevak onder Subnetten het standaardsubnet .
Voer in het deelvenster Subnet bewerken de volgende gegevens in of selecteer deze:
Instelling |
Waarde |
Subnetdetails |
|
Subnetsjabloon |
Laat de standaardwaarde staan als standaardwaarde. |
Naam |
Voer subnet-1 in. |
Beginadres |
Laat de standaardwaarde 10.0.0.0 staan. |
Subnetgrootte |
Laat de standaardwaarde /24(256 adressen) staan. |
Selecteer Opslaan.
Selecteer Beoordelen en maken onderaan het scherm. Nadat de validatie is geslaagd, selecteert u Maken.
Maak eerst een resourcegroep voor alle resources die in dit artikel zijn gemaakt met New-AzResourceGroup. In het volgende voorbeeld wordt een resourcegroep gemaakt op de locatie westus2 :
$rg = @{
ResourceGroupName = "test-rg"
Location = "westus2"
}
New-AzResourceGroup @rg
Maak een virtueel netwerk met New-AzVirtualNetwork. In het volgende voorbeeld wordt een virtueel netwerk met de naam vnet-1 gemaakt.
$vnet = @{
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "vnet-1"
AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork = New-AzVirtualNetwork @vnet
Maak een subnetconfiguratie met New-AzVirtualNetworkSubnetConfig en schrijf vervolgens de subnetconfiguratie naar het virtuele netwerk met Set-AzVirtualNetwork. In het volgende voorbeeld wordt een subnet met de naam subnet-1 aan het virtuele netwerk toegevoegd en wordt de netwerkbeveiligingsgroep nsg-1 eraan gekoppeld:
$subnet = @{
Name = "subnet-1"
VirtualNetwork = $virtualNetwork
AddressPrefix = "10.0.0.0/24"
}
Add-AzVirtualNetworkSubnetConfig @subnet
$virtualNetwork | Set-AzVirtualNetwork
Maak eerst een resourcegroep voor alle resources die in dit artikel zijn gemaakt met az group create. In het volgende voorbeeld wordt een resourcegroep gemaakt in de locatie westus2:
az group create \
--name test-rg \
--location westus2
Maak een virtueel netwerk met az network vnet create. In het volgende voorbeeld wordt een virtueel netwerk met de naam vnet-1 gemaakt.
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefixes 10.0.0.0/16
Voeg een subnet toe aan een virtueel netwerk met az network vnet subnet create. In het volgende voorbeeld wordt een subnet met de naam subnet-1 aan het virtuele netwerk toegevoegd en wordt de netwerkbeveiligingsgroep nsg-1 eraan gekoppeld:
az network vnet subnet create \
--vnet-name vnet-1 \
--resource-group test-rg \
--name subnet-1 \
--address-prefix 10.0.0.0/24
Voer in het zoekvak boven aan de portal toepassingsbeveiligingsgroep in. Selecteer Toepassingsbeveiligingsgroepen in de zoekresultaten.
Selecteer + Aanmaken.
Op het tabblad Basis van Een toepassingsbeveiligingsgroep maken, voert u deze informatie in of selecteert u deze.
Instelling |
Waarde |
Projectdetails |
|
Abonnement |
Selecteer uw abonnement. |
Resourcegroep |
Selecteer test-rg. |
Instantiegegevens |
|
Naam |
Voer asg-web in. |
Regio |
Selecteer East US 2. |
Selecteer Herzien + maken.
Selecteer + Aanmaken.
Herhaal de vorige stappen en geef de volgende waarden op:
Instelling |
Waarde |
Projectdetails |
|
Abonnement |
Selecteer uw abonnement. |
Resourcegroep |
Selecteer test-rg. |
Exemplaardetails |
|
Naam |
Voer asg-mgmt in. |
Regio |
Selecteer East US 2. |
Selecteer Controleren + maken.
Selecteer Aanmaken.
Maak een toepassingsbeveiligingsgroep met New-AzApplicationSecurityGroup. Met een toepassingsbeveiligingsgroep kunt u servers met vergelijkbare poortfiltervereisten groeperen. In het volgende voorbeeld worden twee toepassingsbeveiligingsgroepen gemaakt.
$web = @{
ResourceGroupName = "test-rg"
Name = "asg-web"
Location = "westus2"
}
$webAsg = New-AzApplicationSecurityGroup @web
$mgmt = @{
ResourceGroupName = "test-rg"
Name = "asg-mgmt"
Location = "westus2"
}
$mgmtAsg = New-AzApplicationSecurityGroup @mgmt
Maak een toepassingsbeveiligingsgroep met az network asg create. Met een toepassingsbeveiligingsgroep kunt u servers met vergelijkbare poortfiltervereisten groeperen. In het volgende voorbeeld worden twee toepassingsbeveiligingsgroepen gemaakt.
az network asg create \
--resource-group test-rg \
--name asg-web \
--location westus2
az network asg create \
--resource-group test-rg \
--name asg-mgmt \
--location westus2
In deze sectie koppelt u de netwerkbeveiligingsgroep aan het subnet van het virtuele netwerk dat u eerder hebt gemaakt.
Selecteer Inkomende beveiligingsregels in de sectie Instellingen van nsg-1.
Selecteer + Toevoegen op de pagina Voor binnenkomende beveiligingsregels.
Maak een beveiligingsregel waarmee poorten 80 en 443 worden toegestaan aan de asg-webtoepassingsbeveiligingsgroep . Op de pagina Binnenkomende beveiligingsregel toevoegen, voert u de volgende gegevens in of selecteert u deze:
Instelling |
Waarde |
Bron |
Laat de standaardwaarde Any staan. |
Poortbereiken van bron |
Laat de standaardwaarde (*)staan. |
Bestemming |
Selecteer Toepassingsbeveiligingsgroep. |
Beveiligingsgroepen voor bestemmingsapplicaties |
Select asg-web. |
Dienst |
Laat de standaardwaarde aangepast staan. |
Poortbereiken van doel |
Voer 80,443 in. |
Protocol |
Selecteer TCP. |
Actie |
Laat de standaardwaarde Toestaan staan. |
Prioriteit |
Laat de standaardwaarde van 100 staan. |
Naam |
Voer allow-web-all in. |
Selecteer Toevoegen.
Voer de vorige stappen uit met de volgende informatie:
Instelling |
Waarde |
Bron |
Laat de standaardwaarde Any staan. |
Poortbereiken van bron |
Laat de standaardwaarde (*)staan. |
Bestemming |
Selecteer Toepassingsbeveiligingsgroep. |
Beveiligingsgroep van doeltoepassing |
Selecteer asg-mgmt. |
Dienst |
Selecteer RDP. |
Actie |
Laat de standaardwaarde Toestaan staan. |
Prioriteit |
Laat de standaardwaarde van 110 staan. |
Naam |
Voer allow-rdp-all in. |
Selecteer Toevoegen.
Let op
In dit artikel wordt RDP (poort 3389) blootgesteld aan het Internet voor de virtuele machine die is toegewezen aan de toepassingsbeveiligingsgroep asg-mgmt.
Voor productieomgevingen, in plaats van poort 3389 beschikbaar te maken voor internet, is het raadzaam verbinding te maken met Azure-resources die u wilt beheren met behulp van een VPN-, privénetwerkverbinding of Azure Bastion.
Zie Wat is Azure Bastion? voor meer informatie over Azure Bastion.
Maak een beveiligingsregel met New-AzNetworkSecurityRuleConfig. In het volgende voorbeeld wordt een regel gemaakt waarmee verkeer van internet naar de asg-webtoepassingsbeveiligingsgroep via poort 80 en 443 wordt toegestaan:
$webAsgParams = @{
Name = "asg-web"
ResourceGroupName = "test-rg"
}
$webAsg = Get-AzApplicationSecurityGroup @webAsgParams
$webRuleParams = @{
Name = "Allow-Web-All"
Access = "Allow"
Protocol = "Tcp"
Direction = "Inbound"
Priority = 100
SourceAddressPrefix = "Internet"
SourcePortRange = "*"
DestinationApplicationSecurityGroupId = $webAsg.id
DestinationPortRange = 80,443
}
$webRule = New-AzNetworkSecurityRuleConfig @webRuleParams
In het volgende voorbeeld wordt een regel gemaakt waarmee verkeer van internet naar de toepassingsbeveiligingsgroep asg-mgmt via poort 3389 wordt toegestaan:
$mgmtAsgParams = @{
Name = "asg-mgmt"
ResourceGroupName = "test-rg"
}
$mgmtAsg = Get-AzApplicationSecurityGroup @mgmtAsgParams
$mgmtRuleParams = @{
Name = "Allow-RDP-All"
Access = "Allow"
Protocol = "Tcp"
Direction = "Inbound"
Priority = 110
SourceAddressPrefix = "Internet"
SourcePortRange = "*"
DestinationApplicationSecurityGroupId = $mgmtAsg.id
DestinationPortRange = 3389
}
$mgmtRule = New-AzNetworkSecurityRuleConfig @mgmtRuleParams
Gebruik Get-AzNetworkSecurityGroup om de bestaande netwerkbeveiligingsgroep op te halen en voeg vervolgens de nieuwe regels toe met de +=
operator. Werk ten slotte de netwerkbeveiligingsgroep bij met Set-AzNetworkSecurityGroup:
# Retrieve the existing network security group
$nsg = Get-AzNetworkSecurityGroup -Name "nsg-1" -ResourceGroupName "test-rg"
# Add the new rules to the security group
$nsg.SecurityRules += $webRule
$nsg.SecurityRules += $mgmtRule
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Let op
In dit artikel wordt RDP (poort 3389) blootgesteld aan het internet voor de virtuele machine die is toegewezen aan de asg-mgmt toepassingsbeveiligingsgroep.
Voor productieomgevingen, in plaats van poort 3389 beschikbaar te maken voor internet, is het raadzaam verbinding te maken met Azure-resources die u wilt beheren met behulp van een VPN-, privénetwerkverbinding of Azure Bastion.
Zie Wat is Azure Bastion? voor meer informatie over Azure Bastion.
Maak een beveiligingsregel met az network nsg rule create. In het volgende voorbeeld wordt een regel gemaakt waarmee verkeer van internet naar de asg-webtoepassingsbeveiligingsgroep via poort 80 en 443 wordt toegestaan:
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-1 \
--name Allow-Web-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 100 \
--source-address-prefix Internet \
--source-port-range "*" \
--destination-asgs "asg-web" \
--destination-port-range 80 443
In het volgende voorbeeld wordt een regel gemaakt waarmee verkeer van internet naar de toepassingsbeveiligingsgroep asg-mgmt via poort 22 wordt toegestaan:
az network nsg rule create \
--resource-group test-rg \
--nsg-name nsg-1 \
--name Allow-SSH-All \
--access Allow \
--protocol Tcp \
--direction Inbound \
--priority 110 \
--source-address-prefix Internet \
--source-port-range "*" \
--destination-asgs "asg-mgmt" \
--destination-port-range 22
Let op
In dit artikel wordt SSH (poort 22) blootgesteld aan het internet voor de virtuele machine die is toegewezen aan de asg-mgmt toepassingsbeveiligingsgroep.
Voor productieomgevingen is het raadzaam om in plaats van poort 22 weer te geven aan internet, verbinding te maken met Azure-resources die u wilt beheren met behulp van een VPN-, privénetwerkverbinding of Azure Bastion.
Zie Wat is Azure Bastion? voor meer informatie over Azure Bastion.
Maak twee virtuele machines (VM's) in het virtuele netwerk.
Zoek en selecteer virtuele machines in de portal.
Selecteer in virtuele machines+ Maken en daarna Azure virtuele machine.
In Maak een virtuele machine, voer deze gegevens in of selecteer deze op het tabblad Basis:
Instelling |
Waarde |
Projectdetails |
|
Abonnement |
Selecteer uw abonnement. |
Resourcegroep |
Selecteer test-rg. |
Instantiedetails |
|
Naam van de virtuele machine |
Voer vm-web in. |
Regio |
Selecteer (VS) VS - oost 2. |
Beschikbaarheidsopties |
Laat de standaardwaarde geen infrastructuurredundantie vereist. |
Beveiligingstype |
Selecteer Standaard. |
Afbeelding |
Selecteer Windows Server 2022 Datacenter - x64 Gen2. |
Azure Spot-instantie |
Laat de standaardwaarde uitgeschakeld. |
Grootte |
Selecteer een grootte. |
Beheerdersaccount |
|
Username |
Voer een gebruikersnaam in. |
Wachtwoord |
Voer een wachtwoord in. |
Wachtwoord bevestigen |
Voer het wachtwoord opnieuw in. |
Regels voor binnenkomende poort |
|
Binnenkomende poorten selecteren |
Selecteer Geen. |
Selecteer Volgende: Schijven en vervolgens Volgende: Netwerken.
Op het tabblad Netwerken de volgende informatie invoeren of selecteren:
Omgeving |
Waarde |
Netwerkinterface |
|
Virtueel netwerk |
Selecteer vnet-1. |
Subnetwerk |
Selecteer subnet-1 (10.0.0.0/24). |
Openbare IP |
Laat de standaardwaarde van een nieuw openbaar IP-adres staan. |
NIC-netwerkbeveiligingsgroep |
Selecteer Geen. |
Selecteer het tabblad Beoordelen + maken of selecteer de blauwe knop Beoordelen en maken onder aan de pagina.
Selecteer Aanmaken. Het kan enkele minuten duren voordat de VM is geïmplementeerd.
Herhaal de vorige stappen om een tweede virtuele machine met de naam vm-mgmt te maken.
Voordat u de virtuele machines maakt, haalt u het virtuele netwerkobject op door gebruik te maken van het subnet met Get-AzVirtualNetwork:
$virtualNetworkParams = @{
Name = "vnet-1"
ResourceGroupName = "test-rg"
}
$virtualNetwork = Get-AzVirtualNetwork @virtualNetworkParams
Maak een openbaar IP-adres voor elke virtuele machine met New-AzPublicIpAddress:
$publicIpWebParams = @{
AllocationMethod = "Static"
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "public-ip-vm-web"
}
$publicIpWeb = New-AzPublicIpAddress @publicIpWebParams
$publicIpMgmtParams = @{
AllocationMethod = "Static"
ResourceGroupName = "test-rg"
Location = "westus2"
Name = "public-ip-vm-mgmt"
}
$publicIpMgmt = New-AzPublicIpAddress @publicIpMgmtParams
Maak twee netwerkinterfaces met New-AzNetworkInterface en wijs een openbaar IP-adres toe aan de netwerkinterface. In het volgende voorbeeld wordt een netwerkinterface gemaakt en wordt het openbare IP-adres van public-ip-vm-web eraan gekoppeld.
$webNicParams = @{
Location = "westus2"
Name = "vm-web-nic"
ResourceGroupName = "test-rg"
SubnetId = $virtualNetwork.Subnets[0].Id
PublicIpAddressId = $publicIpWeb.Id
}
$webNic = New-AzNetworkInterface @webNicParams
In het volgende voorbeeld wordt een netwerkinterface gemaakt en wordt het openbare IP-adres van public-ip-vm-mgmt eraan gekoppeld.
$mgmtNicParams = @{
Location = "westus2"
Name = "vm-mgmt-nic"
ResourceGroupName = "test-rg"
SubnetId = $virtualNetwork.Subnets[0].Id
PublicIpAddressId = $publicIpMgmt.Id
}
$mgmtNic = New-AzNetworkInterface @mgmtNicParams
Maak twee virtuele machines in het virtuele netwerk, zodat u het filteren van verkeer in een latere stap kunt controleren.
Maak een VM-configuratie met New-AzVMConfig en maak vervolgens de VM met New-AzVM. In het volgende voorbeeld wordt een VIRTUELE machine gemaakt die fungeert als een webserver. Met de optie -AsJob
wordt de virtuele machine op de achtergrond gemaakt, zodat u met de volgende stap kunt doorgaan:
# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
$webVmConfigParams = @{
VMName = "vm-web"
VMSize = "Standard_DS1_V2"
}
$vmOSParams = @{
ComputerName = "vm-web"
Credential = $cred
}
$vmImageParams = @{
PublisherName = "MicrosoftWindowsServer"
Offer = "WindowsServer"
Skus = "2022-Datacenter"
Version = "latest"
}
$webVmConfig = New-AzVMConfig @webVmConfigParams | Set-AzVMOperatingSystem -Windows @vmOSParams | Set-AzVMSourceImage @vmImageParams | Add-AzVMNetworkInterface -Id $webNic.Id
$webVmParams = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VM = $webVmConfig
}
New-AzVM @webVmParams -AsJob
Maak een VM die fungeert als een beheerserver:
# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
$webVmConfigParams = @{
VMName = "vm-mgmt"
VMSize = "Standard_DS1_V2"
}
$vmOSParams = @{
ComputerName = "vm-mgmt"
Credential = $cred
}
$vmImageParams = @{
PublisherName = "MicrosoftWindowsServer"
Offer = "WindowsServer"
Skus = "2022-Datacenter"
Version = "latest"
}
$mgmtVmConfig = New-AzVMConfig @webVmConfigParams | Set-AzVMOperatingSystem -Windows @vmOSParams | Set-AzVMSourceImage @vmImageParams | Add-AzVMNetworkInterface -Id $mgmtNic.Id
$mgmtVmParams = @{
ResourceGroupName = "test-rg"
Location = "westus2"
VM = $mgmtVmConfig
}
New-AzVM @mgmtVmParams
Het maken van de virtuele machine duurt een paar minuten. Ga pas verder met de volgende stap als Azure klaar is met het maken van de virtuele machine.
Maak twee virtuele machines in het virtuele netwerk, zodat u het filteren van verkeer in een latere stap kunt controleren.
Maak een VM met az vm create. In het volgende voorbeeld wordt een VIRTUELE machine gemaakt die fungeert als een webserver. De --nsg ""
optie wordt opgegeven om te voorkomen dat Azure een standaardnetwerkbeveiligingsgroep maakt voor de netwerkinterface die Azure maakt wanneer de virtuele machine wordt gemaakt. Met de opdracht wordt u gevraagd een wachtwoord voor de virtuele machine te maken. SSH-sleutels worden niet in dit voorbeeld gebruikt om de latere stappen in dit artikel te vergemakkelijken. Gebruik in een productieomgeving SSH-sleutels voor beveiliging.
az vm create \
--resource-group test-rg \
--name vm-web \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--nsg "" \
--admin-username azureuser \
--authentication-type password \
--assign-identity
Het maken van de virtuele machine duurt een paar minuten. Nadat de VIRTUELE machine is gemaakt, wordt uitvoer geretourneerd die vergelijkbaar is met het volgende voorbeeld:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-web",
"location": "westus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "203.0.113.24",
"resourceGroup": "test-rg"
}
Maak een VM met az vm create. In het volgende voorbeeld wordt een virtuele machine gemaakt die fungeert als een beheerserver.
In het volgende voorbeeld wordt een virtuele machine gemaakt en wordt een gebruikersaccount toegevoegd. De --generate-ssh-keys
parameter zorgt ervoor dat de CLI zoekt naar een beschikbare ssh-sleutel in ~/.ssh
. Als er een wordt gevonden, wordt die sleutel gebruikt. Zo niet, dan wordt er een gegenereerd en opgeslagen in ~/.ssh
. Ten slotte rollen we de nieuwste Ubuntu 22.04
image uit.
az vm create \
--resource-group test-rg \
--name vm-mgmt \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--nsg "" \
--admin-username azureuser \
--generate-ssh-keys \
--assign-identity
Het maken van de virtuele machine duurt een paar minuten. Ga pas verder met de volgende stap als Azure klaar is met het maken van de virtuele machine.
Wanneer u de VIRTUELE machines hebt gemaakt, heeft Azure een netwerkinterface voor elke VIRTUELE machine gemaakt en gekoppeld aan de VIRTUELE machine.
Voeg de netwerkinterface van elke VIRTUELE machine toe aan een van de toepassingsbeveiligingsgroepen die u eerder hebt gemaakt:
Voer in het zoekvak boven aan de portal virtuele machine in. Selecteer Virtuele machines in de zoekresultaten en selecteer vervolgens vm-web.
Selecteer Toepassingsbeveiligingsgroepen in de sectie Netwerken van vm-web.
Selecteer Toepassingsbeveiligingsgroepen toevoegen en selecteer vervolgens op het tabblad Toepassingsbeveiligingsgroepen toevoegen de optie asg-web. Selecteer ten slotte Toevoegen.
Herhaal de vorige stappen voor vm-mgmt en selecteer asg-mgmt op het tabblad Toepassingsbeveiligingsgroepen toevoegen.
Gebruik Get-AzNetworkInterface om de netwerkinterface van de virtuele machine op te halen en gebruik vervolgens Get-AzApplicationSecurityGroup om de toepassingsbeveiligingsgroep op te halen. Gebruik Ten slotte Set-AzNetworkInterface om de toepassingsbeveiligingsgroep te koppelen aan de netwerkinterface. In het volgende voorbeeld wordt de beveiligingsgroep voor asg-webtoepassingen gekoppeld aan de netwerkinterface vm-web-nic :
$params1 = @{
Name = "vm-web-nic"
ResourceGroupName = "test-rg"
}
$nic = Get-AzNetworkInterface @params1
$params2 = @{
Name = "asg-web"
ResourceGroupName = "test-rg"
}
$asg = Get-AzApplicationSecurityGroup @params2
$nic.IpConfigurations[0].ApplicationSecurityGroups = @($asg)
$params3 = @{
NetworkInterface = $nic
}
Set-AzNetworkInterface @params3
Herhaal de opdracht om de toepassingsbeveiligingsgroep asg-mgmt te koppelen aan de netwerkinterface vm-mgmt-nic .
$params1 = @{
Name = "vm-mgmt-nic"
ResourceGroupName = "test-rg"
}
$nic = Get-AzNetworkInterface @params1
$params2 = @{
Name = "asg-mgmt"
ResourceGroupName = "test-rg"
}
$asg = Get-AzApplicationSecurityGroup @params2
$nic.IpConfigurations[0].ApplicationSecurityGroups = @($asg)
$params3 = @{
NetworkInterface = $nic
}
Set-AzNetworkInterface @params3
Gebruik az network nic update om de netwerkinterface te koppelen aan de toepassingsbeveiligingsgroep. In het volgende voorbeeld wordt de beveiligingsgroep voor asg-webtoepassingen gekoppeld aan de netwerkinterface vm-web-nic :
# Retrieve the network interface name associated with the virtual machine
nic_name=$(az vm show --resource-group test-rg --name vm-web --query 'networkProfile.networkInterfaces[0].id' -o tsv | xargs basename)
# Associate the application security group with the network interface
az network nic ip-config update \
--name ipconfigvm-web \
--nic-name $nic_name \
--resource-group test-rg \
--application-security-groups asg-web
Herhaal de opdracht om de toepassingsbeveiligingsgroep asg-mgmt te koppelen aan de netwerkinterface vm-mgmt-nic .
# Retrieve the network interface name associated with the virtual machine
nic_name=$(az vm show --resource-group test-rg --name vm-mgmt --query 'networkProfile.networkInterfaces[0].id' -o tsv | xargs basename)
# Associate the application security group with the network interface
az network nic ip-config update \
--name ipconfigvm-mgmt \
--nic-name $nic_name \
--resource-group test-rg \
--application-security-groups asg-mgmt
Voer in het zoekvak boven aan de portal virtuele machine in. Selecteer Virtuele machines in de zoekresultaten.
Selecteer vm-mgmt.
Selecteer op de Overzichtpagina de knop Verbinding maken en selecteer vervolgens Systeemeigen RDP.
Selecteer RDP-bestand downloaden.
Open het gedownloade RDP-bestand en selecteer Verbinding maken. Voer de gebruikersnaam en het wachtwoord in die u hebt opgegeven bij het maken van de virtuele machine.
Selecteer OK.
Mogelijk ontvangt u tijdens het verbindingsproces een certificaatwaarschuwing. Als u de waarschuwing ontvangt, selecteert u Ja of Doorgaan om door te gaan met de verbinding.
De verbinding slaagt, omdat binnenkomend verkeer van internet naar de toepassingsbeveiligingsgroep asg-mgmt is toegestaan via poort 3389.
De netwerkinterface voor vm-mgmt is gekoppeld aan de asg-mgmt-toepassingsbeveiligingsgroep en staat de verbinding toe.
Open een PowerShell-sessie op vm-mgmt. Maak verbinding met vm-web met behulp van het volgende:
mstsc /v:vm-web
De RDP-verbinding van vm-mgmt naar vm-web slaagt omdat virtuele machines in hetzelfde netwerk standaard met elkaar kunnen communiceren via elke poort.
U kunt geen RDP-verbinding maken met de virtuele machine vm-web vanaf het internet. De beveiligingsregel voor het asg-web voorkomt dat verbindingen met poort 3389 binnenkomend vanaf internet. Binnenkomend verkeer van internet wordt standaard geweigerd voor alle resources.
Als u Microsoft IIS wilt installeren op de vm-web-VM , voert u de volgende opdracht in vanuit een PowerShell-sessie op de virtuele machine vm-web :
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Nadat de IIS-installatie is voltooid, verbreekt u de verbinding met de vm-web-virtuele machine, waardoor u op de vm-mgmt-virtuele machine in de externe bureaubladverbinding blijft.
Verbreek de verbinding met de vm-mgmt-VM .
Zoek naar vm-web in het zoekvak van de portal.
Noteer op de pagina Overzicht van vm-web het openbare IP-adres voor uw virtuele machine. Het adres dat in het volgende voorbeeld wordt weergegeven, is 203.0.113.103. Uw adres is anders:
Als u wilt bevestigen dat u toegang hebt tot de vm-webwebserver vanaf internet, opent u een internetbrowser op uw computer en bladert u naar http://<public-ip-address-from-previous-step>
.
U ziet de standaardpagina van IIS, omdat binnenkomend verkeer van internet naar de asg-webtoepassingsbeveiligingsgroep is toegestaan via poort 80.
De netwerkinterface die is gekoppeld aan vm-web is gekoppeld aan de asg-webtoepassingsbeveiligingsgroep en staat de verbinding toe.
Gebruik Get-AzPublicIpAddress om het openbare IP-adres van een virtuele machine op te halen. In het volgende voorbeeld wordt het openbare IP-adres van de VM-mgmt-VM geretourneerd:
$params = @{
Name = "public-ip-vm-mgmt"
ResourceGroupName = "test-rg"
}
$publicIP = Get-AzPublicIpAddress @params | Select IpAddress
Gebruik de volgende opdracht om een extern bureaubladsessie te maken met de VM-mgmt-VM vanaf uw lokale computer.
mstsc /v:$publicIP
Voer de gebruikersnaam en het wachtwoord in die u hebt opgegeven bij het maken van de virtuele machine (mogelijk moet u meer opties selecteren en vervolgens een ander account gebruiken om de referenties op te geven die u hebt ingevoerd bij het maken van de virtuele machine). Selecteer vervolgens OK. Er wordt mogelijk een certificaatwaarschuwing weergegeven tijdens het aanmelden. Selecteer Ja om door te gaan met de verbinding.
De verbinding is geslaagd. Van internet is poort 3389 toegestaan voor binnenkomend verkeer naar de toepassingsbeveiligingsgroep asg-mgmt. De netwerkinterface die is gekoppeld aan de vm-mgmt-VM bevindt zich in deze groep.
Gebruik de volgende opdracht om een verbinding met een extern bureaublad te maken met de vm-web VM, vanaf de vm-mgmt VM, vanuit PowerShell:
mstsc /v:vm-web
De verbinding slaagt omdat een standaardbeveiligingsregel binnen elke netwerkbeveiligingsgroep verkeer via alle poorten tussen alle IP-adressen binnen een virtueel netwerk toestaat. U kunt geen verbinding met een extern bureaublad maken met de vm-web-VM via internet, omdat de beveiligingsregel voor het asg-web geen poort 3389 toestaat die afkomstig is van internet.
Gebruik de volgende opdracht om Microsoft IIS te installeren op de vm-web-VM vanuit PowerShell:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Nadat de IIS-installatie is voltooid, verbreekt u de verbinding met de VM-web-VM , waardoor u in de verbinding met extern bureaublad van de vm-mgmt-VM blijft. Als u het IIS-welkomstscherm wilt weergeven, opent u een internetbrowser en bladert u naar http://vm-web.
Verbreek de verbinding met de vm-mgmt-VM .
Voer op uw computer de volgende opdracht uit PowerShell in om het openbare IP-adres van de vm-webserver op te halen:
$params = @{
Name = "public-ip-vm-web"
ResourceGroupName = "test-rg"
}
Get-AzPublicIpAddress @params | Select IpAddress
Als u wilt bevestigen dat u toegang hebt tot de vm-webwebserver van buiten Azure, opent u een internetbrowser op uw computer en bladert u naar http://<public-ip-address-from-previous-step>
. De verbinding slaagt. Poort 80 is toegestaan voor binnenkomend verkeer van het internet naar de asg-web beveiligingsgroep. De netwerkinterface die is gekoppeld aan de vm-web-VM bevindt zich in deze groep.
Maak met behulp van een SSH-client van uw keuze verbinding met de vm's die u eerder hebt gemaakt. De volgende opdracht kan bijvoorbeeld worden gebruikt vanuit een opdrachtregelinterface, zoals Windows-subsysteem voor Linux om een SSH-sessie te maken met de VM-mgmt-VM. U kunt zich aanmelden bij de virtuele machines met behulp van uw Microsoft Entra ID-referenties of u kunt de SSH-sleutel gebruiken die u hebt gebruikt om de VIRTUELE machines te maken. In het volgende voorbeeld gebruiken we de SSH-sleutel om u aan te melden bij de beheer-VM en vervolgens met een wachtwoord aan te melden bij de web-VM vanaf de beheer-VM.
Zie Aanmelden bij een virtuele Linux-machine in Azure met behulp van Microsoft Entra ID en OpenSSH voor meer informatie over het aanmelden bij een virtuele Linux-machine in Azure.
IP-adres van de virtuele machine opslaan ten behoeve van SSH-toegang
Voer de volgende opdracht uit om het IP-adres van de VIRTUELE machine op te slaan als een omgevingsvariabele:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-mgmt --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
De verbinding slaagt omdat de netwerkinterface die is gekoppeld aan de VM-mgmt-VM zich in de asg-mgmt-toepassingsbeveiligingsgroep bevindt, waardoor poort 22 binnenkomend vanaf internet mogelijk is.
Gebruik de volgende opdracht om vanaf de vm-mgmt VM naar de vm-web VM te SSH'en:
ssh -o StrictHostKeyChecking=no azureuser@vm-web
De verbinding slaagt omdat een standaardbeveiligingsregel binnen elke netwerkbeveiligingsgroep verkeer via alle poorten tussen alle IP-adressen binnen een virtueel netwerk toestaat. U kunt geen SSH naar de vm-web-VM vanaf internet omdat de beveiligingsregel voor het asg-web poort 22 niet toestaat voor binnenkomend verkeer vanaf internet.
Gebruik de volgende opdrachten om de nginx-webserver te installeren op de VM-web-VM :
# Update package source
sudo apt-get -y update
# Install NGINX
sudo apt-get -y install nginx
De vm-web-VM is uitgaand naar internet toegestaan om nginx op te halen omdat met een standaardbeveiligingsregel al het uitgaande verkeer naar internet is toegestaan. Sluit de vm-web-SSH-sessie af, waardoor u bij de username@vm-mgmt:~$
prompt van de VM-mgmt-VM blijft. Voer de volgende opdracht in om het welkomstscherm van nginx op te halen van de VM-web-VM :
curl vm-web
Meld u af van de vm-mgmt VM. Als u wilt bevestigen dat u toegang hebt tot de vm-webwebserver van buiten Azure, voert curl <publicIpAddress>
u dit in vanaf uw eigen computer. De verbinding slaagt omdat de beveiligingsgroep van de asg-webtoepassing , waarin de netwerkinterface die is gekoppeld aan de VM-web-VM zich bevindt, poort 80 via internet toestaat.
Wanneer u klaar bent met het gebruik van de resources die u hebt gemaakt, kunt u de resourcegroep en alle bijbehorende resources verwijderen.
Zoek en selecteer Resourcegroepen in de Azure-portal.
Selecteer op de pagina Resourcegroepen de resourcegroep test-rg .
Selecteer op de pagina test-rg de optie Resourcegroep verwijderen.
Voer test-rg in Voer de naam van de resourcegroep in om het verwijderen te bevestigen en selecteer vervolgens Verwijderen.
U kunt de opdracht Remove-AzResourceGroup gebruiken om de resourcegroep en alle resources die deze bevat te verwijderen, wanneer u deze niet meer nodig hebt:
$params = @{
Name = "test-rg"
Force = $true
}
Remove-AzResourceGroup @params
Wanneer u deze niet meer nodig hebt, gebruik az group delete om de resourcegroep en alle resources die deze bevat te verwijderen.
az group delete \
--name test-rg \
--yes \
--no-wait
Azure routeert standaard verkeer tussen subnetten. In plaats daarvan kunt u ervoor kiezen om verkeer tussen subnetten via een VIRTUELE machine te routeren, bijvoorbeeld als een firewall.
Ga verder met de volgende zelfstudie om te leren hoe u een routetabel maakt.