توضح هذه المقالة كيفية تكوين قواعد تقييد IP في جدار حماية تطبيق ويب (WAF) ل Azure Front Door باستخدام مدخل Azure أو Azure CLI أو Azure PowerShell أو قالب Azure Resource Manager.
قاعدة التحكم بالوصول المستندة إلى عنوان IP هي قاعدة WAF مخصصة تتيح لك التحكم في الوصول إلى تطبيقات الويب الخاصة بك. تحدد القاعدة قائمة بعناوين IP أو نطاقات عناوين IP بتنسيق التوجيه بين المجالات (CIDR) بدون فئة.
بشكل افتراضي، يمكن الوصول إلى تطبيق الويب الخاص بك من الإنترنت. إذا كنت ترغب في تقييد الوصول إلى العملاء من قائمة عناوين IP المعروفة أو نطاقات عناوين IP، يمكنك إنشاء قاعدة مطابقة IP تحتوي على قائمة عناوين IP كقيم مطابقة وتعيين عامل التشغيل إلى Not
(الرفض صحيح) والإجراء إلى Block
. بعد تطبيق قاعدة تقييد IP، تتلقى الطلبات التي تنشأ من عناوين خارج هذه القائمة المسموح بها استجابة 403 ممنوع.
اتبع هذه الخطوات لتكوين نهج WAF باستخدام مدخل Microsoft Azure.
المتطلبات الأساسية
إنشاء ملف تعريف Azure Front Door باتباع الإرشادات الموضحة في التشغيل السريع: إنشاء مثيل Azure Front Door لتطبيق ويب عمومي عالي التوفر.
إنشاء نهج جدار حماية تطبيق الويب
في مدخل Microsoft Azure، حدد "Create a resource". أدخل جدار حماية تطبيق الويب في مربع البحث خدمة البحث والسوق وحدد Enter. ثم حدد Web Application Firewall (WAF) .
حدد إنشاء.
في صفحة Create a WAF policy ، استخدم القيم التالية لإكمال علامة التبويب Basics .
الإعداد |
القيمة |
نهج لـ |
WAF العالمي (Front Door). |
مستوى الباب الأمامي |
حدد Premium أو Standard لمطابقة مستوى Azure Front Door. |
الاشتراك |
حدد Subscription الخاص بك. |
مجموعة الموارد |
حدد مجموعة الموارد حيث يوجد مثيل Azure Front Door. |
اسم السياسة |
أدخل اسما للنهج الخاص بك. |
حالة النهج |
المحدد |
وضع النهج |
الوقاية |
حدد "Next : Managed rules".
حدد Next: Policy settings.
في علامة التبويب Policy settings ، أدخل You've blocked! لنص الاستجابة Block حتى تتمكن من رؤية أن القاعدة المخصصة سارية المفعول.
حدد "Next: Custom rules".
حدد " Add custom rule".
في صفحة إضافة قاعدة مخصصة، استخدم قيم الاختبار التالية لإنشاء قاعدة مخصصة.
الإعداد |
القيمة |
اسم القاعدة المخصصة |
FdWafCustRule |
الحالة |
مُمَكّن |
نوع القاعدة |
مطابقة |
أولوية |
100 |
نوع مطابقة |
عنوان IP |
مطابقة المتغير |
SocketAddr |
العملية |
لا يحتوي على |
عنوان IP أو النطاق |
10.10.10.0/24 |
إذن |
رفض نسبة استخدام الشبكة |
حدد إضافة.
حدد "Next : Association".
حدد إقران ملف تعريف الباب الأمامي.
بالنسبة لملف تعريف الواجهة الأمامية، حدد ملف تعريف الواجهة الأمامية.
بالنسبة للمجال، حدد المجال.
حدد إضافة.
حدد "Review + create".
بعد اجتياز التحقق من الصحة، حدد "Create".
اختبار نهج WAF
بعد اكتمال نشر نهج WAF، استعرض للوصول إلى اسم مضيف الواجهة الأمامية ل Azure Front Door.
يجب أن تشاهد رسالة الحظر المخصصة.
إشعار
استُخدمَ عنوان IP خاص عن قصد في القاعدة المخصصة لضمان تشغيل القاعدة. في التوزيع الفعلي، قم بإنشاء قواعد السماح والرفض باستخدام عناوين IP لموقفك المحدد.
اتبع هذه الخطوات لتكوين نهج WAF باستخدام Azure CLI.
المتطلبات الأساسية
قبل البدء في تكوين نهج تقييد IP، أعد بيئة CLI الخاصة بك وأنشئ ملف تعريف Azure Front Door.
أعد بيئة Azure CLI
- قم بتثبيت Azure CLI أو استخدم Azure Cloud Shell. Azure Cloud Shell عبارة عن غلاف Bash مجاني يمكنك تشغيله مباشرة داخل مدخل Microsoft Azure. تم تثبيت Azure CLI مسبقاً وتكوينه للاستخدام مع حسابك. حدد الزر تجربته في أوامر CLI التالية. ثم سجل الدخول إلى حساب Azure الخاص بك في جلسة عمل Cloud Shell التي تفتح. بعد بدء الجلسة، أدخل
az extension add --name front-door
لإضافة ملحق Azure Front Door.
- إذا كنت تستخدم CLI محلياً في Bash، فسجِّل الدخول إلى Azure باستخدام
az login
.
إنشاء ملف تعريف Azure Front Door
إنشاء ملف تعريف Azure Front Door باتباع الإرشادات الموضحة في التشغيل السريع: إنشاء مثيل Azure Front Door لتطبيق ويب عمومي عالي التوفر.
إنشاء نهج جدار حماية تطبيق الويب
أنشئ نهج WAF باستخدام الأمر az network front-door waf-policy create.
في المثال التالي، استبدل اسم النهج IPAllowPolicyExampleCLI باسم نهج فريد.
az network front-door waf-policy create \
--resource-group <resource-group-name> \
--subscription <subscription ID> \
--name IPAllowPolicyExampleCLI
أضف قاعدة مخصصة للتحكم بالوصول إلى IP
استخدم الأمر az network front-door waf-policy custom-rule create لإضافة قاعدة تحكم وصول IP مخصصة لنهج WAF الذي قمت بإنشائه.
في الأمثلة التالية:
- استبدل IPAllowPolicyExampleCLI بنهجك الفريد الذي تم إنشاؤه مسبقاً.
- استبدل ip-address-range-1، ip-address-range-2 بنطاقك.
أولاً، أنشئ قاعدة سماح IP للنهج الذي تم إنشاؤه من الخطوة السابقة.
إشعار
--defer
مطلوب لأن القاعدة يجب أن تحتوي على شرط مطابقة لإضافتها في الخطوة التالية.
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
بعد ذلك، أضف شرط مطابقة إلى القاعدة:
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
ابحث عن معرّف نهج WAF باستخدام الأمر az network front-door waf-policy show. استبدل IPAllowPolicyExampleCLI في المثال التالي بنهجك الفريد الذي قمت بإنشائه سابقاً.
az network front-door waf-policy show \
--resource-group <resource-group-name> \
--name IPAllowPolicyExampleCLI
ارتباط نهج WAF بمضيف الواجهة الأمامية لـ Azure Front Door
عيّن معرّف Azure Front Door WebApplicationFirewallPolicyLink إلى معرّف النهج باستخدام الأمر az network front-door update. استبدل IPAllowPolicyExampleCLI بنهجك الفريد الذي قمت بإنشائه سابقاً.
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>
في هذا المثال، يتم تطبيق نهج WAF على FrontendEndpoints[0]
. يمكنك ربط نهج WAF بأي من الواجهات الأمامية.
إشعار
تحتاج إلى تعيين الخاصية WebApplicationFirewallPolicyLink
مرة واحدة فقط لربط نهج WAF بواجهة Azure Front Door الأمامية. تُطبق تحديثات النهج اللاحقة تلقائياً على الواجهة الأمامية.
اتبع هذه الخطوات لتكوين نهج WAF باستخدام Azure PowerShell.
المتطلبات الأساسية
قبل البدء في تكوين نهج تقييد IP، أعد بيئة PowerShell وأنشئ ملف تعريف Azure Front Door.
إعداد بيئة PowerShell
يوفر Azure PowerShell مجموعة من cmdlets التي تستخدم نموذج Azure Resource Manager لإدارة موارد Azure.
يمكنك تثبيت Azure PowerShell على جهازك المحلي واستخدامه في أية جلسة PowerShell. اتبع الإرشادات الموجودة على الصفحة لتسجيل الدخول إلى PowerShell باستخدام بيانات اعتماد Azure ثم قم بتثبيت الوحدة النمطية Az PowerShell.
الاتصال إلى Azure باستخدام الأمر التالي ثم استخدم مربع حوار تفاعلي لتسجيل الدخول.
Connect-AzAccount
قبل تثبيت الوحدة النمطية Azure Front Door، تأكد من تثبيت الإصدار الحالي من الوحدة النمطية PowerShellGet. قم بتشغيل الأمر التالي ثم أعد فتح PowerShell.
Install-Module PowerShellGet -Force -AllowClobber
قم بتثبيت الوحدة النمطية Az.FrontDoor باستخدام الأمر التالي:
Install-Module -Name Az.FrontDoor
إنشاء ملف تعريف Azure Front Door
إنشاء ملف تعريف Azure Front Door باتباع الإرشادات الموضحة في التشغيل السريع: إنشاء Front Door لتطبيق ويب عمومي عالي التوفر.
تعريف شرط مطابقة IP
استخدم الأمر New-AzFrontDoorWafMatchConditionObject لتعريف شرط مطابقة IP.
في المثال التالي، استبدل ip-address-range-1، ip-address-range-2 بنطاقك.
$IPMatchCondition = New-AzFrontDoorWafMatchConditionObject `
-MatchVariable SocketAddr `
-OperatorProperty IPMatch `
-MatchValue "ip-address-range-1", "ip-address-range-2"
-NegateCondition 1
إنشاء قاعدة سماح IP مخصصة
استخدم الأمر New-AzFrontDoorWafCustomRuleObject لتعريف إجراء أولوية وتعيينه. في المثال التالي، يتم حظر الطلبات التي لا تتم من عناوين IP للعميل التي تطابق القائمة.
$IPAllowRule = New-AzFrontDoorWafCustomRuleObject `
-Name "IPAllowRule" `
-RuleType MatchRule `
-MatchCondition $IPMatchCondition `
-Action Block -Priority 1
ابحث عن اسم مجموعة الموارد التي تحتوي على ملف تعريف Front Door باستخدام Get-AzResourceGroup
. بعد ذلك، كوّن نهج WAF مع قاعدة IP باستخدام New-AzFrontDoorWafPolicy.
$IPAllowPolicyExamplePS = New-AzFrontDoorWafPolicy `
-Name "IPRestrictionExamplePS" `
-resourceGroupName <resource-group-name> `
-Customrule $IPAllowRule`
-Mode Prevention `
-EnabledState Enabled
ارتباط نهج WAF بمضيف الواجهة الأمامية لـ Azure Front Door
اربط عنصر نهج WAF بمضيف واجهة أمامية موجود وحدّث خصائص Azure Front Door. أولاً، استرد عنصر Azure Front Door باستخدام Get-AzFrontDoor. بعد ذلك، قم بتعيين الخاصية WebApplicationFirewallPolicyLink
إلى معرف المورد الخاص $IPAllowPolicyExamplePS
ب ، الذي تم إنشاؤه في الخطوة السابقة، باستخدام الأمر Set-AzFrontDoor .
$FrontDoorObjectExample = Get-AzFrontDoor `
-ResourceGroupName <resource-group-name> `
-Name $frontDoorName
$FrontDoorObjectExample[0].FrontendEndpoints[0].WebApplicationFirewallPolicyLink = $IPBlockPolicy.Id
Set-AzFrontDoor -InputObject $FrontDoorObjectExample[0]
إشعار
في هذا المثال، يتم تطبيق نهج WAF على FrontendEndpoints[0]
. يمكنك ربط نهج WAF بأي من الواجهات الأمامية. تحتاج إلى تعيين الخاصية WebApplicationFirewallPolicyLink
مرة واحدة فقط لربط نهج WAF بواجهة Azure Front Door الأمامية. تُطبق تحديثات النهج اللاحقة تلقائياً على الواجهة الأمامية.
لعرض قالب Resource Manager الذي ينشئ نهج Azure Front Door ونهج WAF مع قواعد تقييد IP المخصصة، انتقل إلى GitHub.