إدارة نتائج الثغرات الأمنية في قواعد بيانات Azure SQL

يوفر Microsoft Defender for Cloud تقييم الثغرات الأمنية لقواعد بيانات Azure SQL. يقوم تقييم الثغرات الأمنية بفحص قواعد البيانات بحثا عن الثغرات الأمنية في البرامج ويوفر قائمة بالنتائج. يمكنك استخدام النتائج لمعالجة الثغرات الأمنية في البرامج وتعطيل النتائج.

المتطلبات الأساسية

تأكد من أنك تعرف ما إذا كنت تستخدم التكوينات السريعة أو الكلاسيكية قبل المتابعة .

لمعرفة التكوين الذي تستخدمه:

  1. في مدخل Microsoft Azure، افتح المورد المحدد في قاعدة بيانات Azure SQL أو قاعدة بيانات المثيل المدار SQL أو Azure Synapse.
  2. ضمن العنوان "Security"، حدد Defender for Cloud.
  3. في حالة التمكين، حدد تكوين لفتح جزء إعدادات Microsoft Defender for SQL إما للخادم بأكمله أو المثيل المدار.

إذا أظهرت إعدادات الثغرة الأمنية خيار تكوين حساب تخزين، فأنت تستخدم التكوين الكلاسيكي. إذا لم يكن الأمر كما هو، فأنت تستخدم التكوين السريع.

التكوين السريع

عرض تاريخ المسح

حدد Scan History في جزء تقييم الثغرات الأمنية لعرض محفوظات جميع عمليات الفحص التي تم تشغيلها مسبقا على قاعدة البيانات هذه.

لا يخزن التكوين السريع نتائج الفحص إذا كانت متطابقة مع عمليات الفحص السابقة. وقت الفحص الموضح في محفوظات الفحص هو وقت الفحص الأخير الذي تغيرت فيه نتائج الفحص.

تعطيل نتائج محددة من Microsoft Defender for Cloud (إصدار أولي)

إذا كانت لديك حاجة تنظيمية لتجاهل نتيجة بدلا من إصلاحها، يمكنك تعطيل الاكتشاف. لا تؤثر النتائج المُعطلة على نقاطك الآمنة ولا تولد ضوضاء غير مرغوب فيها. يمكنك مشاهدة العثور على التعطيل في قسم "غير قابل للتطبيق" من نتائج الفحص.

عندما يطابق أحد النتائج المعايير التي حددتها في قواعد التعطيل، فلن يظهر في قائمة النتائج. قد تتضمن السيناريوهات النموذجية ما يلي:

  • تعطيل النتائج بخطورة متوسطة أو أقل
  • تعطيل النتائج التي لا يمكن الوصول إليها
  • تعطيل النتائج من المعايير التي ليست ذات أهمية لنطاق محدد

هام

لتعطيل نتائج محددة، تحتاج إلى أذونات لتحرير نهج في Azure Policy. تعرف على المزيد في أذونات Azure RBAC في نهج Azure.

لإنشاء قاعدة:

  1. من صفحة تفاصيل التوصيات لنتائج تقييم الثغرات الأمنية على خوادم SQL على الأجهزة يجب معالجتها، حدد تعطيل القاعدة.

  2. حدد النطاق المناسب.

  3. حدد المعايير الخاصة بك. يمكنك استخدام أي من المعايير التالية:

    • العثور على الهوية
    • الأهمية
    • معايير
  4. إنشاء قاعدة تعطيل لنتائج VA على خوادم SQL على الأجهزة

  5. حدد تطبيق القاعدة. قد يستغرق سريان التغييرات ما يصل إلى 24 ساعة.

  6. لعرض قاعدة أو تجاوزها أو حذفها:

    1. حدد تعطيل القاعدة.
    2. من قائمة النطاق، تظهر الاشتراكات ذات القواعد النشطة كقاعدة مطبقة.
    3. لعرض القاعدة أو حذفها، حدد قائمة القطع ("...").

تكوين إعلامات البريد الإلكتروني باستخدام Azure Logic Apps

لتلقي تحديثات منتظمة لحالة تقييم الثغرات الأمنية لقاعدة البيانات الخاصة بك، يمكنك استخدام قالب Azure Logic Apps القابل للتخصيص.

