Bu makalede Azure portalı, Azure CLI, Azure PowerShell veya Azure Resource Manager şablonunu kullanarak Azure Front Door için bir web uygulaması güvenlik duvarında (WAF) IP kısıtlama kurallarını yapılandırma adımları gösterilmektedir.
IP adresi tabanlı erişim denetimi kuralı, web uygulamalarınıza erişimi denetlemenizi sağlayan özel bir WAF kuralıdır. Kural, Sınıfsız Etki Alanları Arası Yönlendirme (CIDR) biçiminde IP adreslerinin veya IP adresi aralıklarının listesini belirtir.
Varsayılan olarak, web uygulamanıza İnternet'ten erişilebilir. İstemcilere erişimi bilinen IP adresleri veya IP adresi aralıkları listesinden sınırlamak istiyorsanız, IP adreslerinin listesini eşleşen değerler olarak içeren ve işleci Not
(negate true) ve eylemi Block
olarak ayarlayan bir IP eşleştirme kuralı oluşturabilirsiniz. Bir IP kısıtlama kuralı uygulandıktan sonra, bu izin verilen listenin dışındaki adreslerden gelen istekler 403 Yasak yanıtı alır.
Azure portalını kullanarak waf ilkesi yapılandırmak için bu adımları izleyin.
Önkoşullar
Hızlı Başlangıç: Yüksek oranda kullanılabilir bir genel web uygulaması için Azure Front Door örneği oluşturma başlığı altında açıklanan yönergeleri izleyerek bir Azure Front Door profili oluşturun.
WAF ilkesi oluşturma
Azure portalında Kaynak oluştur'u seçin. Arama hizmeti ve market arama kutusuna Web uygulaması güvenlik duvarı yazın ve Enter tuşuna basın. Ardından Web Uygulaması Güvenlik Duvarı (WAF) seçeneğini belirleyin.
Oluştur'u belirleyin.
WAF ilkesi oluştur sayfasında, Temel Bilgiler sekmesini tamamlamak için aşağıdaki değerleri kullanın.
Ayar |
Value |
İlke: |
Global WAF (Front Door). |
Ön kapı katmanı |
Azure Front Door katmanınızla eşleştirmek için Premium veya Standart'ı seçin. |
Abonelik |
Aboneliğinizi seçin. |
Kaynak grubu |
Azure Front Door örneğinizin bulunduğu kaynak grubunu seçin. |
İlke adı |
İlkeniz için bir ad girin. |
İlke durumu |
Seçili |
İlke modu |
Önleme |
İleri: Yönetilen kurallar'ı seçin.
İleri: İlke ayarları'nı seçin.
özel kuralınızın etkin olduğunu görebilmek için İlke ayarları sekmesinde Engelle yanıt gövdesi için Engellendiniz! yazın.
İleri: Özel kurallar'ı seçin.
Özel kural ekle'yi seçin.
Özel kural ekle sayfasında, özel kural oluşturmak için aşağıdaki test değerlerini kullanın.
Ayar |
Value |
Özel kural adı |
FdWafCustRule |
Durum |
Etkin |
Kural türü |
Eşleştir |
Öncelik |
100 |
Eşleme türü |
IP Adresi |
Değişkeni eşleştir |
SocketAddr |
İşlem |
İçermez |
IP adresi veya aralık |
10.10.10.0/24 |
Ardından |
Trafiği reddet |
Ekle'yi seçin.
İleri: İlişkilendirme'yi seçin.
Ön kapı profilini ilişkilendir'i seçin.
Ön uç profili için ön uç profilinizi seçin.
Etki Alanı için etki alanını seçin.
Ekle'yi seçin.
Gözden geçir ve oluştur’u seçin.
İlke doğrulamanız geçtikten sonra Oluştur'u seçin.
WAF ilkenizi test edin
WAF ilke dağıtımınız tamamlandıktan sonra Azure Front Door ön uç ana bilgisayar adınıza göz atın.
Özel blok iletinizi görmeniz gerekir.
Not
Özel kuralda, kuralın tetikleneceğinden emin olmak için kasıtlı olarak bir özel IP adresi kullanıldı. Gerçek bir dağıtımda, özel durumunuz için IP adreslerini kullanarak izin verme ve reddetme kuralları oluşturun.
Azure CLI kullanarak waf ilkesi yapılandırmak için bu adımları izleyin.
Önkoşullar
BIR IP kısıtlama ilkesi yapılandırmaya başlamadan önce CLI ortamınızı ayarlayın ve bir Azure Front Door profili oluşturun.
Azure CLI ortamını ayarlama
- Azure CLI'yi yükleyin veya Azure Cloud Shell'i kullanın. Azure Cloud Shell doğrudan Azure portalının içinde çalıştırabileceğiniz ücretsiz bir Bash kabuğudur. Azure CLI, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır. Aşağıdaki CLI komutlarında Deneyin düğmesini seçin. Ardından açılan Cloud Shell oturumunda Azure hesabınızda oturum açın. Oturum başladıktan sonra Azure Front Door uzantısını eklemek için girin
az extension add --name front-door
.
- CLI'yi Bash'te yerel olarak kullanıyorsanız kullanarak
az login
Azure'da oturum açın.
Azure Front Door profili oluşturma
Hızlı Başlangıç: Yüksek oranda kullanılabilir bir genel web uygulaması için Azure Front Door örneği oluşturma başlığı altında açıklanan yönergeleri izleyerek bir Azure Front Door profili oluşturun.
WAF ilkesi oluşturma
az network front-door waf-policy create komutunu kullanarak bir WAF ilkesi oluşturun .
Aşağıdaki örnekte, IPAllowPolicyExampleCLI ilke adını benzersiz bir ilke adıyla değiştirin.
az network front-door waf-policy create \
--resource-group <resource-group-name> \
--subscription <subscription ID> \
--name IPAllowPolicyExampleCLI
Özel IP erişim denetimi kuralı ekleme
Oluşturduğunuz WAF ilkesi için özel bir IP erişim denetimi kuralı eklemek için az network front-door waf-policy custom-rule create komutunu kullanın.
Aşağıdaki örneklerde:
- IPAllowPolicyExampleCLI değerini daha önce oluşturduğunuz benzersiz ilkenizle değiştirin.
- ip-address-range-1, ip-address-range-2 yerine kendi aralığınızı yazın.
İlk olarak, önceki adımdan oluşturulan ilke için bir IP izin verme kuralı oluşturun.
Not
--defer
bir kuralın bir sonraki adımda eklenmesi için bir eşleşme koşulu olması gerektiğinden gereklidir.
az network front-door waf-policy rule create \
--name IPAllowListRule \
--priority 1 \
--rule-type MatchRule \
--action Block \
--resource-group <resource-group-name> \
--policy-name IPAllowPolicyExampleCLI --defer
Ardından kurala bir eşleşme koşulu ekleyin:
az network front-door waf-policy rule match-condition add \
--match-variable SocketAddr \
--operator IPMatch \
--values "ip-address-range-1" "ip-address-range-2" \
--negate true \
--name IPAllowListRule \
--resource-group <resource-group-name> \
--policy-name IPAllowPolicyExampleCLI
WAF ilkesinin kimliğini bulma
az network front-door waf-policy show komutunu kullanarak bir WAF ilkesinin kimliğini bulun. Aşağıdaki örnekteki IPAllowPolicyExampleCLI değerini daha önce oluşturduğunuz benzersiz ilkenizle değiştirin.
az network front-door waf-policy show \
--resource-group <resource-group-name> \
--name IPAllowPolicyExampleCLI
WAF ilkesini Azure Front Door ön uç konağına bağlama
az network front-door update komutunu kullanarak Azure Front Door WebApplicationFirewallPolicyLink Kimliğini ilke kimliği olarak ayarlayın. IPAllowPolicyExampleCLI değerini daha önce oluşturduğunuz benzersiz ilkenizle değiştirin.
az network front-door update \
--set FrontendEndpoints[0].WebApplicationFirewallPolicyLink.id=/subscriptions/<subscription ID>/resourcegroups/resource-group-name/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/IPAllowPolicyExampleCLI \
--name <frontdoor-name> \
--resource-group <resource-group-name>
Bu örnekte WAF ilkesi öğesine FrontendEndpoints[0]
uygulanır. WAF ilkesini ön uçlarınızdan herhangi birine bağlayabilirsiniz.
Not
Bir WAF ilkesini 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.
Azure PowerShell kullanarak WAF ilkesi yapılandırmak için bu adımları izleyin.
Önkoşullar
BIR IP kısıtlama ilkesi yapılandırmaya 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ı yönetmek için Azure Resource Manager modelini kullanan bir cmdlet kümesi sağlar.
Azure PowerShell'i yerel makinenize yükleyebilir ve herhangi bir PowerShell oturumunda kullanabilirsiniz. Azure kimlik bilgilerinizi kullanarak PowerShell'de oturum açmak ve ardından Az PowerShell modülü modülünü yüklemek için sayfadaki yönergeleri izleyin.
Aşağıdaki komutu kullanarak Azure'a Bağlan ve ardından oturum açmak için etkileşimli bir iletişim kutusu kullanın.
Connect-AzAccount
Azure Front Door modülünü yüklemeden önce PowerShellGet modülünün 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
Aşağıdaki komutu kullanarak Az.FrontDoor modülünü yükleyin:
Install-Module -Name Az.FrontDoor
Azure Front Door profili oluşturma
Hızlı Başlangıç: Yüksek oranda kullanılabilir bir küresel web uygulaması için Front Door oluşturma başlığı altında açıklanan yönergeleri izleyerek bir Azure Front Door profili oluşturun.
IP eşleştirme koşulu tanımlama
Bir IP eşleşme koşulu tanımlamak için New-AzFrontDoorWafMatchConditionObject komutunu kullanın.
Aşağıdaki örnekte ip-address-range-1, ip-address-range-2 yerine kendi aralığınızı yazın.
$IPMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty IPMatch `
-MatchValue "ip-address-range-1", "ip-address-range-2"
-NegateCondition 1
Özel IP izin verme kuralı oluşturma
Bir eylem tanımlamak ve öncelik belirlemek için New-AzFrontDoorWafCustomRuleObject komutunu kullanın. Aşağıdaki örnekte, listeyle eşleşen istemci IP'lerinden olmayan istekler engellenir.
$IPAllowRule = New-AzFrontDoorWafCustomRuleObject `
-Name "IPAllowRule" `
-RuleType MatchRule `
-MatchCondition $IPMatchCondition `
-Action Block -Priority 1
kullanarak Get-AzResourceGroup
Azure Front Door profilini içeren kaynak grubunun adını bulun. Ardından New-AzFrontDoorWafPolicy kullanarak IP kuralıyla bir WAF ilkesi yapılandırın.
$IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
-Name "IPRestrictionExamplePS" `
-resourceGroupName <resource-group-name> `
-Customrule $IPAllowRule`
-Mode Prevention `
-EnabledState Enabled
İpucu
Mevcut bir WAF ilkesi için, ilkeyi güncelleştirmek için Update-AzFrontDoorWafPolicy kullanabilirsiniz.
WAF ilkesini Azure Front Door ön uç konağına bağlama
WaF ilke nesnesini mevcut bir ö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 komutunu kullanarak özelliğini önceki adımda oluşturulan kaynak kimliğine $IPAllowPolicyExamplePS
ayarlayınWebApplicationFirewallPolicyLink
.
$FrontDoorObjectExample = Get-AzFrontDoor `
-ResourceGroupName <resource-group-name> `
-Name $frontDoorName
$FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $IPBlockPolicy.Id
Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]
Not
Bu örnekte WAF ilkesi öğesine FrontendEndpoints[0]
uygulanır. Bir WAF ilkesini ön uçlarınızdan herhangi birine bağlayabilirsiniz. Bir WAF ilkesini 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.
Azure Front Door ilkesi ve özel IP kısıtlama kuralları içeren bir WAF ilkesi oluşturan Resource Manager şablonunu görüntülemek için GitHub'a gidin.