C2 Audit في SQL Server ؟

by 28. شوال 1429 22:25

السلام عليكم ورحمة الله وبركاته ...

 

كمسؤول في مجال الحاسب الآلي، و خصوصاً الإنترنت، لم يعد هناك مجال للثقة في البرامج و لا مستخدمي النظام ... و لذلك تظهر الكثير من البرامج و التقنيات للوصول إلى أكبر حماية ممكنه ... و مع هذا كله، لابد للمسؤول مراقبة البرنامج أي كان ...

كمراقبة أقصد مراقبة الـ Logs الذي يتم انشائها من قبل البرنامج أو نظام التشغيل ... و ذلك للتأكد من الوصول الصحيح و المصرح له ...

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

في هذه التدوينة سوف أتكلم عن برنامج محرك قواعد البيانات MS SQL SERVER بالتحديد ... و تقوم SQL SERVER بتوفير العديد من الطرق للمراقبة و من أهمها و أكثرها قوة خيار C2 Audit.

ما هي C2 Audit؟

قامت وزارة الدفاع الأمريكية، بإصدار العديد من التصنيفات الموجهة إلى أمن برامج الحاسب الآلي، و قامت الوزارة باصدار مستوى C2 و الذي يحدد مجموعة من المعايير في أمن البرامج (من ناحية المراقبة Audit).

برنامج MS SQL Server 2000 و 2005 و 2008 هي برنامج معتمده على حسب مستوى C2 أي (C2 Certified).

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

 كما يذهب إلى الوصول إلى عناصر قواعد البيانات و تنفيذ جمل DDL و DML على مستوى قواعد البيانات.

و كل سجل حدث في C2 يحتوى على الوقت، اسم المستخدم الذي يخصه الحدث، اسم السيرفر، و نوع الحدث هل هو Success أو Failure و اسم قاعدة البيانات ... إلخ.

 

كيف تفعل C2 في MS SQL Server 2005؟

في Microsoft SQL Server Management Studio قم بالاتصال بالسيرفر المطلوب، و بزر الفأرة اليمين اختر خصائص Properties ...في النافذة التي ظهرت لك اختر Security ...

و من ثم في الاسفل قم باختيار Enable C2 Audit Tracing ... كما في الصورة.

الرجاء الضغط على الصورة لتكبيرها

 

و بعد ذلك تم تفعيل C2 Audit في قاعدة البيانات لديك ... و لابد لك من اعادة تشغيل Service الخاص بقاعدة البيانات ...

 

كيف تطلع على سجلات C2 Audit؟

يوجد طريقتين للاطلاع على سجلات C2 Audit ... الأولى و هي الأسهل و الأفضل بالنسبة لي و هي عن طريق SQL Server Profiler ...

اذهب إلى مكان وجود ملفات قواعد البيانات، و سوف تجد ملفات شبيهة بهذا الاسم audittrace_20080812.trc ... قم بفتح الملف و سوف تجد جميع السجلات كما في الشكل ادناه:

الرجاء الضغط على الصورة لتكبيرها

 

او للطريقة الأخرى ... قم بتنفيذ هذا الكود ...

SELECT *
 FROM ::fn_trace_gettable(
   'E:\DataFiles\audittrace20080727091914_15.trc', default
 )
GO

مع مراعاة تغيير مكان الملف و اسمه بما يناسبك ... كما يمكنك تغيير الاستعلام بما يناسبك و اختيار الحقول التي تريد كالتالي:

SELECT textdata, databasename, sessionloginname, applicationname, hostname
 FROM ::fn_trace_gettable(
   'E:\DataFiles\audittrace20080727091914_15.trc', default
 )
GO

كما يمكنك تحديد البحث عن جمل update كما في الاستعلام التالي:

SELECT textdata, databasename, sessionloginname, applicationname, hostname
 FROM ::fn_trace_gettable(
   'E:\DataFiles\audittrace20080727091914_15.trc', default
 )
WHERE textdata like '%update%'
GO

 

كما انه من الممكن تخزين هذه البيانات في MS SQL Server على شكل Table ... و تتخلص من الملفات ... بتنفيذ هذا الكود:

use TraceDB
Go

SELECT * INTO tb_trace
 FROM ::fn_trace_gettable(
   'E:\DataFiles\audittrace20080727091914.trc', default)
GO

و لكن هذا الجدول لن يوجد به معرف لكل سطر IDENTITY. لذلك من الأفضل استخدام الكود التالي:

use TraceDB
Go

SELECT IDENTITY(int, 1, 1) AS RowNumber, * INTO tb_trace
 FROM ::fn_trace_gettable(
   'E:\DataFiles\audittrace20080727091914.trc', default)
GO

 

تطبعاً ستقوم بتغيير اسم قاعدة البيانات من TraceDB إلى اسم قاعدة البيانات التي تود تخزين المعلومات فيها ...

و سيكون الجدول tb_trace بدون index، لذلك من الافضل لك اضافة index لهذا الجدول لتسريع عمليات الاستعلام...

 

ملاحظة: تفعيل خاصية C2 Audit من الممكن أن تؤثر على أداء قواعد البيانات لديك و ذلك بسبب انها تجمع كل المعلومات عن قواعد البيانات ... و تذكر أن أمن المعلومات يتناسب عكسياً مع الأداء ... فقم بموازنة احتياجاتك ...

الأمر الآخر، انتبه لحجم هذه الملفات، فمن الممكن ان تقوم بملئ محرك الاقراص Hard Disk لديك اذا كان التفاعل كبير في قواعد البيانات لديك ...

 

اتمنى ان يكون الدرس مفيد ...

تحياتي ... طلال الحضبي ...

 

المراجع:

http://www.sqlservercentral.com/articles/Monitoring/basicsofc2auditing/1547/

http://www.microsoft.com/technet/archive/winntas/maintain/security/c2secgde.mspx?mfr=true

 

البطاقات: , , , ,

التصنيفات: SQL Server | Information Security | Database

اضف تعليق


(سيظهر Gravatar أيقونة)

  Country flag

biuquote
  • تعليق
  • استعراض
Loading



أحدث التعليقات

Comment RSS