سيسمح لك استخدام القالب بما يلي:

  • اختر توقيت تقارير البريد الإلكتروني.
  • لديك طريقة عرض متسقة لحالة تقييم الثغرات الأمنية التي تتضمن قواعد معطلة.
  • إرسال تقارير لخوادم Azure SQL وأجهزة SQL الظاهرية.
  • تخصيص بنية التقرير ومظهره وأسلوبه ليتوافق مع معاييرك التنظيمية.

إدارة تقييمات الثغرات الأمنية برمجياً

يتم دعم التكوين السريع في أحدث إصدار من واجهة برمجة تطبيقات REST مع الوظائف التالية:

‏‏الوصف Scope واجهة برمجة التطبيقات (API)
العمليات المجمعة للأساس قاعدة بيانات النظام خطوط الأساس لتقييم الثغرات الأمنية في Sql
أساس تقييم الثغرات الأمنية في Sql
العمليات المجمعة للأساس قاعدة بيانات المستخدم أساسات تقييم ثغرات قاعدة بيانات Sql
عمليات الأساس لقاعدة واحدة قاعدة بيانات المستخدم خطوط الأساس لقاعدة تقييم الثغرات الأمنية لقاعدة بيانات Sql
عمليات الأساس لقاعدة واحدة قاعدة بيانات النظام خطوط الأساس لقاعدة تقييم الثغرات الأمنية في Sql
أساس قاعدة تقييم الثغرات الأمنية في Sql
نتائج المسح الضوئي الفردي قاعدة بيانات المستخدم نتيجة فحص تقييم الثغرات الأمنية لقاعدة بيانات Sql
نتائج المسح الضوئي الفردي قاعدة بيانات النظام نتيجة فحص تقييم الثغرات الأمنية في Sql
تفاصيل الفحص (ملخص) قاعدة بيانات المستخدم عمليات فحص تقييم الثغرات الأمنية لقاعدة بيانات Sql
تفاصيل الفحص (ملخص) قاعدة بيانات النظام عمليات فحص تقييم الثغرات الأمنية في Sql
تنفيذ الفحص اليدوي قاعدة بيانات المستخدم تنفيذ فحص تقييم الثغرات الأمنية لقاعدة بيانات Sql
تنفيذ الفحص اليدوي قاعدة بيانات النظام فحص تنفيذ تقييم الثغرات الأمنية في Sql
إعدادات VA (يتم دعم GET فقط للتكوين السريع) قاعدة بيانات المستخدم إعدادات تقييمات الثغرات الأمنية لقاعدة بيانات Sql
عمليات إعدادات VA الخادم إعدادات تقييمات الثغرات الأمنية في Sql
تقييمات الثغرات الأمنية في Sql

استخدام قوالب Azure Resource Manager

استخدم قالب ARM التالي لإنشاء Azure SQL Logical Server جديد مع تكوين سريع لتقييم الثغرات الأمنية SQL.

لتكوين خطوط أساس تقييم الثغرات الأمنية باستخدام قوالب Azure Resource Manager، استخدم Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines النوع . تأكد من تمكين ذلك vulnerabilityAssessments قبل إضافة خطوط الأساس.

فيما يلي عدة أمثلة حول كيفية إعداد الخطوط الأساسية باستخدام قوالب ARM:

  • إعداد أساس الدفعة استنادا إلى أحدث نتائج الفحص:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]",
        "properties": {
            "latestScan": true
            }
    }
    
  • إعداد أساس الدفعة استنادا إلى نتائج محددة:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default')]",
        "properties": {
            "latestScan": false,
            "results": {
            "VA2065": [
                [
                     "FirewallRuleName3",
                         "62.92.15.67",
                         "62.92.15.67"
                ],
                [
                     "FirewallRuleName4",
                         "62.92.15.68",
                         "62.92.15.68"
                ]
            ],
            "VA2130": [
                [
                     "dbo"
                ]
            ]
         }
      }
    }
    
  • إعداد الأساس لقاعدة معينة:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines/rules",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/', parameters('databaseName') , '/default/default/VA1143')]",
        "properties": {
        "latestScan": false,
        "results": [
            [ "True" ]
            ]
        }
    }
    
  • إعداد خطوط الأساس الدفعية على قاعدة البيانات الرئيسية استنادا إلى أحدث نتائج الفحص:

    {
        "type": "Microsoft.Sql/servers/databases/sqlVulnerabilityAssessments/baselines",
        "apiVersion": "2022-02-01-preview",
        "name": "[concat(parameters('serverName'),'/master/default/default')]",
        "properties": {
            "latestScan": true
            }
    }
    

