إدارة نتائج الثغرات الأمنية في قواعد بيانات Azure SQL
يوفر Microsoft Defender for Cloud تقييم الثغرات الأمنية لقواعد بيانات Azure SQL. يقوم تقييم الثغرات الأمنية بفحص قواعد البيانات بحثا عن الثغرات الأمنية في البرامج ويوفر قائمة بالنتائج. يمكنك استخدام النتائج لمعالجة الثغرات الأمنية في البرامج وتعطيل النتائج.
المتطلبات الأساسية
تأكد من أنك تعرف ما إذا كنت تستخدم التكوينات السريعة أو الكلاسيكية قبل المتابعة .
لمعرفة التكوين الذي تستخدمه:
- في مدخل Microsoft Azure، افتح المورد المحدد في قاعدة بيانات Azure SQL أو قاعدة بيانات المثيل المدار SQL أو Azure Synapse.
- ضمن العنوان "Security"، حدد Defender for Cloud.
- في حالة التمكين، حدد تكوين لفتح جزء إعدادات Microsoft Defender for SQL إما للخادم بأكمله أو المثيل المدار.
إذا أظهرت إعدادات الثغرة الأمنية خيار تكوين حساب تخزين، فأنت تستخدم التكوين الكلاسيكي. إذا لم يكن الأمر كما هو، فأنت تستخدم التكوين السريع.
التكوين السريع
عرض تاريخ المسح
حدد Scan History في جزء تقييم الثغرات الأمنية لعرض محفوظات جميع عمليات الفحص التي تم تشغيلها مسبقا على قاعدة البيانات هذه.
لا يخزن التكوين السريع نتائج الفحص إذا كانت متطابقة مع عمليات الفحص السابقة. وقت الفحص الموضح في محفوظات الفحص هو وقت الفحص الأخير الذي تغيرت فيه نتائج الفحص.
تعطيل نتائج محددة من Microsoft Defender for Cloud (إصدار أولي)
إذا كانت لديك حاجة تنظيمية لتجاهل نتيجة بدلا من إصلاحها، يمكنك تعطيل الاكتشاف. لا تؤثر النتائج المُعطلة على نقاطك الآمنة ولا تولد ضوضاء غير مرغوب فيها. يمكنك مشاهدة العثور على التعطيل في قسم "غير قابل للتطبيق" من نتائج الفحص.
عندما يطابق أحد النتائج المعايير التي حددتها في قواعد التعطيل، فلن يظهر في قائمة النتائج. قد تتضمن السيناريوهات النموذجية ما يلي:
- تعطيل النتائج بخطورة متوسطة أو أقل
- تعطيل النتائج التي لا يمكن الوصول إليها
- تعطيل النتائج من المعايير التي ليست ذات أهمية لنطاق محدد
هام
لتعطيل نتائج محددة، تحتاج إلى أذونات لتحرير نهج في Azure Policy. تعرف على المزيد في أذونات Azure RBAC في نهج Azure.
لإنشاء قاعدة:
من صفحة تفاصيل التوصيات لنتائج تقييم الثغرات الأمنية على خوادم SQL على الأجهزة يجب معالجتها، حدد تعطيل القاعدة.
حدد النطاق المناسب.
حدد المعايير الخاصة بك. يمكنك استخدام أي من المعايير التالية:
- العثور على الهوية
- الأهمية
- معايير
إنشاء قاعدة تعطيل لنتائج VA على خوادم SQL على الأجهزة
حدد تطبيق القاعدة. قد يستغرق سريان التغييرات ما يصل إلى 24 ساعة.
لعرض قاعدة أو تجاوزها أو حذفها:
- حدد تعطيل القاعدة.
- من قائمة النطاق، تظهر الاشتراكات ذات القواعد النشطة كقاعدة مطبقة.
- لعرض القاعدة أو حذفها، حدد قائمة القطع ("...").
تكوين إعلامات البريد الإلكتروني باستخدام Azure Logic Apps
لتلقي تحديثات منتظمة لحالة تقييم الثغرات الأمنية لقاعدة البيانات الخاصة بك، يمكنك استخدام قالب Azure Logic Apps القابل للتخصيص.
سيسمح لك استخدام القالب بما يلي:
- اختر توقيت تقارير البريد الإلكتروني.
- لديك طريقة عرض متسقة لحالة تقييم الثغرات الأمنية التي تتضمن قواعد معطلة.
- إرسال تقارير لخوادم Azure SQL وأجهزة SQL الظاهرية.
- تخصيص بنية التقرير ومظهره وأسلوبه ليتوافق مع معاييرك التنظيمية.
إدارة تقييمات الثغرات الأمنية برمجياً
يتم دعم التكوين السريع في أحدث إصدار من واجهة برمجة تطبيقات REST مع الوظائف التالية:
استخدام قوالب 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 SQL Server
- إعداد الخطوط الأساسية استنادا إلى أحدث نتائج الفحص لجميع قواعد البيانات في Azure SQL Server
- مرجع أوامر PowerShell للتكوين السريع
استخدام Azure CLI
استدعاء التكوين السريع باستخدام Azure CLI.
استكشاف الأخطاء وإصلاحها
العودة إلى التكوين الكلاسيكي
لتغيير قاعدة بيانات Azure SQL من تكوين تقييم الثغرات الأمنية السريعة إلى التكوين الكلاسيكي:
تعطيل خطة Defender for Azure SQL من مدخل Microsoft Azure.
استخدم 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.
- يتم عرض القواعد المعطلة في قسم "غير قابل للتطبيق" من نتائج الفحص.
لإنشاء قاعدة:
من صفحة تفاصيل التوصيات لنتائج تقييم الثغرات الأمنية على خوادم SQL على الأجهزة يجب معالجتها، حدد تعطيل القاعدة.
حدد النطاق المناسب.
حدد المعايير الخاصة بك. يمكنك استخدام أي من المعايير التالية:
- العثور على الهوية
- الأهمية
- معايير
حدد تطبيق القاعدة. قد يستغرق سريان التغييرات ما يصل إلى 24 ساعة.
لعرض قاعدة أو تجاوزها أو حذفها:
حدد تعطيل القاعدة.
من قائمة النطاق، تظهر الاشتراكات ذات القواعد النشطة كقاعدة مطبقة.
لعرض القاعدة أو حذفها، حدد قائمة القطع ("...").
إدارة تقييمات الثغرات الأمنية برمجياً
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"
]
}
]
}
}
المحتوى ذو الصلة
- تعرف على المزيد حول Microsoft Defender ل Azure SQL.
- تعرف على المزيد حول اكتشاف البيانات وتصنيفها.
- تعرف على المزيد حول تخزين نتائج فحص تقييم الثغرات الأمنية في حساب تخزين يمكن الوصول إليه خلف جدران الحماية والشبكات الظاهرية.
- تحقق من الأسئلة الشائعة حول قواعد بيانات Azure SQL.