Azure Front Door için WAF ile IP kısıtlama kuralı yapılandırma
Bu makalede Azure portal, Azure CLI, Azure PowerShell veya Azure Resource Manager şablonu kullanarak Azure Front Door için 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 denetlemenize olanak tanıyan özel bir WAF kuralıdır. Kural, Sınıfsız Inter-Domain Yönlendirme (CIDR) biçiminde IP adreslerinin veya IP adresi aralıklarının listesini belirtir.
IP adresi eşleşmesinde iki tür eşleştirme değişkeni vardır: RemoteAddr
ve SocketAddr
. RemoteAddr
değişkeni genellikle istek üst bilgisi aracılığıyla gönderilen özgün istemci IP'dirX-Forwarded-For
. SocketAddr
değişkeni WAF'nin gördüğü kaynak IP adresidir. Kullanıcınız bir ara sunucunun arkasındaysa, SocketAddr
genellikle proxy sunucu adresidir.
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
(doğru olarak geçersizdir) ve eylemi Block
olarak ayarlayan bir IP eşleştirme kuralı oluşturabilirsiniz. BIR IP kısıtlama kuralı uygulandıktan sonra, bu izin verilenler listesinin dışındaki adreslerden gelen istekler 403 Yasak yanıtı alır.
Azure portal ile WAF ilkesi yapılandırma
Azure portal 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 Kaynak oluştur'u seçin. Arama hizmetleri 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 seçin.
WAF ilkesi oluştur sayfasında, Temel Bilgiler sekmesini tamamlamak için aşağıdaki değerleri kullanın.
Ayar Değer İ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.
İlke ayarları sekmesinde, Özel kuralınızın etkin olduğunu görebilmeniz için Yanıt gövdesini engelle! 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 Değer Özel kural adı FdWafCustRule Durum Etkin Kural türü Eşleştirme Öncelik 100 Eşleştirme 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 Add (Ekle) seçeneğini belirleyin.
İ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.
Add (Ekle) seçeneğini belirleyin.
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 engelleme iletinizi görmeniz gerekir.
Not
Özel bir IP adresi, kuralın tetikleneceğinden emin olmak için özel kuralda kasıtlı olarak kullanılmıştır. Gerçek bir dağıtımda, özel durumunuz için IP adreslerini kullanarak izin verme ve reddetme kuralları oluşturun.
Azure CLI ile WAF ilkesi yapılandırma
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 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 ilkesine ö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ımda 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ştirme 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ğine 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 uygulamasına 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 ile WAF ilkesi yapılandırma
Azure PowerShell kullanarak bir 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 modülünü yüklemek için sayfadaki yönergeleri izleyin.
Aşağıdaki komutu kullanarak Azure'a bağlanın ve 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 küresel bir 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ştirme 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 ayarlamak 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
WAF ilkesi yapılandırma
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 uygulamasına 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.
Resource Manager şablonuyla WAF ilkesi yapılandırma
Azure Front Door ilkesi ve özel IP kısıtlama kuralları içeren bir WAF ilkesi oluşturan şablonu görüntülemek için GitHub'a gidin.
Sonraki adımlar
Azure Front Door profili oluşturmayı öğrenin.