استخدام PowerShell

التكوين السريع غير مدعوم في PowerShell cmdlets ولكن يمكنك استخدام PowerShell لاستدعاء أحدث قدرات تقييم الثغرات الأمنية باستخدام واجهة برمجة تطبيقات REST، على سبيل المثال:

استخدام Azure CLI

استدعاء التكوين السريع باستخدام Azure CLI.

استكشاف الأخطاء وإصلاحها

العودة إلى التكوين الكلاسيكي

لتغيير قاعدة بيانات Azure SQL من تكوين تقييم الثغرات الأمنية السريعة إلى التكوين الكلاسيكي:

  1. تعطيل خطة Defender for Azure SQL من مدخل Microsoft Azure.

  2. استخدم PowerShell لإعادة التكوين باستخدام التجربة الكلاسيكية:

    Update-AzSqlServerAdvancedThreatProtectionSetting `
                -ResourceGroupName "demo-rg" `
                -ServerName "dbsrv1" `
                -Enable 1
    Update-AzSqlServerVulnerabilityAssessmentSetting `
                -ResourceGroupName "demo-rg" `
                -ServerName "dbsrv1" `
                -StorageAccountName "mystorage" `
                -RecurringScansInterval Weekly `
                -ScanResultsContainerName "vulnerability-assessment"
    

    قد تضطر إلى تعديل Update-AzSqlServerVulnerabilityAssessmentSetting وفقا لنتائج فحص تقييم الثغرات الأمنية في المتجر في حساب تخزين يمكن الوصول إليه خلف جدران الحماية والشبكات الظاهرية.

Errors

"تم تمكين تقييم الثغرات الأمنية على هذا الخادم أو إحدى قواعد البيانات الأساسية الخاصة به بإصدار غير متوافق"

الأسباب المحتملة:

  • فشل التبديل إلى التكوين السريع بسبب خطأ في نهج الخادم.

    الحل: حاول مرة أخرى لتمكين التكوين السريع. إذا استمرت المشكلة، فحاول تعطيل Microsoft Defender for SQL في مورد Azure SQL، وحدد Save، وقم بتمكين Microsoft Defender for SQL مرة أخرى، وحدد Save.

  • فشل التبديل إلى التكوين السريع بسبب خطأ في نهج قاعدة البيانات. نهج قاعدة البيانات غير مرئية في مدخل Microsoft Azure لتقييم الثغرات الأمنية ل Defender for SQL، لذلك نتحقق منها أثناء مرحلة التحقق من الصحة للتبديل إلى التكوين السريع.

    الحل: قم بتعطيل جميع نهج قاعدة البيانات للخادم ذي الصلة ثم حاول التبديل إلى التكوين السريع مرة أخرى.

  • ضع في اعتبارك استخدام برنامج PowerShell النصي المقدم للحصول على المساعدة.

التكوين الكلاسيكي

عرض تاريخ المسح

حدد Scan History في جزء تقييم الثغرات الأمنية لعرض محفوظات جميع عمليات الفحص التي تم تشغيلها مسبقا على قاعدة البيانات هذه.

تعطيل نتائج محددة من Microsoft Defender for Cloud (إصدار أولي)

إذا كان لديك حاجة تنظيمية لتجاهل نتيجة، بدلاً من معالجتها، يمكنك تعطيلها اختيارياً. لا تؤثر النتائج المُعطلة على نقاطك الآمنة ولا تولد ضوضاء غير مرغوب فيها.

عندما يطابق أحد النتائج المعايير التي حددتها في قواعد التعطيل، فلن يظهر في قائمة النتائج. قد تتضمن السيناريوهات النموذجية ما يلي:

  • تعطيل النتائج بخطورة متوسطة أو أقل
  • تعطيل النتائج التي لا يمكن الوصول إليها
  • تعطيل النتائج من المعايير التي ليست ذات أهمية لنطاق محدد

هام

  • لتعطيل نتائج محددة، تحتاج إلى أذونات لتحرير نهج في Azure Policy. تعرف على المزيد في أذونات Azure RBAC في نهج Azure.
  • ستظل النتائج المعطلة مدرجة في تقرير البريد الإلكتروني الأسبوعي لتقييم الثغرات الأمنية في SQL.
  • يتم عرض القواعد المعطلة في قسم "غير قابل للتطبيق" من نتائج الفحص.

