Tutorial: Mengamankan hub virtual Anda menggunakan Azure PowerShell

Dalam tutorial ini, Anda membuat instans Virtual WAN dengan Virtual Hub di satu wilayah, dan Anda menyebarkan Azure Firewall di Virtual Hub untuk mengamankan konektivitas. Dalam contoh ini, Anda menunjukkan konektivitas yang aman antara Virtual Network. Lalu lintas antara jaringan virtual dan situs-ke-situs, titik-ke-situs, atau cabang ExpressRoute juga didukung oleh Virtual Secure Hub.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Menyebarkan virtual WAN
  • Menyebarkan Azure Firewall dan mengonfigurasi perutean kustom
  • Uji konektivitas

Important

Virtual WAN adalah kumpulan hub dan layanan yang tersedia di dalam hub. Anda dapat menyebarkan Virtual WAN sebanyak yang dibutuhkan. Di hub Virtual WAN, ada beberapa layanan seperti VPN, ExpressRoute, dan sebagainya. Masing-masing layanan ini secara otomatis disebarkan di seluruh zona ketersediaankecuali Azure Firewall, jika wilayah mendukung zona ketersediaan. Untuk meningkatkan Azure Virtual WAN Hub yang ada ke Hub Aman dan meminta Azure Firewall menggunakan zona ketersediaan, Anda harus menggunakan Azure PowerShell, seperti yang dijelaskan nanti di artikel ini.

Prerequisites

  • Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.

  • PowerShell 7 atau lebih tinggi

    Tutorial ini mengharuskan Anda menjalankan Azure PowerShell secara lokal di PowerShell 7 atau yang lebih tinggi. Untuk menginstal PowerShell 7, lihat Melakukan migrasi dari Windows PowerShell 5.1 ke PowerShell 7.

  • Versi modul "Az.Network" harus berupa versi 4.17.0 atau yang lebih tinggi.

Masuk ke Azure

Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"

Penyebaran Virtual WAN Awal

Untuk memulai, Anda perlu mengatur variabel dan membuat grup sumber daya, instans WAN virtual, dan hub virtual:

# 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"
  • Buat dua jaringan virtual dan sambungkan dua jaringan virtual tersebut ke hub sebagai spokes menggunakan cmdlet New-AzVirtualHubVnetConnection. Jaringan virtual dibuat dengan prefix alamat 10.1.1.0/24 dan 10.1.2.0/24.
# Create Virtual Network
$Spoke1 = New-AzVirtualNetwork -Name "spoke1" -ResourceGroupName $RG -Location $Location -AddressPrefix "10.1.1.0/24"
Add-AzVirtualNetworkSubnetConfig -Name "AzureBastionSubnet" -VirtualNetwork $Spoke1 -AddressPrefix "10.1.1.64/26"
$Spoke1 | Set-AzVirtualNetwork
$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

Pada tahap ini, Virtual WAN Anda beroperasi penuh dan menyediakan konektivitas antar-segala. Untuk mengamankan lingkungan ini, sebarkan Azure Firewall di setiap Hub Virtual. Anda dapat mengelola firewall ini secara terpusat menggunakan Kebijakan Firewall.

Dalam contoh ini, Anda juga akan membuat kebijakan firewall untuk mengelola instans Azure Firewall di hub Virtual WAN menggunakan New-AzFirewallPolicy cmdlet . Azure Firewall akan disebarkan di hub menggunakan 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

Perintah pembuatan Firewall berikut ini tidak menggunakan zona ketersediaan. Jika Anda ingin menggunakan fitur ini, parameter tambahan -Zone diperlukan. Contoh disediakan di bagian peningkatan di akhir artikel ini.

Mengaktifkan pengelogan dari Azure Firewall ke Azure Monitor bersifat opsional. Dalam contoh ini, Anda menggunakan log firewall untuk memverifikasi bahwa lalu lintas melewati firewall. Pertama, buat ruang kerja Analitik Log untuk menyimpan log. Kemudian, gunakan Set-AzDiagnosticSetting cmdlet untuk mengonfigurasi pengaturan diagnostik dan mengirim log ke ruang kerja.

# 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

Menyebarkan Azure Firewall dan mengonfigurasi perutean kustom

Note

