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-AzResourceGroup
Azure 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
İlkeyi Azure Front Door ön uç konağına bağlama
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
- Azure Front Door hakkında daha fazla bilgi edinin.
- Azure Front Door'da Azure Web Uygulaması Güvenlik Duvarı hakkında daha fazla bilgi edinin.