لإنشاء قاعدة:

  1. من صفحة تفاصيل التوصيات لنتائج تقييم الثغرات الأمنية على خوادم SQL على الأجهزة يجب معالجتها، حدد تعطيل القاعدة.

  2. حدد النطاق المناسب.

  3. حدد المعايير الخاصة بك. يمكنك استخدام أي من المعايير التالية:

    • العثور على الهوية
    • الأهمية
    • معايير

    لقطة شاشة لإنشاء قاعدة تعطيل لنتائج VA على خوادم SQL على الأجهزة.

  4. حدد تطبيق القاعدة. قد يستغرق سريان التغييرات ما يصل إلى 24 ساعة.

  5. لعرض قاعدة أو تجاوزها أو حذفها:

    1. حدد تعطيل القاعدة.

    2. من قائمة النطاق، تظهر الاشتراكات ذات القواعد النشطة كقاعدة مطبقة.

      لقطة شاشة لتعديل قاعدة موجودة أو حذفها.

    3. لعرض القاعدة أو حذفها، حدد قائمة القطع ("...").

إدارة تقييمات الثغرات الأمنية برمجياً

Azure PowerShell

إشعار

تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

هام

لا تزال الوحدة النمطية PowerShell Azure Resource Manager مدعومة، ولكن جميع التطويرات المستقبلية تكون للوحدة النمطية Az.Sql. بالنسبة إلى أوامر cmdlets، راجع AzureRM.Sql. تتطابق وسائط الأوامر في الوحدة النمطية Az وفي الوحدات النمطية AzureRm بشكل كبير.

يمكنك استخدام أوامر Azure PowerShell cmdlets لإدارة تقييمات الثغرات الأمنية برمجياً. أوامر cmdlets المدعومة هي:

اسم Cmdlet كارتباط ‏‏الوصف
Clear-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline مسح خط الأساس لقاعدة تقييم الثغرات الأمنية.
أولاً، قم بتعيين الخط الأساسي قبل استخدام الأمر cmdlet لمسحه.
Clear-AzSqlDatabaseVulnerabilityAssessmentSetting يمسح إعدادات تقييم الثغرات الأمنية لقاعدة البيانات.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline مسح القاعدة الأساسية لتقييم الثغرات الأمنية لقاعدة البيانات المُدارة.
أولاً، قم بتعيين الخط الأساسي قبل استخدام الأمر cmdlet لمسحه.
Clear-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting يمسح إعدادات تقييم الثغرات الأمنية لقاعدة البيانات المُدارة.
Clear-AzSqlInstanceVulnerabilityAssessmentSetting يمسح إعدادات تقييم الثغرات الأمنية لمثيل مُدار.
Convert-AzSqlDatabaseVulnerabilityAssessmentScan تحويل نتائج فحص تقييم الثغرات الأمنية لقاعدة بيانات إلى ملف Excel (تصدير).
Convert-AzSqlInstanceDatabaseVulnerabilityAssessmentScan تحويل نتائج فحص تقييم الثغرات الأمنية لقاعدة بيانات مدارة إلى ملف Excel (تصدير).
Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline الحصول على خط الأساس لقاعدة تقييم الثغرات الأمنية لقاعدة بيانات لقاعدة معينة.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline الحصول على خط الأساس لقاعدة تقييم الثغرات الأمنية لقاعدة بيانات مُدارة لقاعدة معينة.
Get-AzSqlDatabaseVulnerabilityAssessmentScanRecord يحصل على جميع سجلات فحص تقييم الثغرات الأمنية المرتبطة بقاعدة بيانات معينة.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentScanRecord يحصل على جميع سجلات فحص تقييم الثغرات الأمنية المرتبطة بقاعدة بيانات مُدارة معينة.
Get-AzSqlDatabaseVulnerabilityAssessmentSetting تُرجع إعدادات تقييم الثغرات الأمنية لقاعدة بيانات.
Get-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting تُرجع إعدادات تقييم الثغرات الأمنية لقاعدة بيانات مُدارة.
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline يحدد خط الأساس لقاعدة تقييم الثغرات الأمنية.
Set-AzSqlInstanceDatabaseVulnerabilityAssessmentRuleBaseline يعيّن الأساس الأساسي لقاعدة تقييم الثغرات الأمنية لقاعدة بيانات مُدارة.
Start-AzSqlDatabaseVulnerabilityAssessmentScan يؤدي إلى بدء فحص تقييم الثغرات الأمنية في قاعدة بيانات.
Start-AzSqlInstanceDatabaseVulnerabilityAssessmentScan يؤدي إلى بدء فحص تقييم الثغرات الأمنية في قاعدة بيانات مُدارة.
Update-AzSqlDatabaseVulnerabilityAssessmentSetting يحدّث إعدادات تقييم الثغرات الأمنية لقاعدة البيانات.
Update-AzSqlInstanceDatabaseVulnerabilityAssessmentSetting يحدّث إعدادات تقييم الثغرات الأمنية لقاعدة البيانات المُدارة.
Update-AzSqlInstanceVulnerabilityAssessmentSetting يحدّث إعدادات تقييم الثغرات الأمنية لمثيل مُدار.

