Azure Güvenlik Duvarı SNAT özel IP adresi aralıkları

Azure Güvenlik Duvarı, genel IP adreslerine giden tüm trafik için SNAT özelliği sağlar. Varsayılan olarak, hedef IP adresi IANA RFC 1918 veya IANA RFC 6598 başına paylaşılan adres alanı başına özel ip adresi aralığında olduğunda Azure Güvenlik Duvarı SNAT'yi ağ kurallarıyla birlikte kullanmaz. Uygulama kuralları, hedef IP adresinden bağımsız olarak her zaman saydam bir ara sunucu aracılığıyla SNAT kullanır.

Bu varsayılan davranış, trafiği doğrudan İnternet'e yönlendirirken uygundur. Ancak, varsayılan SNAT davranışını geçersiz kılmanız gerekebilecek senaryolar vardır:

  • Zorlamalı tüneli etkinleştirirseniz Azure Güvenlik Duvarı İnternet'e bağlı trafiği AzureFirewallSubnet'teki güvenlik duvarının özel IP adreslerinden birine yönlendirir ve kaynağı şirket içi güvenlik duvarınızdan gizler.
  • Kuruluşunuz özel ağlar için IANA RFC 1918 veya IANA RFC 6598 dışında kayıtlı IP adresi aralıkları kullanıyorsa, Azure Güvenlik Duvarı Trafiği AzureFirewallSubnet'teki güvenlik duvarının özel IP adreslerinden birine yönlendirir. Azure Güvenlik Duvarı'nı, genel IP adresi aralığınızı SNAT yapmayacak şekilde yapılandırabilirsiniz. Örneğin, x.x.x.x öğesini tek bir IP adresi ve x.x.x.x/24 öğesini bir IP adresi aralığı olarak belirtin.

Azure Güvenlik Duvarı SNAT davranışını aşağıdaki yollarla değiştirebilirsiniz:

  • Azure Güvenlik Duvarını, hedef IP adresinden bağımsız olarak ağ kuralları tarafından işlenen trafiğe asla SNAT uygulamayacak şekilde yapılandırmak için, özel IP adresi aralığınız olarak 0.0.0.0/0 kullanın. Bu yapılandırmayla Azure Güvenlik Duvarı trafiği doğrudan İnternet'e yönlendiremez.
  • Güvenlik duvarını hedef adrese bakılmaksızın ağ kuralları tarafından işlenen her zaman SNAT trafiği olacak şekilde yapılandırmak için, özel IP adresi aralığınız olarak 255.255.255.255/32 kullanın.
  • Azure Güvenlik Duvarı'ı düzenli aralıklarla kayıtlı ve özel IP adresi aralıklarını otomatik olarak öğrenecek şekilde yapılandırmak için otomatik öğrenme SNAT rotalarını etkinleştirin. Öğrenilen adres aralıkları dahili olarak kabul edilir ve bu aralıklara gönderilen trafik SNAT-lanmıyor.

Önemli

  • Özel adres aralığı yapılandırması yalnızca ağ kuralları için geçerlidir. Uygulama kuralları her zaman SNAT kullanır.
  • Kendi özel IP adresi aralıklarınızı belirtmek ve varsayılan IANA RFC 1918 adres aralıklarını korumak istiyorsanız özel listenizin hala IANA RFC 1918 aralığını içerdiğinden emin olun.

Aşağıdaki tablo desteklenen yapılandırma yöntemlerini göstermektedir. Güvenlik duvarı ilkesiyle ilişkilendirilmiş güvenlik duvarları, ilkedeki aralığı belirtmelidir ve kullanmamalıdır AdditionalProperties.

Metot Klasik kurallar Güvenlik duvarı ilkesi
Azure PowerShell Destekleniyor Desteklenmiyor
Azure CLI Destekleniyor Desteklenmiyor
ARM şablonu Destekleniyor Destekleniyor
Azure portalı Destekleniyor Destekleniyor

SNAT özel IP adres aralıklarını yapılandırma

Yapılandırma yönteminizi seçin. Azure PowerShell ve Azure CLI sadece klasik kuralları destekler. SNAT aralıklarını bir güvenlik duvarı politikası ile yapılandırmak için bir ARM şablonu veya Azure portalı kullanın.

Güvenlik duvarı için özel IP adresi aralıkları belirtmek için Azure PowerShell'i kullanın.

Not