Ini adalah konfigurasi yang disebarkan saat mengamankan konektivitas dari portal Microsoft Azure dengan Azure Firewall Manager saat pengaturan "Inter-hub" diatur ke dinonaktifkan. Untuk petunjuk tentang cara mengonfigurasi perutean menggunakan PowerShell ketika "Inter-hub" diatur ke diaktifkan, lihat Mengaktifkan tujuan perutean.

Sekarang Anda memiliki Azure Firewall di hub, tetapi Anda masih perlu memodifikasi perutean agar Virtual WAN mengalirkan lalu lintas dari jaringan virtual dan dari cabang melalui firewall. Anda melakukan modifikasi ini dalam dua langkah:

  1. Mengonfigurasi semua koneksi jaringan virtual (dan koneksi cabang jika ada) untuk disebarluaskan ke Tabel Rute None. Efek dari konfigurasi ini akan menyebabkan jaringan virtual dan cabang lainnya tidak mengenali awalan mereka, sehingga tidak ada perutean yang bisa menjangkau mereka.
  2. Sekarang Anda dapat menyisipkan rute statik di Tabel Rute Default (di mana semua jaringan virtual dan cabang dikaitkan secara default), sehingga semua lalu lintas dikirim ke Azure Firewall.

Mulailah dengan melakukan konfigurasi koneksi jaringan virtual Anda untuk diteruskan ke None Tabel Rute. Langkah ini memastikan bahwa jaringan virtual tidak mempelajari awalan alamat satu sama lain, mencegah komunikasi langsung di antara mereka. Akibatnya, semua lalu lintas jaringan antar-virtual harus melewati Azure Firewall.

Untuk melakukan ini, gunakan cmdlet Get-AzVhubRouteTable untuk mengambil Tabel Rute None, lalu perbarui setiap konfigurasi perutean koneksi jaringan virtual dengan cmdlet Update-AzVirtualHubVnetConnection.

# 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

Selanjutnya, lanjutkan ke langkah kedua: menambahkan rute statis ke Default tabel rute. Contoh berikut menggunakan konfigurasi default yang diterapkan Azure Firewall Manager saat mengamankan konektivitas di Virtual WAN. Anda dapat menyesuaikan daftar awalan dalam rute statis sesuai kebutuhan dengan menggunakan New-AzVHubRoute cmdlet. Dalam contoh ini, semua lalu lintas dirutekan melalui Azure Firewall, yang merupakan default yang direkomendasikan.

# 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

String "all_traffic" sebagai nilai untuk parameter "-Name" dalam perintah New-AzVHubRoute di atas memiliki arti khusus: jika Anda menggunakan string yang tepat ini, konfigurasi yang diterapkan dalam artikel ini akan tercermin dengan benar di portal Microsoft Azure (Firewall Manager --> Hub virtual --> [Hub Anda] --> Konfigurasi Keamanan). Jika nama yang berbeda akan digunakan, konfigurasi yang diinginkan akan diterapkan, tetapi tidak akan tercermin di portal Microsoft Azure.

Mengaktifkan tujuan routing

Jika Anda ingin mengirim lalu lintas antar-hub dan antar-wilayah melalui Azure Firewall yang disebarkan di hub Virtual WAN, Anda dapat mengaktifkan fitur niat perutean. Untuk informasi selengkapnya tentang niat perutean, lihat Dokumentasi Niat Perutean.

Note

Ini adalah konfigurasi yang disebarkan saat mengamankan konektivitas dari portal Microsoft Azure dengan Azure Firewall Manager saat pengaturan "Interhub" diatur ke diaktifkan.

# 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

Uji konektivitas

Setelah hub aman Anda beroperasi penuh, Anda dapat menguji konektivitas dengan menyebarkan komputer virtual di setiap jaringan virtual spoke yang terhubung ke hub.

Pertama, buat kunci SSH untuk autentikasi:

# Generate SSH key pair for VM authentication
ssh-keygen -t rsa -b 4096 -f ~/.ssh/vwan-lab-key -N ""
$sshPublicKey = Get-Content ~/.ssh/vwan-lab-key.pub

Sekarang buat komputer virtual tanpa alamat IP publik:

