Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, bir bölgede Sanal Hub ile bir Sanal WAN örneği oluşturacak ve bağlantının güvenliğini sağlamak için Sanal Hub'da bir Azure Güvenlik Duvarı dağıtacaksınız. Bu örnekte, Sanal Ağ'ler arasında güvenli bağlantı gösterirsiniz. Sanal ağlar ile siteden siteye, noktadan siteye veya ExpressRoute dalları arasındaki trafik de Virtual Secure Hub tarafından desteklenir.
Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:
- Sanal WAN'ı dağıtma
- Azure Güvenlik Duvarı dağıtma ve özel yönlendirmeyi yapılandırma
- Bağlantıyı test edin
Important
Sanal WAN, hub'ın içinde kullanıma sunulan merkezlerden ve hizmetlerden oluşan bir koleksiyondur. İhtiyacınız olan kadar Sanal WAN dağıtabilirsiniz. Sanal WAN hub'ında VPN, ExpressRoute gibi birden çok hizmet vardır. Bölge kullanılabilirlik alanlarını destekliyorsa, bu hizmetlerin her biri Azure Güvenlik Duvarı dışında kullanılabilirlik alanları arasında otomatik olarak dağıtılır. Mevcut bir Azure Sanal WAN Hub'ını Güvenli Hub'a yükseltmek ve Azure Güvenlik Duvarı kullanılabilirlik alanlarını kullanmasını sağlamak için, bu makalenin devamında açıklandığı gibi Azure PowerShell'i kullanmanız gerekir.
Prerequisites
Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
PowerShell 7 veya üzeri
Bu öğretici, Azure PowerShell'i PowerShell 7 veya üzeri sürümlerde yerel olarak çalıştırmanızı gerektirir. PowerShell 7'yi yüklemek için bkz . Windows PowerShell 5.1'den PowerShell 7'ye geçiş.
"Az.Network" modül sürümü 4.17.0 veya üzeri olmalıdır.
Azure'da oturum açma
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
İlk Sanal WAN dağıtımı
Başlamak için değişkenleri ayarlamanız ve kaynak grubunu, sanal WAN örneğini ve sanal hub'ı oluşturmanız gerekir:
# 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"
- İki sanal ağ oluşturun ve
New-AzVirtualHubVnetConnectioncmdlet'ini kullanarak bunları bir hub'a uydu olarak bağlayın. Sanal ağlar, adres ön ekleri10.1.1.0/24ve10.1.2.0/24ile oluşturulur.
# 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
Bu aşamada, Sanal WAN'ınız tamamen çalışır durumdadır ve uçtan uca bağlantı sağlar. Bu ortamın güvenliğini sağlamak için her Sanal Hub'a bir Azure Güvenlik Duvarı dağıtın. Güvenlik Duvarı İlkelerini kullanarak bu güvenlik duvarlarını merkezi olarak yönetebilirsiniz.
Bu örnekte, cmdlet'ini kullanarak New-AzFirewallPolicy Sanal WAN hub'ında Azure Güvenlik Duvarı örneğini yönetmek için bir güvenlik duvarı ilkesi de oluşturacaksınız. Azure Güvenlik Duvarı, New-AzFirewall cmdlet'i kullanılarak hub'a dağıtılacaktır.
# 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
Aşağıdaki Güvenlik duvarı oluşturma komutu kullanılabilirlik alanlarını kullanmaz . Bu özelliği kullanmak istiyorsanız, ek bir parametre -Zone gereklidir. Bu makalenin sonundaki yükseltme bölümünde bir örnek verilmiştir.
Azure Güvenlik Duvarı'ndan Azure İzleyici'ye günlük kaydı etkinleştirmek isteğe bağlıdır. Bu örnekte, trafiğin güvenlik duvarından geçtiğini doğrulamak için güvenlik duvarı günlüklerini kullanırsınız. İlk olarak günlükleri depolamak için bir Log Analytics çalışma alanı oluşturun. Ardından, Set-AzDiagnosticSetting cmdlet'ini tanılama ayarlarını yapılandırmak ve günlükleri çalışma alanına göndermek için kullanın.
# 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 Güvenlik Duvarı dağıtma ve özel yönlendirmeyi yapılandırma
Note
Bu, "Hub'lar arası" ayarı devre dışı olarak ayarlandığında Azure Portal'dan Azure Güvenlik Duvarı Yöneticisi ile bağlantının güvenliğini sağlarken dağıtılan yapılandırmadır. "Merkezler arası" etkin olarak ayarlandığında PowerShell kullanarak yönlendirmeyi yapılandırma yönergeleri için bkz. Yönlendirme amacını etkinleştirme.
Artık hub'da bir Azure Güvenlik Duvarı var, ancak Sanal WAN trafiği sanal ağlardan ve dallardan güvenlik duvarı üzerinden gönderebilmesi için yönlendirmeyi değiştirmeniz gerekiyor. Bunu iki adımda yaparsınız:
- Yönlendirme Tablosuna yaymak
Noneiçin tüm sanal ağ bağlantılarını (ve varsa dal bağlantılarını) yapılandırın. Bu yapılandırmanın etkisi, diğer sanal ağların ve dalların ön eklerini öğrenmemesi ve bunlara ulaşmak için yönlendirme olmamasıdır. - Artık tüm trafiğin
DefaultAzure Güvenlik Duvarı gönderilmesi için Rota Tablosu'na statik yollar ekleyebilirsiniz (tüm sanal ağların ve dalların varsayılan olarak ilişkilendirildiği yer).
Başlangıç olarak, sanal ağ bağlantılarınızı Rota Tablosuna yaymak üzere None yapılandırın. Bu adım, sanal ağların birbirlerinin adres ön eklerini öğrenmemesini sağlayarak aralarında doğrudan iletişimi engeller. Sonuç olarak, tüm sanal ağlar arası trafiğin Azure Güvenlik Duvarı'nı geçmesi gerekir.
Bunu yapmak için, Yol Tablosu'nu almak üzere Get-AzVhubRouteTable cmdlet'ini kullanın ve ardından her sanal ağ bağlantısının yönlendirme yapılandırmasını None cmdlet'iyle güncelleyin.
# 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
Ardından, ikinci adıma geçin: yol tablosuna Default statik yollar ekleme. Aşağıdaki örnek, Sanal WAN'da bağlantının güvenliğini sağlarken Azure Güvenlik Duvarı Yöneticisi'nin uyguladığı varsayılan yapılandırmayı kullanır. Cmdlet'ini kullanarak New-AzVHubRoute statik yoldaki ön eklerin listesini gerektiği gibi özelleştirebilirsiniz. Bu örnekte, tüm trafik önerilen varsayılan olan Azure Güvenlik Duvarı üzerinden yönlendirilir.
# 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
Yukarıdaki New-AzVHubRoute komutundaki "-Name" parametresi için değer olarak "all_traffic" dizesinin özel bir anlamı vardır: Tam olarak bu dizeyi kullanırsanız, bu makalede uygulanan yapılandırma Azure portalına düzgün bir şekilde yansıtılır (Güvenlik Duvarı Yöneticisi --> Sanal hub'lar --> [Hub'ınız] --> Güvenlik Yapılandırması). Farklı bir ad kullanılacaksa, istenen yapılandırma uygulanır, ancak Azure portalına yansıtılmaz.
Yönlendirme amacını etkinleştirme
Sanal WAN hub'ına dağıtılan Azure Güvenlik Duvarı aracılığıyla merkezler arası ve bölgeler arası trafik göndermek istiyorsanız, yönlendirme amacı özelliğini etkinleştirebilirsiniz. Yönlendirme amacı hakkında daha fazla bilgi için Yönlendirme Amacı belgelerine bakın.
Note
Bu, "Interhub" ayarı etkin olarak ayarlandığında Azure portaldan Azure Güvenlik Duvarı Yöneticisi ile bağlantının güvenliğini sağlarken dağıtılan yapılandırmadır.
# 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
Bağlantıyı test edin
Güvenli hub'ınız tamamen çalışır durumda olduğuna göre, hub'a bağlı her uç sanal ağına bir sanal makine dağıtarak bağlantıyı test edebilirsiniz:
# 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")
Varsayılan olarak, güvenlik duvarı ilkesi tüm trafiği engeller. Test sanal makinelerinize erişime izin vermek için DNAT (Hedef Ağ Adresi Çevirisi) kurallarını yapılandırmanız gerekir. Bu kurallar, Azure Güvenlik Duvarı'nın genel IP adresi aracılığıyla VM'lere bağlanmanızı sağlar:
# 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
Ardından güvenlik duvarı ilkeniz için örnek kuralları yapılandırın. İlk olarak, sanal ağlar arasında SSH trafiğine izin vermek için bir ağ kuralı oluşturun. Ardından, HTTP isteğinde görülen kaynak IP adresini döndüren Tam Etki Alanı Adı (FQDN) ifconfig.co için yalnızca İnternet erişimine izin vermek amacıyla bir uygulama kuralı ekleyin.
# 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
Herhangi bir trafik göndermeden önce, her sanal makine için geçerli yolları denetleyin. Yol tabloları Sanal WAN'dan (0.0.0.0/0 ve RFC1918 aralıklarından) öğrenilen ön ekleri göstermelidir, ancak diğer uç sanal ağının adres ön ekini içermemelidir.
# 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
Bir sanal makineden diğerine trafik oluşturun ve Azure Güvenlik Duvarı tarafından filtrelendiğini doğrulayın. Sanal makinelere bağlanmak için SSH kullanın; SSH parmak izini kabul edin ve VM oluşturma sırasında ayarladığınız parolayı girin. Bu örnekte şunları yapacaksınız:
- spoke1'deki VM'den spoke2'deki VM'ye beş ICMP yankı isteği (ping) gönderin.
- Veri göndermeden bağlantıyı denetleyen bayraklarla
nc(netcat) yardımcı programını kullanarak-vz22 numaralı bağlantı noktasında TCP bağlantısı denemesi yapın.
Daha önce yapılandırılmış ağ kuralının izin verdiği şekilde 22 numaralı bağlantı noktası üzerindeki TCP bağlantısı başarılı olurken ping isteklerinin başarısız olduğunu (güvenlik duvarı tarafından engellendiğini) gözlemlemeniz gerekir.
# 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"
Ayrıca güvenlik duvarı üzerinden İnternet erişimini test edebilirsiniz. HTTP istekleri izin verilen FQDN'ye (curl) ifconfig.co yardımıyla başarılı olurken, diğer hedeflere (örneğin bing.com) yönelik istekler güvenlik duvarı ilkesi tarafından engellenmelidir.
# 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"
Güvenlik duvarının paketleri beklendiği gibi düşürdüğünden emin olmak için Azure Monitor'a gönderilen günlükleri gözden geçirin. Azure Güvenlik Duvarı tanılama günlüklerini Azure İzleyici'ye gönderecek şekilde yapılandırıldığından, ilgili günlük girdilerini sorgulamak ve analiz etmek için Kusto Sorgu Dili'ni (KQL) kullanabilirsiniz:
Note
Günlüklerin Azure İzleyici'ye gönderilmesi yaklaşık 1 dakika sürebilir
# 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
Önceki komutta farklı girdiler görmeniz gerekir:
- SSH bağlantınız DNAT'ed
- Uçlardaki VM'ler arasında bırakılan ICMP paketleri (10.1.1.4 ve 10.1.2.4)
- Uçlardaki VM'ler arasında izin verilen SSH bağlantıları
Yukarıdaki komut tarafından oluşturulan örnek çıktıyı burada bulabilirsiniz:
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
Uygulama kurallarının günlüklerini görmek (izin verilen ve reddedilen HTTP bağlantılarını açıklama) veya günlüklerin görüntülenme biçimini değiştirmek istiyorsanız, diğer KQL sorgularını deneyebilirsiniz. Azure Güvenlik Duvarı için Azure İzleyici günlüklerinde bazı örnekler bulabilirsiniz.
Test ortamını temizlemek için, cmdlet'ini kullanarak Remove-AzResourceGroup kaynak grubunu ve ilişkili tüm kaynakları silin. Bu işlem Sanal WAN, Sanal Hub, Azure Güvenlik Duvarı ve bu öğretici sırasında oluşturulan diğer tüm kaynakları kaldırır.
# Delete resource group and all contained resources
Remove-AzResourceGroup -Name $RG
Kullanılabilirlik alanları içeren yeni bir Azure Güvenlik Duvarı var olan bir hub'a dağıtma
Önceki adımlarda Azure PowerShell kullanarak yeni bir Azure Sanal WAN Hub'ı oluşturma ve Azure Güvenlik Duvarı ile güvenliğini sağlama adımları gösterildi. Ayrıca, benzer bir betik tabanlı yaklaşım kullanarak mevcut bir Azure Sanal WAN Hub'ın güvenliğini de sağlayabilirsiniz. Güvenlik Duvarı Yöneticisi bir hub'ı Güvenli Hub'a dönüştürese de Azure Güvenlik Duvarı'nın portal aracılığıyla kullanılabilirlik alanlarına dağıtılması desteklenmez. Azure Güvenlik Duvarı'nı üç kullanılabilirlik alanına da dağıtmak için, mevcut Sanal WAN Hub'ınızı Güvenli Hub'a dönüştürmek için aşağıdaki PowerShell betiğini kullanın.
Note
Bu yordam yeni bir Azure Güvenlik Duvarı dağıtır. Kullanılabilirlik alanları olmayan mevcut bir Azure Güvenlik Duvarı kullanılabilirlik alanları olan bir Azure Güvenlik Duvarı yükseltemezsiniz. Önce hub'daki mevcut Azure Güvenlik Duvarı silmeniz ve bu yordamı kullanarak yeniden oluşturmanız gerekir.
# 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
Bu betiği çalıştırdıktan sonra, kullanılabilirlik alanları aşağıdaki ekran görüntüsünde gösterildiği gibi güvenli hub özelliklerinde görünmelidir:
Azure Güvenlik Duvarı'nı dağıttıktan sonra, düzgün yönlendirme ve güvenlik sağlamak için azure güvenlik duvarını dağıtma ve özel yönlendirmeyi yapılandırma bölümünde açıklanan yapılandırma adımlarını tamamlamanız gerekir.