Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie maakt u een Virtual WAN-exemplaar met een virtuele hub in één regio en implementeert u een Azure Firewall in de virtuele hub om de connectiviteit te beveiligen. In dit voorbeeld demonstreert u beveiligde connectiviteit tussen virtuele netwerken. Verkeer tussen virtuele netwerken en site-naar-site-, punt-naar-site of ExpressRoute-branches wordt ook ondersteund door virtuele beveiligde hub.
In deze zelfstudie leert u het volgende:
- De virtuele WAN implementeren
- Azure Firewall implementeren en aangepaste routering configureren
- Test de connectiviteit
Important
Een Virtual WAN is een verzameling hubs en services die beschikbaar worden gesteld in de hub. U kunt zoveel virtuele WAN's implementeren die u nodig hebt. In een Virtual WAN-hub zijn er meerdere services zoals VPN, ExpressRoute, enzovoort. Elk van deze services wordt automatisch geïmplementeerd in beschikbaarheidszones, met uitzondering van Azure Firewall, als de regio beschikbaarheidszones ondersteunt. Als u een bestaande Azure Virtual WAN-hub wilt upgraden naar een beveiligde hub en de Azure Firewall beschikbaarheidszones wilt gebruiken, moet u Azure PowerShell gebruiken, zoals verderop in dit artikel wordt beschreven.
Prerequisites
Als je geen Azure-abonnement hebt, maak dan een gratis account aan voordat je begint.
PowerShell 7 of hoger
Voor deze zelfstudie moet u Azure PowerShell lokaal uitvoeren op PowerShell 7 of hoger. Zie Migreren van Windows PowerShell 5.1 naar PowerShell 7 om PowerShell 7 te installeren.
De moduleversie Az.Network moet 4.17.0 of hoger zijn.
Aanmelden bij Azure
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
Eerste implementatie van Virtual WAN
Om te beginnen moet u variabelen instellen en de resourcegroep, het virtuele WAN-exemplaar en de virtuele hub maken:
# Variable definition
$RG = "vwan-rg"
$Location = "westeurope"
$VwanName = "vwan"
$HubName = "hub1"
$FirewallTier = "Standard" # or "Premium"
# Create Resource Group, Virtual WAN and Virtual Hub using the New-AzVirtualWan and New-AzVirtualHub cmdlets
New-AzResourceGroup -Name $RG -Location $Location
$Vwan = New-AzVirtualWan -Name $VwanName -ResourceGroupName $RG -Location $Location -AllowVnetToVnetTraffic -AllowBranchToBranchTraffic -VirtualWANType "Standard"
$Hub = New-AzVirtualHub -Name $HubName -ResourceGroupName $RG -VirtualWan $Vwan -Location $Location -AddressPrefix "192.168.1.0/24" -Sku "Standard"
- Maak twee virtuele netwerken en verbind ze met de hub als spokes met behulp van de
New-AzVirtualHubVnetConnectioncmdlet. De virtuele netwerken worden gemaakt met de adresvoorvoegsels10.1.1.0/24en10.1.2.0/24.
# Create Virtual Network
$Spoke1 = New-AzVirtualNetwork -Name "spoke1" -ResourceGroupName $RG -Location $Location -AddressPrefix "10.1.1.0/24"
$Spoke2 = New-AzVirtualNetwork -Name "spoke2" -ResourceGroupName $RG -Location $Location -AddressPrefix "10.1.2.0/24"
# Connect Virtual Network to Virtual WAN
$Spoke1Connection = New-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName $HubName -Name "spoke1" -RemoteVirtualNetwork $Spoke1 -EnableInternetSecurityFlag $True
$Spoke2Connection = New-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName $HubName -Name "spoke2" -RemoteVirtualNetwork $Spoke2 -EnableInternetSecurityFlag $True
In deze fase is uw Virtual WAN volledig operationeel en biedt any-to-any-connectiviteit. Als u deze omgeving wilt beveiligen, implementeert u een Azure Firewall in elke virtuele hub. U kunt deze firewalls centraal beheren met behulp van firewallbeleid.
In dit voorbeeld maakt u ook een firewallbeleid voor het beheren van het Azure Firewall-exemplaar in de Virtual WAN-hub met behulp van de New-AzFirewallPolicy cmdlet. De Azure Firewall wordt geïmplementeerd in de hub met behulp van de New-AzFirewall cmdlet.
# New Firewall Policy
$FWPolicy = New-AzFirewallPolicy -Name "VwanFwPolicy" -ResourceGroupName $RG -Location $Location
# New Firewall Public IP
$AzFWPIPs = New-AzFirewallHubPublicIpAddress -Count 1
$AzFWHubIPs = New-AzFirewallHubIpAddress -PublicIP $AzFWPIPs
# New Firewall
$AzFW = New-AzFirewall -Name "azfw1" -ResourceGroupName $RG -Location $Location `
-VirtualHubId $Hub.Id -FirewallPolicyId $FWPolicy.Id `
-SkuName "AZFW_Hub" -HubIPAddress $AzFWHubIPs `
-SkuTier $FirewallTier
Note
De volgende opdracht voor het maken van een firewall maakt geen gebruik van beschikbaarheidszones. Als u deze functie wilt gebruiken, is een extra parameter -Zone vereist. Aan het einde van dit artikel vindt u een voorbeeld in de sectie Upgrade.
Het inschakelen van logboekregistratie van Azure Firewall naar Azure Monitor is optioneel. In dit voorbeeld gebruikt u firewalllogboeken om te controleren of verkeer via de firewall wordt doorgegeven. Maak eerst een Log Analytics-werkruimte om de logboeken op te slaan. Gebruik vervolgens de Set-AzDiagnosticSetting cmdlet om diagnostische instellingen te configureren en de logboeken naar de werkruimte te verzenden.
# Optionally, enable logging of Azure Firewall to Azure Monitor
$LogWSName = "vwan-" + (Get-Random -Maximum 99999) + "-" + $RG
$LogWS = New-AzOperationalInsightsWorkspace -Location $Location -Name $LogWSName -Sku Standard -ResourceGroupName $RG
Set-AzDiagnosticSetting -ResourceId $AzFW.Id -Enabled $True -Category AzureFirewallApplicationRule, AzureFirewallNetworkRule -WorkspaceId $LogWS.ResourceId
Azure Firewall implementeren en aangepaste routering configureren
Note
Dit is de configuratie die is geïmplementeerd bij het beveiligen van connectiviteit vanuit Azure Portal met Azure Firewall Manager wanneer de instelling Inter-hub is ingesteld op uitgeschakeld. Zie Routeringsintentie inschakelen voor instructies over het configureren van routering met behulp van PowerShell wanneer 'Inter-hub' is ingesteld op ingeschakeld.
U hebt nu een Azure Firewall in de hub, maar u moet nog steeds de routering wijzigen zodat Virtual WAN het verkeer van de virtuele netwerken en van de branches via de firewall verzendt. Dit doet u in twee stappen:
- Configureer alle virtuele netwerkverbindingen (en de branche-verbindingen indien aanwezig) zodat deze doorgeven aan de Routeringstabel
None. Het effect van deze configuratie is dat andere virtuele netwerken en branches hun voorvoegsels niet leren en dat er geen routering is om ze te bereiken. - U kunt nu statische routes invoegen in de Routeringstabel
Default(waarbij alle virtuele netwerken en branches standaard zijn gekoppeld), zodat al het verkeer naar de Azure Firewall wordt verzonden.
Begin met het configureren van uw virtuele netwerkverbindingen om door te geven aan de None routetabel. Deze stap zorgt ervoor dat de virtuele netwerken elkaars adresvoorvoegsels niet leren, waardoor directe communicatie tussen deze netwerken wordt voorkomen. Als gevolg hiervan moet al het verkeer tussen virtuele netwerken via de Azure Firewall worden doorgegeven.
Hiervoor gebruikt u de Get-AzVhubRouteTable cmdlet om de None routetabel op te halen en werkt u vervolgens de routeringsconfiguratie van elke virtuele netwerkverbinding bij met de Update-AzVirtualHubVnetConnection cmdlet.
# Configure Virtual Network connections in hub to propagate to None
$VnetRoutingConfig = $Spoke1Connection.RoutingConfiguration # We take $Spoke1Connection as baseline for the future vnet config, all vnets will have an identical config
$NoneRT = Get-AzVhubRouteTable -ResourceGroupName $RG -HubName $HubName -Name "noneRouteTable"
$NewPropRT = @{}
$NewPropRT.Add('Id', $NoneRT.Id)
$PropRTList = @()
$PropRTList += $NewPropRT
$VnetRoutingConfig.PropagatedRouteTables.Ids = $PropRTList
$VnetRoutingConfig.PropagatedRouteTables.Labels = @()
$Spoke1Connection = Update-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName $HubName -Name "spoke1" -RoutingConfiguration $VnetRoutingConfig
$Spoke2Connection = Update-AzVirtualHubVnetConnection -ResourceGroupName $RG -ParentResourceName $HubName -Name "spoke2" -RoutingConfiguration $VnetRoutingConfig
Ga vervolgens verder met de tweede stap: statische routes toevoegen aan de Default routetabel. In het volgende voorbeeld wordt de standaardconfiguratie gebruikt die Door Azure Firewall Manager wordt toegepast bij het beveiligen van connectiviteit in een Virtual WAN. U kunt de lijst met voorvoegsels in de statische route naar behoefte aanpassen met behulp van de New-AzVHubRoute cmdlet. In dit voorbeeld wordt al het verkeer gerouteerd via de Azure Firewall. Dit is de aanbevolen standaardwaarde.
# Create static routes in default Route table
$AzFWId = $(Get-AzVirtualHub -ResourceGroupName $RG -name $HubName).AzureFirewall.Id
$AzFWRoute = New-AzVHubRoute -Name "all_traffic" -Destination @("0.0.0.0/0", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16") -DestinationType "CIDR" -NextHop $AzFWId -NextHopType "ResourceId"
$DefaultRT = Update-AzVHubRouteTable -Name "defaultRouteTable" -ResourceGroupName $RG -VirtualHubName $HubName -Route @($AzFWRoute)
Note
De tekenreeks 'all_traffic' als waarde voor de parameter '-Name' in de bovenstaande opdracht New-AzVHubRoute heeft een speciale betekenis: als u deze exacte tekenreeks gebruikt, wordt de configuratie die in dit artikel wordt toegepast, correct weergegeven in de Azure-portal (Firewall Manager --> Virtuele hubs --> [Uw hub] --> Beveiligingsconfiguratie). Als er een andere naam wordt gebruikt, wordt de gewenste configuratie toegepast, maar wordt deze niet weergegeven in Azure Portal.
Routeringsintentie inschakelen
Als u verkeer tussen hubs en regio's wilt verzenden via Azure Firewall die is geïmplementeerd in de Virtual WAN-hub, kunt u in plaats daarvan de functie voor routeringsintentie inschakelen. Zie de documentatie over routeringsintentie voor meer informatie over routeringsintentie.
Note
Dit is de configuratie die is geïmplementeerd bij het beveiligen van connectiviteit vanuit Azure Portal met Azure Firewall Manager wanneer de instelling 'Interhub' is ingesteld op ingeschakeld.
# Get the Azure Firewall resource ID
$AzFWId = $(Get-AzVirtualHub -ResourceGroupName <thname> -name $HubName).AzureFirewall.Id
# Create routing policy and routing intent
$policy1 = New-AzRoutingPolicy -Name "PrivateTraffic" -Destination @("PrivateTraffic") -NextHop $firewall.Id
$policy2 = New-AzRoutingPolicy -Name "PublicTraffic" -Destination @("Internet") -NextHop $firewall.Id
New-AzRoutingIntent -ResourceGroupName "<rgname>" -VirtualHubName "<hubname>" -Name "hubRoutingIntent" -RoutingPolicy @($policy1, $policy2)
If your Virtual WAN uses non-RFC1918 address prefixes (for example, `40.0.0.0/24` in a virtual network or on-premises), you should add an extra route to the `defaultRouteTable` after completing the routing intent configuration. Name this route **private_traffic**. If you use a different name, the route will work as expected, but the configuration will not be reflected in the Azure portal.
```azurepowershell-interactive
# Get the defaultRouteTable
$defaultRouteTable = Get-AzVHubRouteTable -ResourceGroupName routingIntent-Demo -HubName wus_hub1 -Name defaultRouteTable
# Get the routes automatically created by routing intent. If private routing policy is enabled, this is the route named _policy_PrivateTraffic. If internet routing policy is enabled, this is the route named _policy_InternetTraffic.
$privatepolicyroute = $defaultRouteTable.Routes[1]
# Create new route named private_traffic for non-RFC1918 prefixes
$private_traffic = New-AzVHubRoute -Name "private-traffic" -Destination @("30.0.0.0/24") -DestinationType "CIDR" -NextHop $AzFWId -NextHopType ResourceId
# Create new routes for route table
$newroutes = @($privatepolicyroute, $private_traffic)
# Update route table
Update-AzVHubRouteTable -ResourceGroupName <rgname> -ParentResourceName <hubname> -Name defaultRouteTable -Route $newroutes
Test de connectiviteit
Nu uw beveiligde hub volledig operationeel is, kunt u de connectiviteit testen door een virtuele machine te implementeren in elk virtueel spoke-netwerk dat is verbonden met de hub:
# Create VMs in spokes for testing
$VMLocalAdminUser = "lab-user"
$VMLocalAdminSecurePassword = ConvertTo-SecureString -AsPlainText -Force
$VMCredential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$VMSize = "Standard_B2ms"
# Spoke1
$Spoke1 = Get-AzVirtualNetwork -ResourceGroupName $RG -Name "spoke1"
Add-AzVirtualNetworkSubnetConfig -Name "vm" -VirtualNetwork $Spoke1 -AddressPrefix "10.1.1.0/26"
$Spoke1 | Set-AzVirtualNetwork
$VM1 = New-AzVM -Name "spoke1-vm" -ResourceGroupName $RG -Location $Location `
-Image "UbuntuLTS" -credential $VMCredential `
-VirtualNetworkName "spoke1" -SubnetName "vm" -PublicIpAddressName "spoke1-pip"
$NIC1 = Get-AzNetworkInterface -ResourceId $($VM1.NetworkProfile.NetworkInterfaces[0].Id)
$Spoke1VMPrivateIP = $NIC1.IpConfigurations[0].PrivateIpAddress
$Spoke1VMPIP = $(Get-AzPublicIpAddress -ResourceGroupName $RG -Name "spoke1-pip")
# Spoke2
$Spoke2 = Get-AzVirtualNetwork -ResourceGroupName $RG -Name "spoke2"
Add-AzVirtualNetworkSubnetConfig -Name "vm" -VirtualNetwork $Spoke2 -AddressPrefix "10.1.2.0/26"
$Spoke2 | Set-AzVirtualNetwork
$VM2 = New-AzVM -Name "spoke2-vm" -ResourceGroupName $RG -Location $Location `
-Image "UbuntuLTS" -credential $VMCredential `
-VirtualNetworkName "spoke2" -SubnetName "vm" -PublicIpAddressName "spoke2-pip"
$NIC2 = Get-AzNetworkInterface -ResourceId $($VM2.NetworkProfile.NetworkInterfaces[0].Id)
$Spoke2VMPrivateIP = $NIC2.IpConfigurations[0].PrivateIpAddress
$Spoke2VMPIP = $(Get-AzPublicIpAddress -ResourceGroupName $RG -Name "spoke2-pip")
Standaard blokkeert het firewallbeleid al het verkeer. Als u toegang wilt verlenen tot uw virtuele testmachines, moet u DNAT-regels (Destination Network Address Translation) configureren. Met deze regels kunt u verbinding maken met de VM's via het openbare IP-adres van azure Firewall:
# Adding DNAT rules for virtual machines in the spokes
$AzFWPublicAddress = $AzFW.HubIPAddresses.PublicIPs.Addresses[0].Address
$NATRuleSpoke1 = New-AzFirewallPolicyNatRule -Name "Spoke1SSH" -Protocol "TCP" `
-SourceAddress "*" -DestinationAddress $AzFWPublicAddress -DestinationPort 10001 `
-TranslatedAddress $Spoke1VMPrivateIP -TranslatedPort 22
$NATRuleSpoke2 = New-AzFirewallPolicyNatRule -Name "Spoke2SSH" -Protocol "TCP" `
-SourceAddress "*" -DestinationAddress $AzFWPublicAddress -DestinationPort 10002 `
-TranslatedAddress $Spoke2VMPrivateIP -TranslatedPort 22
$NATCollection = New-AzFirewallPolicyNatRuleCollection -Name "SSH" -Priority 100 `
-Rule @($NATRuleSpoke1, $NATRuleSpoke2) -ActionType "Dnat"
$NATGroup = New-AzFirewallPolicyRuleCollectionGroup -Name "NAT" -Priority 100 -RuleCollection $NATCollection -FirewallPolicyObject $FWPolicy
Configureer vervolgens voorbeeldregels voor uw firewallbeleid. Maak eerst een netwerkregel om SSH-verkeer tussen de virtuele netwerken toe te staan. Voeg vervolgens een toepassingsregel toe om internettoegang alleen toe te laten tot de Fully Qualified Domain Name (FQDN) ifconfig.codie het bron-IP-adres retourneert dat wordt weergegeven in de HTTP-aanvraag:
# Add Network Rule
$SSHRule = New-AzFirewallPolicyNetworkRule -Name PermitSSH -Protocol TCP `
-SourceAddress "10.0.0.0/8" -DestinationAddress "10.0.0.0/8" -DestinationPort 22
$NetCollection = New-AzFirewallPolicyFilterRuleCollection -Name "Management" -Priority 100 -ActionType Allow -Rule $SSHRule
$NetGroup = New-AzFirewallPolicyRuleCollectionGroup -Name "Management" -Priority 200 -RuleCollection $NetCollection -FirewallPolicyObject $FWPolicy
# Add Application Rule
$ifconfigRule = New-AzFirewallPolicyApplicationRule -Name PermitIfconfig -SourceAddress "10.0.0.0/8" -TargetFqdn "ifconfig.co" -Protocol "http:80","https:443"
$AppCollection = New-AzFirewallPolicyFilterRuleCollection -Name "TargetURLs" -Priority 300 -ActionType Allow -Rule $ifconfigRule
$NetGroup = New-AzFirewallPolicyRuleCollectionGroup -Name "TargetURLs" -Priority 300 -RuleCollection $AppCollection -FirewallPolicyObject $FWPolicy
Controleer voordat u verkeer verzendt de effectieve routes voor elke virtuele machine. In de routetabellen moeten de voorvoegsels worden weergegeven die zijn geleerd uit virtual WAN (0.0.0.0/0 en RFC1918 bereiken), maar mogen het adresvoorvoegsel van het andere virtuele spoke-netwerk niet bevatten.
# Check effective routes in the VM NIC in spoke 1
# Note that 10.1.2.0/24 (the prefix for spoke2) should not appear
Get-AzEffectiveRouteTable -ResourceGroupName $RG -NetworkInterfaceName $NIC1.Name | ft
# Check effective routes in the VM NIC in spoke 2
# Note that 10.1.1.0/24 (the prefix for spoke1) should not appear
Get-AzEffectiveRouteTable -ResourceGroupName $RG -NetworkInterfaceName $NIC2.Name | ft
Genereer verkeer van de ene virtuele machine naar de andere en controleer of deze is gefilterd door Azure Firewall. Gebruik SSH om verbinding te maken met de virtuele machines. Accepteer de SSH-vingerafdruk en voer het wachtwoord in dat u hebt ingesteld tijdens het maken van de virtuele machine. In dit voorbeeld gaat u het volgende doen:
- Verzend vijf ICMP-echoaanvragen (pings) van de VM in spoke1 naar de VM in spoke2.
- Probeer een TCP-verbinding op poort 22 met behulp van het
nchulpprogramma (netcat) met de-vzvlaggen, waarmee de connectiviteit wordt gecontroleerd zonder gegevens te verzenden.
U moet zien dat de pingaanvragen mislukken (geblokkeerd door de firewall), terwijl de TCP-verbinding op poort 22 slaagt, zoals is toegestaan door de eerder geconfigureerde netwerkregel.
# Connect to one VM and ping the other. It should not work, because the firewall should drop the traffic, since no rule for ICMP is configured
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "ping $Spoke2VMPrivateIP -c 5"
# Connect to one VM and send a TCP request on port 22 to the other. It should work, because the firewall is configured to allow SSH traffic (port 22)
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "nc -vz $Spoke2VMPrivateIP 22"
U kunt ook internettoegang testen via de firewall. HTTP-aanvragen die gebruikmaken van het curl hulpprogramma voor de toegestane FQDN (ifconfig.co) moeten slagen, terwijl aanvragen naar andere bestemmingen (zoals bing.com) moeten worden geblokkeerd door het firewallbeleid:
# This HTTP request should succeed, since it is allowed in an app rule in the AzFW, and return the public IP of the FW
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "curl -s4 ifconfig.co"
# This HTTP request should fail, since the FQDN bing.com is not in any app rule in the firewall policy
ssh $AzFWPublicAddress -p 10001 -l $VMLocalAdminUser "curl -s4 bing.com"
Controleer de logboeken die naar Azure Monitor worden verzonden om te controleren of de firewall pakketten verwijdert zoals verwacht. Omdat Azure Firewall is geconfigureerd voor het verzenden van diagnostische logboeken naar Azure Monitor, kunt u Kusto Query Language (KQL) gebruiken om de relevante logboekvermeldingen op te vragen en te analyseren:
Note
Het kan ongeveer 1 minuut duren voordat de logboeken worden verzonden naar Azure Monitor
# Getting Azure Firewall network rule Logs
$LogWS = Get-AzOperationalInsightsWorkspace -ResourceGroupName $RG
$LogQuery = 'AzureDiagnostics
| where Category == "AzureFirewallNetworkRule"
| where TimeGenerated >= ago(5m)
| parse msg_s with Protocol " request from " SourceIP ":" SourcePortInt:int " to " TargetIP ":" TargetPortInt:int *
| parse msg_s with * ". Action: " Action1a
| parse msg_s with * " was " Action1b " to " NatDestination
| parse msg_s with Protocol2 " request from " SourceIP2 " to " TargetIP2 ". Action: " Action2
| extend SourcePort = tostring(SourcePortInt),TargetPort = tostring(TargetPortInt)
| extend Action = case(Action1a == "", case(Action1b == "",Action2,Action1b), Action1a),Protocol = case(Protocol == "", Protocol2, Protocol),SourceIP = case(SourceIP == "", SourceIP2, SourceIP),TargetIP = case(TargetIP == "", TargetIP2, TargetIP),SourcePort = case(SourcePort == "", "N/A", SourcePort),TargetPort = case(TargetPort == "", "N/A", TargetPort),NatDestination = case(NatDestination == "", "N/A", NatDestination)
| project TimeGenerated, Protocol, SourceIP,SourcePort,TargetIP,TargetPort,Action, NatDestination, Resource
| take 25 '
$(Invoke-AzOperationalInsightsQuery -Workspace $LogWS -Query $LogQuery).Results | ft
In de vorige opdracht moet u verschillende vermeldingen zien:
- Er wordt een DNAT uitgevoerd op uw SSH-verbinding
- Verwijderde ICMP-pakketten tussen de VM’s in de spokes (10.1.1.4 en 10.1.2.4)
- Toegestane SSH-verbindingen tussen de VM’s in de spokes
Hier volgt een voorbeeld van de uitvoer die wordt geproduceerd met de bovenstaande opdracht:
TimeGenerated Protocol SourceIP SourcePort TargetIP TargetPort Action NatDestination Resource
------------- -------- -------- ---------- -------- ---------- ------ -------------- --------
2020-10-04T20:53:02.41Z TCP 109.125.122.99 62281 51.105.224.44 10001 DNAT'ed 10.1.1.4:22 AZFW1
2020-10-04T20:53:07.045Z TCP 10.1.1.4 35932 10.1.2.4 22 Allow N/A AZFW1
2020-10-04T20:53:50.119Z TCP 109.125.122.99 62293 51.105.224.44 10001 DNAT'ed 10.1.2.4:22 AZFW1
2020-10-04T20:52:47.475Z TCP 109.125.122.99 62273 51.105.224.44 10001 DNAT'ed 10.1.2.4:22 AZFW1
2020-10-04T20:51:04.682Z TCP 109.125.122.99 62200 51.105.224.44 10001 DNAT'ed 10.1.2.4:22 AZFW1
2020-10-04T20:51:17.031Z ICMP Type=8 10.1.1.4 N/A 10.1.2.4 N/A Deny N/A AZFW1
2020-10-04T20:51:18.049Z ICMP Type=8 10.1.1.4 N/A 10.1.2.4 N/A Deny N/A AZFW1
2020-10-04T20:51:19.075Z ICMP Type=8 10.1.1.4 N/A 10.1.2.4 N/A Deny N/A AZFW1
2020-10-04T20:51:20.097Z ICMP Type=8 10.1.1.4 N/A 10.1.2.4 N/A Deny N/A AZFW1
2020-10-04T20:51:21.121Z ICMP Type=8 10.1.1.4 N/A 10.1.2.4 N/A Deny N/A AZFW1
2020-10-04T20:52:52.356Z TCP 10.1.1.4 53748 10.1.2.4 22 Allow N/A AZFW1
Als u de logboeken voor de toepassingsregels wilt weergeven (met een beschrijving van de toegestane en geweigerde HTTP-verbindingen) of als u de manier wilt wijzigen waarop de logboeken worden weergegeven, kunt u het proberen met andere KQL-query’s. U vindt enkele voorbeelden in Azure Monitor-logboeken voor Azure Firewall.
Als u de testomgeving wilt opschonen, verwijdert u de resourcegroep en alle bijbehorende resources met behulp van de Remove-AzResourceGroup cmdlet. Hiermee verwijdert u de Virtual WAN, Virtual Hub, Azure Firewall en alle andere resources die tijdens deze zelfstudie zijn gemaakt.
# Delete resource group and all contained resources
Remove-AzResourceGroup -Name $RG
Een nieuwe Azure Firewall implementeren met beschikbaarheidszones naar een bestaande hub
In de vorige stappen hebt u gezien hoe u Azure PowerShell gebruikt om een nieuwe Azure Virtual WAN Hub te maken en deze te beveiligen met Azure Firewall. U kunt ook een bestaande Azure Virtual WAN-hub beveiligen met behulp van een vergelijkbare op scripts gebaseerde benadering. Firewall Manager kan een hub converteren naar een beveiligde hub, maar biedt geen ondersteuning voor het implementeren van Azure Firewall tussen beschikbaarheidszones via de portal. Als u Azure Firewall in alle drie de beschikbaarheidszones wilt implementeren, gebruikt u het volgende PowerShell-script om uw bestaande Virtual WAN-hub te converteren naar een beveiligde hub.
Note
Met deze procedure wordt een nieuwe Azure Firewall geïmplementeerd. U kunt een bestaande Azure Firewall niet upgraden zonder beschikbaarheidszones naar een met beschikbaarheidszones. U moet eerst de bestaande Azure Firewall in de hub verwijderen en deze opnieuw maken met behulp van deze procedure.
# Variable definition
$RG = "vwan-rg"
$Location = "westeurope"
$VwanName = "vwan"
$HubName = "hub1"
$FirewallName = "azfw1"
$FirewallTier = "Standard" # or "Premium"
$FirewallPolicyName = "VwanFwPolicy"
# Get references to vWAN and vWAN Hub to convert #
$Vwan = Get-AzVirtualWan -ResourceGroupName $RG -Name $VwanName
$Hub = Get-AzVirtualHub -ResourceGroupName $RG -Name $HubName
# Create a new Firewall Policy #
$FWPolicy = New-AzFirewallPolicy -Name $FirewallPolicyName -ResourceGroupName $RG -Location $Location
# Create a new Firewall Public IP #
$AzFWPIPs = New-AzFirewallHubPublicIpAddress -Count 1
$AzFWHubIPs = New-AzFirewallHubIpAddress -PublicIP $AzFWPIPs
# Create Firewall instance #
$AzFW = New-AzFirewall -Name $FirewallName -ResourceGroupName $RG -Location $Location `
-VirtualHubId $Hub.Id -FirewallPolicyId $FWPolicy.Id `
-SkuName "AZFW_Hub" -HubIPAddress $AzFWHubIPs `
-SkuTier $FirewallTier `
-Zone 1,2,3
Nadat u dit script hebt uitgevoerd, moeten beschikbaarheidszones worden weergegeven in de eigenschappen van de beveiligde hub, zoals wordt weergegeven in de volgende schermopname:
Nadat u Azure Firewall hebt geïmplementeerd, moet u de configuratiestappen uitvoeren die worden beschreven in de eerdere implementatie van Azure Firewall en aangepaste routering configureren om de juiste routering en beveiliging te garanderen.