Aracılığıyla paylaş


Azure Güvenlik Duvarı Premium'a geçiş

Yeni Premium özelliklerinden yararlanmak için Azure Güvenlik Duvarı Standard'ı Azure Güvenlik Duvarı Premium'a geçirebilirsiniz. Azure Güvenlik Duvarı Premium özellikleri hakkında daha fazla bilgi için bkz. premium özellikleri Azure Güvenlik Duvarı.

Bu makale, Standart güvenlik duvarınızı ve ilkenizi Premium'a el ile geçirmek için gerekli adımlarda size yol gösterir.

İpucu

kapalı kalma süresi olmadan Azure Güvenlik Duvarı SKU'nuzu değiştirmenin en kolay yolu SKU'yu Değiştir özelliğini kullanmaktır. Daha fazla bilgi için bkz. Azure Güvenlik Duvarı kolay yükseltme/düşürme.

Geçişe başlamadan önce performansla ilgili önemli noktaları anlayın ve gerekli bakım penceresi için önceden plan yapın. Tipik olarak 20-30 dakikalık bir aşağı inme süresi beklenir.

Başarılı bir geçiş için aşağıdaki genel adımlar gereklidir:

  1. Mevcut Standart ilkenize veya klasik kurallarınıza göre yeni Premium ilke oluşturun. Bu adımın sonunda yeni premium ilkeniz tüm mevcut kurallarınızı ve ilke ayarlarınızı içerecektir.
  2. Durdurma/başlatmayı kullanarak Azure Güvenlik Duvarı Standart'tan Premium'a geçirin.
  3. Yeni oluşturulan Premium ilkesini Premium Güvenlik Duvarınıza ekleyin.

Önemli

Güneydoğu Asya'da Kullanılabilirlik Alanları ile dağıtılan standart güvenlik duvarının yükseltilmesi şu anda desteklenmiyor.

Azure Güvenlik Duvarı dağıtmak için Terraform kullanıyorsanız, Azure Güvenlik Duvarı Premium'a geçiş yapmak için Terraform'ı kullanabilirsiniz. Daha fazla bilgi için bkz. Terraform kullanarak Azure Güvenlik Duvarı Standard'ı Premium'a geçirme.

Performans değerlendirmeleri

Standart SKU'dan geçiş yaparken performans dikkate alınır. IDPS ve TLS denetimi yoğun işlem gerektiren işlemlerdir. Premium SKU, standart SKU ile karşılaştırılabilir daha yüksek aktarım hızına ölçeklendirilen daha güçlü bir VM SKU'su kullanır. Azure Güvenlik Duvarı Performansı hakkında daha fazla bilgi için bkz. Azure Güvenlik Duvarı Performansı

Microsoft, güvenlik duvarı hizmeti performansının beklentilerinizi karşıladığından emin olmak için müşterilerin Azure dağıtımlarında tam ölçekli test gerçekleştirmelerini önerir.

Kesinti süresi

Azure Güvenlik Duvarı Standart'tan Premium'a geçirdiğinizde dur/başlat kullanarak kapalı kalma süresi olacağı için, güvenlik duvarınızı planlı bir bakım süresinde geçirin.

Klasik kuralları Standart ilkeye geçirme

Geçiş işleminiz sırasında Klasik güvenlik duvarı kurallarınızı bir Standart ilkeye geçirmeniz gerekebilir. Bunu Azure portalını kullanarak yapabilirsiniz:

  1. Azure portalından standart güvenlik duvarınızı seçin. Genel Bakış sayfasında Güvenlik duvarı ilkesine geçir'i seçin.

    Güvenlik duvarı ilkesine geçişi gösteren ekran görüntüsü.

  2. Güvenlik duvarına geçir ilkesi sayfasında Gözden geçir ve oluştur'u seçin.

  3. Oluştur'u belirleyin.

    Dağıtımın tamamlanması birkaç dakika sürer.

Ayrıca, ilkeleri oluşturmak için Azure PowerShell kullanarak mevcut Klasik kuralları Azure Güvenlik Duvarı geçirebilirsiniz. Daha fazla bilgi için bkz. PowerShell kullanarak Azure Güvenlik Duvarı yapılandırmalarını Azure Güvenlik Duvarı ilkesine geçirme

Azure PowerShell kullanarak mevcut ilkeyi geçirme

Transform-Policy.ps1 mevcut bir Standart ilkeden yeni bir Premium ilkesi oluşturan bir Azure PowerShell betiğidir.

Standart bir güvenlik duvarı ilkesi kimliği verilip betik bunu Premium Azure güvenlik duvarı ilkesine dönüştürür. Betik önce Azure hesabınıza bağlanır, ilkeyi çeker, çeşitli parametreleri dönüştürür/ekler ve ardından yeni bir Premium ilkesi yükler. Yeni premium ilke olarak adlandırılır <previous_policy_name>_premium. Bu bir alt ilke dönüşümüyse, üst ilkeye bir bağlantı kalır.