# Create VMs in spokes for testing
$VMLocalAdminUser = "azureuser"
$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 "Ubuntu2204" -Size $VMSize `
            -VirtualNetworkName "spoke1" -SubnetName "vm" `
            -PublicIpAddressName "" -OpenPorts 22,80 `
            -GenerateSshKey -SshKeyName "spoke1-ssh-key"
$NIC1 = Get-AzNetworkInterface -ResourceId $($VM1.NetworkProfile.NetworkInterfaces[0].Id)
$Spoke1VMPrivateIP = $NIC1.IpConfigurations[0].PrivateIpAddress
# 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 "Ubuntu2204" -Size $VMSize `
            -VirtualNetworkName "spoke2" -SubnetName "vm" `
            -PublicIpAddressName "" -OpenPorts 22,80 `
            -GenerateSshKey -SshKeyName "spoke2-ssh-key"
$NIC2 = Get-AzNetworkInterface -ResourceId $($VM2.NetworkProfile.NetworkInterfaces[0].Id)
$Spoke2VMPrivateIP = $NIC2.IpConfigurations[0].PrivateIpAddress

Sebarkan Azure Bastion

Sebarkan Azure Bastion di jaringan virtual Spoke-01 untuk terhubung dengan aman ke komputer virtual tanpa memerlukan alamat IP publik atau aturan DNAT.

# Deploy Azure Bastion for secure VM access
$BastionPip = New-AzPublicIpAddress -ResourceGroupName $RG -Name "bastion-pip" `
    -Location $Location -AllocationMethod Static -Sku Standard
$Spoke1 = Get-AzVirtualNetwork -ResourceGroupName $RG -Name "spoke1"
$BastionSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AzureBastionSubnet" -VirtualNetwork $Spoke1
New-AzBastion -ResourceGroupName $RG -Name "spoke1-bastion" `
    -PublicIpAddress $BastionPip -VirtualNetwork $Spoke1 -Sku "Basic"

Note

Penyebaran Azure Bastion dapat memakan waktu sekitar 10 menit untuk diselesaikan.

Secara default, kebijakan firewall memblokir semua lalu lintas. Untuk mengizinkan akses antara komputer virtual spoke dan internet, Anda harus mengonfigurasi aturan firewall. Pertama, buat aturan jaringan untuk memungkinkan lalu lintas SSH antara jaringan virtual. Kemudian, tambahkan aturan aplikasi untuk mengizinkan akses Internet hanya ke Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) ifconfig.co, yang mengembalikan alamat IP sumber yang terlihat dalam permintaan HTTP:

# 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

Sebelum mengirim lalu lintas apa pun, periksa rute efektif untuk setiap komputer virtual. Tabel rute harus menunjukkan awalan yang dipelajari dari Virtual WAN dan rentang RFC1918 (0.0.0.0/0), tetapi tidak boleh menyertakan awalan alamat dari jaringan virtual spoke lainnya.

# 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

Hasilkan lalu lintas dari satu komputer virtual ke komputer virtual lainnya dan verifikasi bahwa lalu lintas tersebut difilter oleh Azure Firewall. Gunakan Azure Bastion untuk menyambungkan ke komputer virtual. Dalam contoh ini, Anda akan:

  • Menyambungkan ke spoke1-vm menggunakan Azure Bastion melalui portal Microsoft Azure
  • Kirim lima permintaan pantulan ICMP (ping) dari VM di spoke1 ke VM di spoke2
  • Mencoba koneksi TCP pada port 22 menggunakan nc utilitas (netcat) dengan -vz bendera, yang memeriksa konektivitas tanpa mengirim data

Anda harus mengamati bahwa permintaan ping gagal (diblokir oleh firewall), sementara koneksi TCP pada port 22 berhasil, seperti yang diizinkan oleh aturan jaringan yang dikonfigurasi sebelumnya.

Untuk menguji konektivitas:

  1. Di portal Microsoft Azure, navigasikan ke komputer virtual spoke1-vm .
  2. Pilih Sambungkan>melalui Bastion.
  3. Berikan nama pengguna azureuser dan unggah file kunci privat yang dihasilkan sebelumnya.
  4. Pilih Sambungkan untuk membuka sesi SSH.
  5. Dalam sesi SSH, jalankan perintah berikut:
# Ping should fail (blocked by firewall)
ping $Spoke2VMPrivateIP -c 5
# SSH connectivity check should succeed (allowed by firewall)
nc -vz $Spoke2VMPrivateIP 22

Ganti $Spoke2VMPrivateIP dengan alamat IP privat aktual spoke2-vm (ditampilkan dalam output PowerShell).