Bir Güvenlik Duvarı İlkesine bağlı güvenlik duvarları için güvenlik duvarı özelliği göz ardı edilir. firewallPolicies sekmesinde açıklandığı gibi, SNAT içinde özelliğini kullanmalısınız.

Yeni güvenlik duvarı

Klasik kurallar kullanan yeni bir güvenlik duvarı için, New-AzFirewall kullanarak güvenlik duvarı oluşturun:

$azFw = @{
   Name               = '<fw-name>'
   ResourceGroupName  = '<resourcegroup-name>'
   Location           = '<location>'
   VirtualNetworkName = '<vnet-name>'
   PublicIpName       = '<public-ip-name>'
   PrivateRange       = @("IANAPrivateRanges", "192.168.1.0/24", "192.168.1.10")
}

New-AzFirewall @azFw

Not

  • New-AzFirewall kullanarak Azure Güvenlik Duvarı'nın dağıtılması için mevcut bir sanal ağ ve genel IP adresi gerekir. Tam dağıtım kılavuzu için bkz. Azure PowerShell kullanarak Azure Güvenlik Duvarı'nı dağıtma ve yapılandırma.
  • IANAPrivateRanges Azure Güvenlik Duvarı'nda geçerli varsayılan değerlere genişletilirken, diğer aralıklar buna eklenir. Belirttiğiniz özel aralıkta IANAPrivateRanges varsayılan değeri korumak için, örnekte gösterildiği gibi, bu değer belirtiminizde PrivateRange olarak kalmalıdır.

Mevcut güvenlik duvarı

Klasik kurallar kullanan mevcut bir güvenlik duvarını yapılandırmak için, Get-AzFirewall kullanarak güvenlik duvarını alın ve Set-AzFirewall ile güncelledin:

$azfw = Get-AzFirewall -Name '<fw-name>' -ResourceGroupName '<resourcegroup-name>'
$azfw.PrivateRange = @("IANAPrivateRanges", "192.168.1.0/24", "192.168.1.10")
Set-AzFirewall -AzureFirewall $azfw

SNAT rotalarını otomatik öğren

Azure Güvenlik Duvarı'ı her 30 dakikada bir hem kayıtlı hem de özel aralıkları otomatik olarak öğrenecek şekilde yapılandırabilirsiniz. Bu öğrenilen adres aralıkları ağın içinde yer alır, bu nedenle öğrenilen aralıklardaki hedeflere yönelik trafik SNATed değildir. Hem sanal ağ (VNet) dağıtımları hem de güvenli sanal hub (vHub) dağıtımları, otomatik öğrenme SNAT rotalarını destekler.

Not

  • Otomatik öğrenme SNAT, Azure Güvenlik Duvarı'ın Azure Route Server ile ilişkilendirilmesini gerektirir.
  • VNet dağıtımları için, Azure Route Server'ı Azure Güvenlik Duvarı ile aynı sanal ağda dağıtmalısınız.
  • vHub dağıtımları için, Azure Route Server zaten varsayılan olarak dağıtılmış ve ilişkilendirilmiştir.
  • Her iki dağıtım modeli için, ilişkilendirme tamamlandıktan sonra Azure Güvenlik Duvarı Politikası'nda otomatik öğrenme SNAT'ını etkinleştirmeniz gerekir.
  • Azure Güvenlik Duvarı mimari seçenekleri hakkında daha fazla bilgi için bkz. Azure Güvenlik Duvarı Manager mimari seçenekleri nelerdir?

VNet güvenlik duvarı

VNet dağıtımları için, otomatik öğrenme SNAT rotalarını etkinleştirmeden önce Azure Route Server'ı dağıtmanız ve ilişkilendirmeniz gerekir.

Ön koşullar:

Aşağıdaki örneklerde, değişken isimlerini ($azureFirewallName, $rgname, $location, vb.) kendi değerlerinizle değiştirin.

  1. New-AzFirewall kullanarak Route Server ID'si ile yeni bir güvenlik duvarı oluşturun.

    # Specify the Route Server resource ID
    $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS"
    
    # Create the firewall
    $azureFirewall = New-AzFirewall -Name $azureFirewallName `
        -ResourceGroupName $rgname `
        -Location $location `
        -RouteServerId $routeServerId
    
    # Verify the Route Server ID is set
    Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
    
  2. Get-AzFirewall ve Set-AzFirewall kullanarak bir Route Sunucusunu mevcut bir güvenlik duvarıyla ilişkilendirin.

    # Specify the Route Server resource ID
    $routeServerId="/subscriptions/your_sub/resourceGroups/testRG/providers/Microsoft.Network/virtualHubs/TestRS"
    
    # Get the firewall
    $azFirewall = Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
    
    # Associate the Route Server and update the firewall
    $azFirewall.RouteServerId = $routeServerId
    Set-AzFirewall -AzureFirewall $azFirewall
    
    # Verify the Route Server ID is updated
    Get-AzFirewall -Name $azureFirewallName -ResourceGroupName $rgname
    
  3. New-AzFirewallPolicySnat ve New-AzFirewallPolicy kullanarak otomatik öğrenme etkin olan yeni bir firewall politikası oluşturun.

    # Include AutoLearnPrivateRange to enable auto-learn
    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange
    
    # Create the firewall policy with SNAT configuration
    $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName `
        -ResourceGroupName $rgname `
        -Location $location `
        -Snat $snat
    
    # Verify the firewall policy
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
    
  4. Mevcut bir güvenlik duvarı politikasını SNAT ile New-AzFirewallPolicySnat ve Set-AzFirewallPolicy kullanarak güncelleyin.

    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 -AutoLearnPrivateRange
    
    # Update the firewall policy
    $azureFirewallPolicy.Snat = $snat
    Set-AzFirewallPolicy -InputObject $azureFirewallPolicy
    
    # Verify the update
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
    
  5. Öğrenilen önekleri Get-AzFirewallLearnedIpPrefix kullanarak doğrulayabilirsiniz.

    Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
    

vHub güvenlik duvarı

vHub dağıtımları için, Azure Route Server zaten varsayılan olarak dağıtılmış ve ilişkilendirilmiştir. Sadece güvenlik duvarı politikanızda otomatik öğrenmeyi etkinleştirmeniz yeterlidir.

Aşağıdaki örneklerde, değişken isimlerini ($azureFirewallName, $rgname, $location, vb.) kendi değerlerinizle değiştirin.

  1. New-AzFirewallPolicySnat ve New-AzFirewallPolicy kullanarak otomatik öğrenme etkin olan yeni bir firewall politikası oluşturun.

    # Include AutoLearnPrivateRange to enable auto-learn
    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange
    
    # Create the firewall policy with SNAT configuration
    $azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName `
        -ResourceGroupName $rgname `
        -Location $location `
        -Snat $snat
    
    # Verify the firewall policy
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
    
  2. Mevcut bir güvenlik duvarı politikasını SNAT ile New-AzFirewallPolicySnat ve Set-AzFirewallPolicy kullanarak güncelleyin.

    $snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2 -AutoLearnPrivateRange
    
    # Update the firewall policy
    $azureFirewallPolicy.Snat = $snat
    Set-AzFirewallPolicy -InputObject $azureFirewallPolicy
    
    # Verify the update
    Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
    
  3. Get-AzVirtualHub kullanarak sanal hub'ı, Get-AzFirewallPolicy ile güvenlik duvarı politikasını ise elde edin.

    $Hub = Get-AzVirtualHub -ResourceGroupName $rgname -Name $virtualHubName
    $azureFirewallPolicy = Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
    
  4. New-AzFirewallHubPublicIpAddress ve New-AzFirewallHubIpAddress kullanarak halka açık IP yapılandırması oluşturun.

    $azureFirewallPIPs = New-AzFirewallHubPublicIpAddress -Count 1
    $azureFirewallHubIPs = New-AzFirewallHubIpAddress -PublicIP $azureFirewallPIPs
    
  5. New-AzFirewall kullanarak otomatik öğrenme politikasıyla vHub güvenlik duvarı oluşturun.

    $azureFirewall = New-AzFirewall -Name $azureFirewallName `
        -ResourceGroupName $rgname `
        -Location $location `
        -VirtualHubId $Hub.Id `
        -FirewallPolicyId $azureFirewallPolicy.Id `
        -SkuName "AZFW_Hub" `
        -HubIPAddress $azureFirewallHubIPs `
        -SkuTier $FirewallTier
    
  6. Öğrenilen önekleri Get-AzFirewallLearnedIpPrefix kullanarak doğrulayabilirsiniz.

    Get-AzFirewallLearnedIpPrefix -Name $azureFirewallName -ResourceGroupName $rgname
    

Sonraki adımlar