Kullanım örneği:

Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name

Önemli

Betik, Tehdit Bilgileri ve SNAT özel aralıkları ayarlarını geçirmez. Devam etmeden ve el ile geçirmeden önce bu ayarları not almanız gerekir. Aksi takdirde, yeni yükseltilen güvenlik duvarınızla tutarsız trafik filtrelemesiyle karşılaşabilirsiniz.

Bu betik için en son Azure PowerShell gerekir. Hangi sürümlerin yüklü olduğunu görmek için komutunu çalıştırın Get-Module -ListAvailable Az . Yüklemeniz gerekiyorsa bkz . Azure PowerShell modülünü yükleme.

<#
    .SYNOPSIS
        Given an Azure firewall policy id the script will transform it to a Premium Azure firewall policy.
        The script will first pull the policy, transform/add various parameters and then upload a new premium policy.
        The created policy will be named <previous_policy_name>_premium if no new name provided else new policy will be named as the parameter passed.
    .Example
        Transform-Policy -PolicyId /subscriptions/XXXXX-XXXXXX-XXXXX/resourceGroups/some-resource-group/providers/Microsoft.Network/firewallPolicies/policy-name -NewPolicyName <optional param for the new policy name>
#>

param (
    #Resource id of the azure firewall policy.
    [Parameter(Mandatory=$true)]
    [string]
    $PolicyId,

    #new filewallpolicy name, if not specified will be the previous name with the '_premium' suffix
    [Parameter(Mandatory=$false)]
    [string]
    $NewPolicyName = ""
)
$ErrorActionPreference = "Stop"
$script:PolicyId = $PolicyId
$script:PolicyName = $NewPolicyName

function ValidatePolicy {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [Object]
        $Policy
    )

    Write-Host "Validating resource is as expected"

    if ($null -eq $Policy) {
        Write-Error "Received null policy"
        exit(1)
    }
    if ($Policy.GetType().Name -ne "PSAzureFirewallPolicy") {
        Write-Error "Resource must be of type Microsoft.Network/firewallPolicies"
        exit(1)
    }

    if ($Policy.Sku.Tier -eq "Premium") {
        Write-Host "Policy is already premium" -ForegroundColor Green
        exit(1)
    }
}

function GetPolicyNewName {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [Microsoft.Azure.Commands.Network.Models.PSAzureFirewallPolicy]
        $Policy
    )

    if (-not [string]::IsNullOrEmpty($script:PolicyName)) {
        return $script:PolicyName
    }

    return $Policy.Name + "_premium"
}

function TransformPolicyToPremium {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [Microsoft.Azure.Commands.Network.Models.PSAzureFirewallPolicy]
        $Policy
    )
    $NewPolicyParameters = @{
                        Name = (GetPolicyNewName -Policy $Policy)
                        ResourceGroupName = $Policy.ResourceGroupName
                        Location = $Policy.Location
                        BasePolicy = $Policy.BasePolicy.Id
                        ThreatIntelMode = $Policy.ThreatIntelMode
                        ThreatIntelWhitelist = $Policy.ThreatIntelWhitelist
                        PrivateRange = $Policy.PrivateRange
                        DnsSetting = $Policy.DnsSettings
                        SqlSetting = $Policy.SqlSetting
                        ExplicitProxy  = $Policy.ExplicitProxy
                        DefaultProfile  = $Policy.DefaultProfile
                        Tag = $Policy.Tag
                        SkuTier = "Premium"
    }

    Write-Host "Creating new policy"
    $premiumPolicy = New-AzFirewallPolicy @NewPolicyParameters

    Write-Host "Populating rules in new policy"
    foreach ($ruleCollectionGroup in $Policy.RuleCollectionGroups) {
        $ruleResource = Get-AzResource -ResourceId $ruleCollectionGroup.Id
        $ruleToTransfom = Get-AzFirewallPolicyRuleCollectionGroup -AzureFirewallPolicy $Policy -Name $ruleResource.Name
        $ruleCollectionGroup = @{
            FirewallPolicyObject = $premiumPolicy
            Priority = $ruleToTransfom.Properties.Priority
            Name = $ruleToTransfom.Name
        }

        if ($ruleToTransfom.Properties.RuleCollection.Count) {
            $ruleCollectionGroup["RuleCollection"] = $ruleToTransfom.Properties.RuleCollection
        }

        Set-AzFirewallPolicyRuleCollectionGroup @ruleCollectionGroup
    }
}

