Aracılığıyla paylaş


Azure PowerShell kullanarak WAF ilkesi yapılandırma

Web uygulaması güvenlik duvarı (WAF) ilkesi, Bir istek Azure Front Door'a ulaştığında gerekli denetimleri tanımlar.

Bu makalede, bazı özel kurallardan oluşan ve Azure tarafından yönetilen Varsayılan Kural Kümesi'nin etkinleştirildiği bir WAF ilkesinin nasıl yapılandırlanacağı gösterilmektedir.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Hız sınırı ilkesi ayarlamaya başlamadan önce PowerShell ortamınızı ayarlayın ve bir Azure Front Door profili oluşturun.

PowerShell ortamınızı hazırlama

Azure PowerShell, Azure kaynaklarınızı yönetmek için Azure Resource Manager modelini kullanan bir dizi cmdlet sunar.

Azure PowerShell'i yerel makinenize yükleyebilir ve herhangi bir PowerShell oturumunda kullanabilirsiniz. Azure kimlik bilgilerinizle oturum açmak için sayfadaki yönergeleri izleyin. Ardından Az PowerShell modülünü yükleyin.

Azure'da oturum açma

Connect-AzAccount

Azure Front Door modülünü yüklemeden önce PowerShellGet'in geçerli sürümünün yüklü olduğundan emin olun. Aşağıdaki komutu çalıştırın ve PowerShell'i yeniden açın.

Install-Module PowerShellGet -Force -AllowClobber

Az.FrontDoor modülünü yükleme

Install-Module -Name Az.FrontDoor

Azure Front Door profili oluşturma

Hızlı Başlangıç: Azure Front Door profili oluşturma başlığı altında açıklanan yönergeleri izleyerek bir Azure Front Door profili oluşturun.

HTTP parametrelerine dayalı özel kural

Aşağıdaki örnekte , New-AzFrontDoorWafMatchConditionObject kullanılarak iki eşleştirme koşuluyla özel bir kuralın nasıl yapılandırıldığı gösterilmektedir. İstekler, başvuran tarafından tanımlanan belirtilen bir sitedendir ve sorgu dizesi içermez password.

$referer = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestHeader -OperatorProperty Equal -Selector "Referer" -MatchValue "www.mytrustedsites.com/referpage.html"
$password = New-AzFrontDoorWafMatchConditionObject -MatchVariable QueryString -OperatorProperty Contains -MatchValue "password"
$AllowFromTrustedSites = New-AzFrontDoorWafCustomRuleObject -Name "AllowFromTrustedSites" -RuleType MatchRule -MatchCondition $referer,$password -Action Allow -Priority 1

HTTP istek yöntemini temel alan özel kural

New-AzFrontDoorWafCustomRuleObject kullanarak PUT yöntemini engelleyen bir kural oluşturun.

$put = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestMethod -OperatorProperty Equal -MatchValue PUT
$BlockPUT = New-AzFrontDoorWafCustomRuleObject -Name "BlockPUT" -RuleType MatchRule -MatchCondition $put -Action Block -Priority 2

Boyut kısıtlamasını temel alan özel kural oluşturma

Aşağıdaki örnek, Azure PowerShell kullanarak 100 karakterden uzun bir URL ile istekleri engelleyen bir kural oluşturur.

$url = New-AzFrontDoorWafMatchConditionObject -MatchVariable RequestUri -OperatorProperty GreaterThanOrEqual -MatchValue 100
$URLOver100 = New-AzFrontDoorWafCustomRuleObject -Name "URLOver100" -RuleType MatchRule -MatchCondition $url -Action Block -Priority 3

Yönetilen Varsayılan Kural Kümesi ekleme

Aşağıdaki örnek, Azure PowerShell kullanarak yönetilen bir Varsayılan Kural Kümesi oluşturur.

$managedRules =  New-AzFrontDoorWafManagedRuleObject -Type DefaultRuleSet -Version 1.0

Güvenlik ilkesi yapılandırma

kullanarak Get-AzResourceGroupAzure Front Door profilini içeren kaynak grubunun adını bulun. Ardından, Azure Front Door profilini içeren belirtilen kaynak grubunda New-AzFrontDoorWafPolicy kullanarak önceki adımlarda oluşturulmuş kurallarla bir güvenlik ilkesi yapılandırın.

$myWAFPolicy=New-AzFrontDoorWafPolicy -Name $policyName -ResourceGroupName $resourceGroupName -Customrule $AllowFromTrustedSites,$BlockPUT,$URLOver100 -ManagedRule $managedRules -EnabledState Enabled -Mode Prevention

Güvenlik ilkesi nesnesini mevcut bir Azure Front Door ön uç konağına bağlayın ve Azure Front Door özelliklerini güncelleştirin. İlk olarak , Get-AzFrontDoor kullanarak Azure Front Door nesnesini alın. Ardından, Set-AzFrontDoor kullanarak ön uç WebApplicationFirewallPolicyLink özelliğini $myWAFPolicy$resourceId önceki adımda oluşturulana ayarlayın.

Aşağıdaki örnek, Hızlı Başlangıç: Azure Front Door oluşturma başlığı altında sağlanan yönergeleri kullanarak Azure Front Door profilini oluşturduğunuz varsayımıyla kaynak grubu adını myResourceGroupFD1 kullanır. Ayrıca, aşağıdaki örnekte değerini Azure Front Door profilinizin adıyla değiştirin $frontDoorName .

   $FrontDoorObjectExample = Get-AzFrontDoor `
     -ResourceGroupName myResourceGroupFD1 `
     -Name $frontDoorName
   $FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $myWAFPolicy.Id
   Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]

Not

Güvenlik ilkesini Bir Azure Front Door ön ucuna bağlamak için özelliği yalnızca bir kez ayarlamanız WebApplicationFirewallPolicyLink gerekir. Sonraki ilke güncelleştirmeleri ön uca otomatik olarak uygulanır.

Sonraki adımlar