دفق البيانات وتصفيتها من خوادم Windows DNS باستخدام موصل AMA
توضح هذه المقالة كيفية استخدام موصل عامل Azure Monitor (AMA) لدفق الأحداث وتصفيتها من سجلات خادم نظام أسماء مجالات Windows (DNS). يمكنك بعد ذلك تحليل بياناتك بعمق لحماية خوادم DNS من التهديدات والهجمات. يتم تثبيت AMA وملحق DNS الخاص به على Windows Server لتحميل البيانات من سجلات DNS التحليلية إلى مساحة عمل Microsoft Sentinel.
DNS هو بروتوكول يستخدم على نطاق واسع، والذي يعين بين أسماء المضيفين وعناوين IP القابلة للقراءة للكمبيوتر. نظرًا لأن DNS لم يتم تصميمه مع وضع الأمان في الاعتبار، فإن الخدمة مستهدفة بشدة من قبل النشاط الضار، ما يجعل تسجيلها جزءا أساسيا من مراقبة الأمان. تتضمن بعض التهديدات المعروفة التي تستهدف خوادم DNS هجمات DDoS التي تستهدف خوادم DNS وتضخيم DNS DDoS واختطاف DNS والمزيد.
في حين تم إدخال بعض الآليات لتحسين الأمان العام لهذا البروتوكول، لا تزال خوادم DNS خدمة مستهدفة للغاية. يمكن للمؤسسات مراقبة سجلات DNS لفهم نشاط الشبكة بشكل أفضل، وتحديد السلوك المشبوه أو الهجمات التي تستهدف الموارد داخل الشبكة. توفر أحداث Windows DNS عبر موصل AMA هذا النوع من الرؤية. على سبيل المثال، استخدم الموصل لتحديد العملاء الذين يحاولون حل أسماء المجالات الضارة، أو عرض ومراقبة تحميلات الطلبات على خوادم DNS، أو عرض فشل تسجيل DNS الديناميكي.
ملاحظة
تدعم أحداث Windows DNS عبر موصل AMA أحداث السجل التحليلي فقط.
قبل أن تبدأ، تحقق من أن لديك ما يلي:
- مساحة عمل Log Analytics ممكنة ل Microsoft Sentinel.
- أحداث Windows DNS عبر موصل بيانات AMA المثبت كجزء من حل Windows Server DNS من مركز المحتوى.
- Windows server 2016 والإصدارات الأحدث المدعومة، أو Windows Server 2012 R2 مع الإصلاح العاجل للتدقيق.
- تم تثبيت دور خادم DNS مع تمكين سجلات الأحداث التحليلية ل DNS-Server . لا يتم تمكين سجلات الأحداث التحليلية ل DNS بشكل افتراضي. لمزيد من المعلومات، راجع تمكين تسجيل الأحداث التحليلية.
لتجميع الأحداث من أي نظام ليس جهازًا ظاهريًا لـ Azure، تأكد من تثبيت Azure Arc. قم بتثبيت Azure Arc وتمكينه قبل تمكين الموصل المستند إلى عامل Azure Monitor. يتضمن هذا المطلب ما يلي:
- خوادم Windows مثبتة على أجهزة فعلية
- خوادم Windows مثبتة على الأجهزة الظاهرية المحلية
- خوادم Windows مثبتة على الأجهزة الظاهرية في السحب غير المتعلقة بـ Azure
استخدم خيار إعداد المدخل لتكوين الموصل باستخدام قاعدة تجميع بيانات واحدة (DCR) لكل مساحة عمل. بعد ذلك، استخدم عوامل التصفية المتقدمة لتصفية أحداث أو معلومات معينة، وتحميل البيانات القيمة التي تريد مراقبتها فقط، وتقليل التكاليف واستخدام النطاق الترددي.
إذا كنت بحاجة إلى إنشاء DCRs متعددة، فاستخدم واجهة برمجة التطبيقات بدلا من ذلك. سيستمر استخدام واجهة برمجة التطبيقات لإنشاء DCRs متعددة في إظهار DCR واحد فقط في المدخل.
لتكوين الموصل:
في Microsoft Sentinel، افتح صفحة موصلات البيانات، وحدد موقع أحداث Windows DNS عبر موصل AMA .
في أسفل الجزء الجانبي، حدد فتح صفحة الموصل.
في منطقة التكوين، حدد إنشاء قاعدة تجميع بيانات. يمكنك إنشاء DCR واحد لكل مساحة عمل.
يتم تعيين اسم DCR والاشتراك ومجموعة الموارد تلقائيًا استنادًا إلى اسم مساحة العمل والاشتراك الحالي ومجموعة الموارد التي تم تحديد الموصل منها. على سبيل المثال:
حدد علامة التبويب >الموارد إضافة مورد (موارد).
حدد الأجهزة الظاهرية التي تريد تثبيت الموصل عليها لجمع السجلات. على سبيل المثال:
راجع التغييرات وحدد حفظ>تطبيق.
استخدم خيار إعداد واجهة برمجة التطبيقات لتكوين الموصل باستخدام DCRs متعددة لكل مساحة عمل. إذا كنت تفضل استخدام DCR واحد، فاستخدم خيار المدخل بدلا من ذلك.
لا يزال استخدام واجهة برمجة التطبيقات لإنشاء DCRs متعددة يعرض DCR واحدا فقط في المدخل.
استخدم المثال التالي كقالب لإنشاء DCR أو تحديثه:
PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}?api-version=2019-11-01-preview
{
"properties": {
"dataSources": {
"windowsEventLogs": [],
"extensions": [
{
"streams": [
"Microsoft-ASimDnsActivityLogs"
],
"extensionName": "MicrosoftDnsAgent",
"extensionSettings": {
"Filters": [
{
"FilterName": "SampleFilter",
"Rules": [
{
"Field": "EventOriginalType",
"FieldValues": [
"260"
]
}
]
}
]
},
"name": "SampleDns"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{sentinelWorkspaceName}",
"workspaceId": {WorkspaceGuid}",
"name": "WorkspaceDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-ASimDnsActivityLogs"
],
"destinations": [
" WorkspaceDestination "
]
}
],
},
"location": "eastus2",
"tags": {},
"kind": "Windows",
"id":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Insights/dataCollectionRules/{workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
"name": " {workspaceName}-microsoft-sentinel-asimdnsactivitylogs ",
"type": "Microsoft.Insights/dataCollectionRules",
}
يمكن أن تحتوي سجلات أحداث خادم DNS على عدد كبير من الأحداث. نوصي باستخدام التصفية المتقدمة لتصفية الأحداث غير الضرورية قبل تحميل البيانات، ما يوفر وقت الفرز والتكاليف القيمة. تقوم عوامل التصفية بإزالة البيانات غير الضرورية من دفق الأحداث التي تم تحميلها إلى مساحة العمل الخاصة بك، وتستند إلى مجموعة من الحقول المتعددة.
لمزيد من المعلومات، راجع الحقول المتوفرة للتصفية.
استخدم الإجراء التالي لإنشاء عوامل تصفية عبر المدخل. لمزيد من المعلومات حول إنشاء عوامل التصفية باستخدام واجهة برمجة التطبيقات، راجع أمثلة تصفية متقدمة.
لإنشاء عوامل تصفية عبر المدخل:
في صفحة الموصل، في منطقة التكوين، حدد إضافة عوامل تصفية تجميع البيانات.
أدخل اسما لعامل التصفية وحدد نوع عامل التصفية، وهو معلمة تقلل من عدد الأحداث التي تم جمعها. تتم تسوية المعلمات وفقا للمخطط الذي تمت تسويته في DNS. لمزيد من المعلومات، راجع الحقول المتوفرة للتصفية.
حدد القيم التي تريد تصفية الحقل من بين القيم المدرجة في القائمة المنسدلة.
لإضافة عوامل تصفية معقدة، حدد إضافة حقل استبعاد لتصفية الحقل ذي الصلة وإضافته.
- استخدم القوائم المفصولة بفواصل لتعريف قيم متعددة لكل حقل.
- لإنشاء عوامل تصفية مركبة، استخدم حقولا مختلفة مع علاقة AND.
- لدمج عوامل تصفية مختلفة، استخدم علاقة OR بينها.
تدعم عوامل التصفية أيضا أحرف البدل كما يلي:
- أضف نقطة بعد كل علامة نجمية (
*.
). - لا تستخدم المسافات بين قائمة المجالات.
- تنطبق أحرف البدل على المجالات الفرعية للمجال فقط، بما في ذلك
www.domain.com
، بغض النظر عن البروتوكول. على سبيل المثال، إذا كنت تستخدم*.domain.com
في عامل تصفية متقدم:- ينطبق عامل التصفية على
www.domain.com
وsubdomain.domain.com
، بغض النظر عما إذا كان البروتوكول HTTPS وFTP وما إلى ذلك. - لا ينطبق عامل التصفية على
domain.com
. لتطبيق عامل تصفية علىdomain.com
، حدد المجال مباشرة، دون استخدام حرف بدل.
- ينطبق عامل التصفية على
لإضافة المزيد من عوامل التصفية الجديدة، حدد إضافة عامل تصفية استبعاد جديد.
عند الانتهاء من إضافة عوامل التصفية، حدد إضافة.
مرة أخرى في صفحة الموصل الرئيسي، حدد تطبيق التغييرات لحفظ عوامل التصفية ونشرها على الموصلات. لتحرير عوامل التصفية أو الحقول الموجودة أو حذفها، حدد أيقونات التحرير أو الحذف في الجدول ضمن منطقة التكوين .
لإضافة حقول أو عوامل تصفية بعد التوزيع الأولي، حدد إضافة عوامل تصفية تجميع البيانات مرة أخرى.
استخدم الأمثلة التالية لإنشاء عوامل تصفية متقدمة شائعة الاستخدام، عبر المدخل أو واجهة برمجة التطبيقات.
يرشد عامل التصفية هذا الموصل إلى عدم تجميع EventID 256 أو EventID 257 أو EventID 260 مع عناوين IPv6.
باستخدام مدخل Microsoft Sentinel:
قم بإنشاء عامل تصفية باستخدام حقل EventOriginalType، باستخدام عامل تشغيل Equals، بالقيم 256و257و260.
قم بإنشاء عامل تصفية مع حقل EventOriginalType المعرف أعلاه، واستخدام عامل التشغيل And، بما في ذلك أيضًا تعيين حقل DnsQueryTypeName إلى AAAA.
استخدام واجهة برمجة التطبيقات:
"Filters": [
{
"FilterName": "SampleFilter",
"Rules": [
{
"Field": "EventOriginalType",
"FieldValues": [
"256", "257", "260"
]
},
{
"Field": "DnsQueryTypeName",
"FieldValues": [
"AAAA"
]
}
]
},
{
"FilterName": "EventResultDetails",
"Rules": [
{
"Field": "EventOriginalType",
"FieldValues": [
"230"
]
},
{
"Field": "EventResultDetails",
"FieldValues": [
"BADKEY","NOTZONE"
]
}
]
}
]
يرشد عامل التصفية هذا الموصل إلى عدم تجميع الأحداث من أي مجالات فرعية من microsoft.com أو google.com أو amazon.com أو الأحداث من facebook.com أو center.local.
باستخدام مدخل Microsoft Sentinel:
قم بتعيين حقل DnsQuery باستخدام عامل تشغيل Equals، مع القائمة *.microsoft.com,*.google.com,facebook.com,*.amazon.com,center.local.
راجع هذه الاعتبارات لاستخدام أحرف البدل.
لتعريف قيم مختلفة في حقل واحد، استخدم عامل التشغيل OR.
استخدام واجهة برمجة التطبيقات:
راجع هذه الاعتبارات لاستخدام أحرف البدل.
"Filters": [
{
"FilterName": "SampleFilter",
"Rules": [
{
"Field": "DnsQuery",
"FieldValues": [
"*.microsoft.com", "*.google.com", "facebook.com", "*.amazon.com","center.local"
]
},
}
}
]
يتم تطبيع هذا الموصل بالكامل باستخدام محللات نموذج معلومات الأمان المتقدم (ASIM). نشأت أحداث دفق الموصل من السجلات التحليلية إلى الجدول الذي تمت تسويته المسمى ASimDnsActivityLogs
. يعمل هذا الجدول كمترجم، باستخدام لغة واحدة موحدة، تتم مشاركتها عبر جميع موصلات DNS القادمة.
بالنسبة إلى محلل غير محدد المصدر الذي يوحد جميع بيانات DNS ويضمن تشغيل التحليل عبر جميع المصادر المكونة، استخدم محلل_Im_Dns
ASIM DNS الموحد .
يكمل محلل توحيد ASIM الجدول الأصلي ASimDnsActivityLogs
. بينما يكون الجدول الأصلي متوافقا مع ASIM، فإن المحلل مطلوب لإضافة قدرات، مثل الأسماء المستعارة، المتوفرة فقط في وقت الاستعلام، والدمج ASimDnsActivityLogs
مع مصادر بيانات DNS الأخرى.
يمثل مخطط DNS ASIM نشاط بروتوكول DNS، كما تم تسجيله في خادم Windows DNS في السجلات التحليلية. يخضع المخطط لقوائم المعلمات الرسمية وRFCs التي تحدد الحقول والقيم.
راجع قائمة حقول خادم Windows DNS المترجمة إلى أسماء الحقول التي تمت تسويتها.
في هذه المقالة، تعلمت كيفية إعداد أحداث Windows DNS عبر موصل AMA لتحميل البيانات وتصفية سجلات DNS في Windows. راجع المقالات التالية للتعرُّف على المزيد حول Microsoft Azure Sentinel:
- تعرف على طريقةالحصول على رؤية لبياناتك والتهديدات المحتملة.
- ابدأ في اكتشاف التهديدات باستخدام Microsoft Azure Sentinel.
- استخدم المصنفات لمراقبة بياناتك.