للحصول على مثال البرنامج النصي، راجع دعم PowerShell لتقييم الثغرات الأمنية في Azure SQL.

Azure CLI

هام

أوامر Azure CLI التالية مخصصة لقواعد بيانات SQL المستضافة على الأجهزة الظاهرية أو الأجهزة المحلية. للحصول على تقييمات الثغرات الأمنية المتعلقة بقواعد بيانات Azure SQL، راجع مدخل Microsoft Azure أو قسم PowerShell.

يمكنك استخدام أوامر Azure CLI لإدارة تقييمات الثغرات الأمنية برمجياً. الأوامر المدعومة هي:

اسم الأمر كارتباط ‏‏الوصف
az security va sql baseline delete حذف أساس قاعدة تقييم الثغرات الأمنية SQL.
az security va sql baseline list عرض أساس تقييم الثغرات الأمنية في SQL لجميع القواعد.
az security va sql baseline set تعيين أساس تقييم الثغرات الأمنية SQL. يستبدل خط الأساس الحالي.
az security va sql baseline show عرض أساس قاعدة تقييم الثغرات الأمنية SQL.
az security va sql baseline update تحديث أساس قاعدة تقييم الثغرات الأمنية SQL. يستبدل خط الأساس الحالي للقاعدة.
az security va sql results list عرض جميع نتائج فحص تقييم الثغرات الأمنية SQL.
az security va sql results show عرض نتائج فحص تقييم الثغرات الأمنية في SQL.
az security va sql scans list سرد جميع ملخصات فحص تقييم الثغرات الأمنية SQL.
az security va sql scans show عرض ملخصات فحص تقييم الثغرات الأمنية في SQL.

قوالب Azure Resource Manager

لتكوين خطوط أساس تقييم الثغرات الأمنية باستخدام قوالب Azure Resource Manager، استخدم Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines النوع .

تأكد من تمكينك vulnerabilityAssessments قبل إضافة خطوط الأساس.

فيما يلي مثال لتعريف قاعدة الأساس VA2065 إلى master قاعدة البيانات وVA1143 إلى user قاعدة البيانات كموارد في قالب Resource Manager:

   "resources": [
      {
         "type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
         "name": "[concat(parameters('server_name'),'/', parameters('database_name') , '/default/VA2065/master')]",
         "properties": {
            "baselineResults": [
               {
                  "result": [
                     "FirewallRuleName3",
                     "StartIpAddress",
                     "EndIpAddress"
                  ]
               },
               {
                  "result": [
                     "FirewallRuleName4",
                     "62.92.15.68",
                     "62.92.15.68"
                  ]
               }
            ]
         },
         "type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
         "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2130/Default')]",
         "dependsOn": [
            "[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
         ],
         "properties": {
            "baselineResults": [
               {
                  "result": [
                     "dbo"
                  ]
               }
            ]
         }
      }
   ]

بالنسبة لقاعدة master البيانات وقاعدة user البيانات، يتم تعريف أسماء الموارد بشكل مختلف:

  • قاعدة البيانات الرئيسية - "الاسم": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
  • قاعدة بيانات المستخدم - "الاسم": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",

للتعامل مع الأنواع المنطقية على أنها صواب / خطأ، قم بتعيين النتيجة الأساسية باستخدام إدخال ثنائي مثل "1" / "0".

   {
      "type": "Microsoft.Sql/servers/databases/vulnerabilityapiVersion": "2018-06-01",
      "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA1143/Default')]",

      "dependsOn": [
         "[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
      ],

      "properties": {
         "baselineResults": [
            {
               "result": [
                  "1"
               ]
            }
         ]
      }

   }