function ValidateAzNetworkModuleExists {
    Write-Host "Validating needed module exists"
    $networkModule = Get-InstalledModule -Name "Az.Network" -MinimumVersion 4.5 -ErrorAction SilentlyContinue
    if ($null -eq $networkModule) {
        Write-Host "Please install Az.Network module version 4.5.0 or higher, see instructions: https://github.com/Azure/azure-powershell#installation"
        exit(1)
    }
    $resourceModule = Get-InstalledModule -Name "Az.Resources" -MinimumVersion 4.2 -ErrorAction SilentlyContinue
    if ($null -eq $resourceModule) {
        Write-Host "Please install Az.Resources module version 4.2.0 or higher, see instructions: https://github.com/Azure/azure-powershell#installation"
        exit(1)
    }
    Import-Module Az.Network -MinimumVersion 4.5.0
    Import-Module Az.Resources -MinimumVersion 4.2.0
}

ValidateAzNetworkModuleExists
$policy = Get-AzFirewallPolicy -ResourceId $script:PolicyId
ValidatePolicy -Policy $policy
TransformPolicyToPremium -Policy $policy

Durdurma/başlatma kullanarak Azure Güvenlik Duvarı geçirme

Güvenlik duvarı ilkesiyle Azure Güvenlik Duvarı Standart SKU kullanıyorsanız, Güvenlik Duvarı SKU'nuzu Premium'a geçirmek için Ayırma/Serbest Bırakma yöntemini kullanabilirsiniz. Bu geçiş yaklaşımı hem Sanal Ağ Hub'larında hem de Güvenli Hub Güvenlik Duvarlarında desteklenir. Güvenli Hub dağıtımını geçirdiğinizde, güvenlik duvarı genel IP adresi korunur.

En düşük Azure PowerShell sürüm gereksinimi 6.5.0'dır. Daha fazla bilgi için bkz . Az 6.5.0.

VNET Hub Güvenlik Duvarı'nı geçirme

  • Standart Güvenlik Duvarı'nı serbest bırakma

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Güvenlik Duvarı Premium ayırma (tek genel IP adresi)

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Sku.Tier="Premium"
    $vnet = Get-AzVirtualNetwork -ResourceGroupName "<resource-group-name>" -Name "<Virtual-Network-Name>"
    $publicip = Get-AzPublicIpAddress -Name "<Firewall-PublicIP-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Allocate($vnet,$publicip)
    Set-AzFirewall -AzureFirewall $azfw
    
  • Güvenlik Duvarı Premium ayırma (birden çok genel IP adresi)

    $azfw = Get-AzFirewall -Name "FW Name" -ResourceGroupName "RG Name"
    $azfw.Sku.Tier="Premium"
    $vnet = Get-AzVirtualNetwork -ResourceGroupName "RG Name" -Name "VNet Name"
    $publicip1 = Get-AzPublicIpAddress -Name "Public IP1 Name" -ResourceGroupName "RG Name"
    $publicip2 = Get-AzPublicIpAddress -Name "Public IP2 Name" -ResourceGroupName "RG Name"
    $azfw.Allocate($vnet,@($publicip1,$publicip2))
    Set-AzFirewall -AzureFirewall $azfw
    
  • Zorlamalı Tünel Modunda Güvenlik Duvarı Premium Ayırma

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Sku.Tier="Premium"
    $vnet = Get-AzVirtualNetwork -ResourceGroupName "<resource-group-name>" -Name "<Virtual-Network-Name>"
    $publicip = Get-AzPublicIpAddress -Name "<Firewall-PublicIP-name>" -ResourceGroupName "<resource-group-name>"
    $mgmtPip = Get-AzPublicIpAddress -ResourceGroupName "<resource-group-name>"-Name "<Management-PublicIP-name>"
    $azfw.Allocate($vnet,$publicip,$mgmtPip)
    Set-AzFirewall -AzureFirewall $azfw
    

Güvenli Hub Güvenlik Duvarı geçirme

  • Standart Güvenlik Duvarı'nı serbest bırakma

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $azfw.Deallocate()
    Set-AzFirewall -AzureFirewall $azfw
    
  • Güvenlik Duvarı Premium'a ayırma

    $azfw = Get-AzFirewall -Name "<firewall-name>" -ResourceGroupName "<resource-group-name>"
    $hub = get-azvirtualhub -ResourceGroupName "<resource-group-name>" -name "<vWANhub-name>"
    $azfw.Sku.Tier="Premium"
    $azfw.Allocate($hub.id)
    Set-AzFirewall -AzureFirewall $azfw
    

Premium Güvenlik Duvarına Premium ilkesi ekleme

Azure portalını kullanarak yeni Premium Güvenlik Duvarı'na bir Premium ilkesi ekleyebilirsiniz:

Güvenlik duvarı ilkesini gösteren ekran görüntüsü

Sonraki adımlar