Anda juga dapat menguji akses Internet melalui firewall. Permintaan HTTP yang menggunakan curl utilitas ke FQDN yang diizinkan (ifconfig.co) harus berhasil, sementara permintaan ke tujuan lain (seperti bing.com) harus diblokir oleh kebijakan firewall.

Dari sesi SSH yang sama pada spoke1-vm:

# This HTTP request should succeed, since it is allowed in an app rule in the AzFW, and return the public IP of the FW
curl -s4 ifconfig.co
# This HTTP request should fail, since the FQDN bing.com is not in any app rule in the firewall policy
curl -s4 bing.com

Untuk mengonfirmasi bahwa firewall menjatuhkan paket sesuai dengan yang diharapkan, tinjau log yang dikirim ke Azure Monitor. Karena Azure Firewall dikonfigurasi untuk mengirim log diagnostik ke Azure Monitor, Anda dapat menggunakan Bahasa Kueri Kusto (KQL) untuk mengkueri dan menganalisis entri log yang relevan:

Note

Dibutuhkan waktu sekitar 1 menit agar log muncul dan dikirim ke 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

Di perintah sebelumnya Anda akan melihat entri yang berbeda:

  • Paket ICMP yang dijatuhkan antar mesin virtual dalam spokes (10.1.1.4 dan 10.1.2.4)
  • Koneksi SSH yang diizinkan antara VM di dalam spoke

Berikut merupakan sampel output yang dihasilkan oleh perintah di atas:

TimeGenerated            Protocol    SourceIP       SourcePort TargetIP      TargetPort Action  NatDestination Resource
-------------            --------    --------       ---------- --------      ---------- ------  -------------- --------
2020-10-04T20:53:07.045Z TCP         10.1.1.4       35932      10.1.2.4      22         Allow   N/A            AZFW1
2020-10-04T20:52:47.475Z TCP         10.1.1.4       53748      10.1.2.4      22         Allow   N/A            AZFW1
2020-10-04T20:51:04.682Z ICMP Type=8 10.1.1.4       N/A        10.1.2.4      N/A        Deny    N/A            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

Jika Anda ingin melihat log untuk aturan aplikasi (menjelaskan koneksi HTTP yang diizinkan dan ditolak) atau mengubah cara log ditampilkan, Anda dapat mencoba dengan kueri KQL lainnya. Anda dapat menemukan beberapa contoh dalam log Azure Monitor untuk Azure Firewall.

Untuk membersihkan lingkungan pengujian, hapus grup sumber daya dan semua sumber daya terkait dengan menggunakan Remove-AzResourceGroup cmdlet . Ini akan menghapus Virtual WAN, Virtual Hub, Azure Firewall, dan sumber daya lain yang dibuat selama tutorial ini.

# Delete resource group and all contained resources
Remove-AzResourceGroup -Name $RG

Menyebarkan Azure Firewall baru dengan zona ketersediaan ke hub yang sudah ada

Langkah-langkah sebelumnya menunjukkan cara menggunakan Azure PowerShell untuk membuat Azure Virtual WAN Hub baru dan mengamankannya dengan Azure Firewall. Anda juga dapat mengamankan Azure Virtual WAN Hub yang ada menggunakan pendekatan berbasis skrip serupa. Meskipun Firewall Manager dapat mengonversi hub ke Hub Aman, firewall tidak mendukung penyebaran Azure Firewall di seluruh zona ketersediaan melalui portal. Untuk menyebarkan Azure Firewall di ketiga zona ketersediaan, gunakan skrip PowerShell berikut untuk mengonversi Hub Virtual WAN yang ada ke Hub Aman.

Note

Prosedur ini menggunakan Azure Firewall baru. Anda tidak dapat memutakhirkan Azure Firewall yang sudah ada tanpa zona ketersediaan menjadi versi yang memiliki zona ketersediaan. Anda harus terlebih dahulu menghapus Azure Firewall yang ada di hub dan membuatnya lagi menggunakan prosedur ini.

# 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

Setelah Anda menjalankan skrip ini, zona ketersediaan akan muncul di properti hub aman seperti yang ditunjukkan pada cuplikan layar berikut:

Cuplikan layar zona ketersediaan hub virtual aman.

Setelah menyebarkan Azure Firewall, Anda harus menyelesaikan langkah-langkah konfigurasi yang diuraikan di bagian Menyebarkan Azure Firewall sebelumnya dan mengonfigurasi perutean kustom untuk memastikan perutean dan keamanan yang tepat.

Langkah selanjutnya