مراقبة وتسجيل Azure Web Application Firewall
يوفر Azure Web Application Firewall في Azure Front Door تسجيلا شاملا وبيانات تتبع الاستخدام لمساعدتك على فهم كيفية أداء جدار حماية تطبيق الويب والإجراءات التي يتخذها.
يتم دمج سجل Azure Front Door WAF مع Azure Monitor. يتيح لك Azure Monitor تعقب المعلومات التشخيصية، بما في ذلك تنبيهات وسجلات WAF. يمكنك تكوين مراقبة WAF داخل مورد Azure Front Door في مدخل Azure ضمن علامة التبويب Diagnostics ، من خلال البنية الأساسية مع اقتراب التعليمات البرمجية، أو باستخدام Azure Monitor مباشرة.
المقاييس
يقوم Azure Front Door تلقائيا بتسجيل المقاييس لمساعدتك على فهم سلوك WAF الخاص بك.
للوصول إلى مقاييس WAF:
- سجل الدخول إلى مدخل Microsoft Azure وانتقل إلى ملف تعريف Azure Front Door.
- في الجزء الموجود في أقصى اليسار ضمن Monitoring، حدد علامة التبويب Metrics.
- أضف مقياس عدد طلبات جدار حماية تطبيق ويب لتعقب عدد الطلبات التي تطابق قواعد WAF.
يمكنك إنشاء عوامل تصفية مخصصة استنادا إلى أنواع الإجراءات وأسماء القواعد. تتضمن المقاييس طلبات مع جميع الإجراءات باستثناء Log
.
السجلات والتشخيصات
يوفر Azure Front Door WAF تقارير مفصلة عن كل طلب وكل تهديد يكتشفه. يتم دمج التسجيل مع سجلات التشخيص والتنبيهات الخاصة ب Azure باستخدام سجلات Azure Monitor.
لا يتم تمكين السجلات بشكل افتراضي. يجب تمكين السجلات بشكل صريح. يمكنك تكوين السجلات في مدخل Microsoft Azure باستخدام علامة التبويب Diagnostic settings .
إذا تم تمكين التسجيل وتم تشغيل قاعدة WAF، يتم تسجيل أي أنماط مطابقة في نص عادي لمساعدتك في تحليل سلوك نهج WAF وتصحيحه. يمكنك استخدام الاستثناءات لضبط القواعد واستبعاد أي بيانات تريد استبعادها من السجلات. لمزيد من المعلومات، راجع قوائم استثناء جدار حماية تطبيق الويب في Azure Front Door.
يوفر Azure Front Door نوعين من السجلات: سجلات الوصول وسجلات WAF.
سجلات الوصول
يتضمن السجل FrontDoorAccessLog
جميع الطلبات التي تمر عبر Azure Front Door. لمزيد من المعلومات حول سجل الوصول إلى Azure Front Door، بما في ذلك مخطط السجل، راجع مراقبة المقاييس والسجلات في Azure Front Door.
يتضمن السجل FrontdoorAccessLog
جميع الطلبات التي تمر عبر Azure Front Door. لمزيد من المعلومات حول سجل الوصول إلى Azure Front Door، بما في ذلك مخطط السجل، راجع مراقبة المقاييس والسجلات في Azure Front Door (كلاسيكي).
يعيد استعلام المثال التالي إدخالات سجل الوصول:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorAccessLog"
تعرض القصاصة البرمجية التالية مثالا لإدخال السجل:
{
"time": "2020-06-09T22:32:17.8383427Z",
"category": "FrontDoorAccessLog",
"operationName": "Microsoft.Cdn/Profiles/AccessLog/Write",
"properties": {
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"httpMethod": "GET",
"httpVersion": "2.0",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"requestBytes": "715",
"responseBytes": "380",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4157.0 Safari/537.36 Edg/85.0.531.1",
"clientIp": "xxx.xxx.xxx.xxx",
"socketIp": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"timeTaken": "0.003",
"securityProtocol": "TLS 1.2",
"routingRuleName": "WAFdemoWebAppRouting",
"rulesEngineMatchNames": [],
"backendHostname": "wafdemowebappuscentral.azurewebsites.net:443",
"sentToOriginShield": false,
"httpStatusCode": "403",
"httpStatusDetails": "403",
"pop": "SJC",
"cacheStatus": "CONFIG_NOCACHE"
}
}
{
"time": "2020-06-09T22:32:17.8383427Z",
"category": "FrontdoorAccessLog",
"operationName": "Microsoft.Network/FrontDoor/AccessLog/Write",
"properties": {
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"httpMethod": "GET",
"httpVersion": "2.0",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"requestBytes": "715",
"responseBytes": "380",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4157.0 Safari/537.36 Edg/85.0.531.1",
"clientIp": "xxx.xxx.xxx.xxx",
"socketIp": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"timeTaken": "0.003",
"securityProtocol": "TLS 1.2",
"routingRuleName": "WAFdemoWebAppRouting",
"rulesEngineMatchNames": [],
"backendHostname": "wafdemowebappuscentral.azurewebsites.net:443",
"sentToOriginShield": false,
"httpStatusCode": "403",
"httpStatusDetails": "403",
"pop": "SJC",
"cacheStatus": "CONFIG_NOCACHE"
}
}
سجلات WAF
يتضمن السجل FrontDoorWebApplicationFirewallLog
الطلبات التي تطابق قاعدة WAF.
يتضمن السجل FrontdoorWebApplicationFirewallLog
أي طلب يطابق قاعدة WAF.
يعرض الجدول التالي القيم المسجلة لكل طلب.
الخاصية | الوصف |
---|---|
الإجراء | الإجراءات المتخذة بناءً على الطلب. تتضمن السجلات طلبات بجميع الإجراءات. الإجراءات هي:
|
ClientIP | عنوان IP للعميل الذي قدم الطلب. في كان هناك عنوان X-Forwarded-For في الطلب، فسيتم اختيار عنوان IP الخاص بالعميل من حقل العنوان بدلا من ذلك. |
منفذ العميل | منفذ IP الخاص بالعميل الذي قدم الطلب. |
تفاصيل | مزيد من التفاصيل حول الطلب، بما في ذلك أي تهديدات تم اكتشافها. matchVariableName : اسم معلمة HTTP للطلب المتطابق، على سبيل المثال، أسماء العناوين (بحد أقصى 100 حرف).matchVariableValue : القيم التي أدت إلى المطابقة (بحد أقصى 100 حرف). |
المضيف | Host عنوان الطلب. |
وثيقة تأمين | اسم نهج WAF الذي تناول معالجة الطلب. |
PolicyMode | وضع العمليّات لنهج WAF. القيم المُحتملة هي Prevention وDetection . |
RequestUri | معرف الموارد المنتظم للطلب. |
RuleName | اسم قاعدة WAF المطابقة للطلب. |
SocketIP | عنوان IP المورد الذي يراهWAF. يستند عنوان IP هذا إلى جلسة عمل TCP ولا يأخذ في الاعتبار أي رؤوس طلبات. |
TrackingReference | السلسلة المرجعية الفريدة التي تحدد طلبا يقدمه Azure Front Door. ترسل هذه القيمة إلى العميل في عنوان الاستجابة X-Azure-Ref . استخدم هذا الحقل عند البحث عن طلب معين في السجل. |
يوضح استعلام المثال التالي الطلبات التي حظرها Azure Front Door WAF:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| where action_s == "Block"
AzureDiagnostics
| where ResourceType == "FRONTDOORS" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
تعرض القصاصة البرمجية التالية مثالا لإدخال سجل، بما في ذلك سبب حظر الطلب:
{
"time": "2020-06-09T22:32:17.8376810Z",
"category": "FrontdoorWebApplicationFirewallLog",
"operationName": "Microsoft.Cdn/Profiles/Write",
"properties": {
"clientIP": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"socketIP": "xxx.xxx.xxx.xxx",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"ruleName": "Microsoft_DefaultRuleSet-1.1-SQLI-942100",
"policy": "WafDemoCustomPolicy",
"action": "Block",
"host": "wafdemofrontdoorwebapp.azurefd.net",
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"policyMode": "prevention",
"details": {
"matches": [
{
"matchVariableName": "QueryParamValue:q",
"matchVariableValue": "' or 1=1"
}
]
}
}
}
{
"time": "2020-06-09T22:32:17.8376810Z",
"category": "FrontdoorWebApplicationFirewallLog",
"operationName": "Microsoft.Network/FrontDoorWebApplicationFirewallLog/Write",
"properties": {
"clientIP": "xxx.xxx.xxx.xxx",
"clientPort": "52097",
"socketIP": "xxx.xxx.xxx.xxx",
"requestUri": "https://wafdemofrontdoorwebapp.azurefd.net:443/?q=%27%20or%201=1",
"ruleName": "Microsoft_DefaultRuleSet-1.1-SQLI-942100",
"policy": "WafDemoCustomPolicy",
"action": "Block",
"host": "wafdemofrontdoorwebapp.azurefd.net",
"trackingReference": "08Q3gXgAAAAAe0s71BET/QYwmqtpHO7uAU0pDRURHRTA1MDgANjMxNTAwZDAtOTRiNS00YzIwLTljY2YtNjFhNzMyOWQyYTgy",
"policyMode": "prevention",
"details": {
"matches": [
{
"matchVariableName": "QueryParamValue:q",
"matchVariableValue": "' or 1=1"
}
]
}
}
}
الخطوات التالية
تعرّف على المزيد حول Azure Front Door.