هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

3 مشترك

    وسائل حماية أمن قواعد البيانات

    نور
    نور


    عدد المساهمات : 30
    نقاط : 72
    تاريخ التسجيل : 09/07/2010
    العمر : 34
    الموقع : http://www.nabras2007.p2h.info/vb/index.php

    وسائل حماية أمن قواعد البيانات Empty وسائل حماية أمن قواعد البيانات

    مُساهمة من طرف نور الأربعاء يوليو 28, 2010 4:10 am

    التهيئة و الضبط المناسبة للنظام:

    1) إن التهيئة و الضبط الخاطئة لنظام قواعد البيانات من الأمور التي قد تعرض النظام لثغرات أمنية خطيرة جدا، و هنا سنذكر بعض الخطوات المهمة أثناء هذه العملية:

    * التأكد من إالغاء أو تغيير جميع الحسابات (أو أسماء المستخدمين( الإفتراضية التي تنشأ أثناء عملية تنصيب النظام، ومن الأمثلة على هذه الحسابات الحساب المعروف في نظام قواعد البيانات أوراكل (Scott/tiger).

    * عدم قبول طلبات الإتصال من جهات غير موثوقة (Anonymous)، بل يجب إذا أمكن من تحديد عناوين شبكية للجهات الموثوقة (Trusted IP addresses).

    * ضبط الحد الأقصى للمحاولات الفاشلة للدخول للنظام، فعلى سبيل المثال بعد ثلاثة محاولات فاشلة للدخول فإن النظام لن يقبل المحاولات التالية من نفس الجهة. وذلك للمنع من إستخدام طريقة التخمين لكلمة المرور عن طريق القوة العمياء (Brute Force).

    * تعطيل إذا أمكن الأمر الشبكي Ping والذي يوجد في برتوكل رسالة التحكم بالإنترنت (ICMP) و ذلك بعدم السماح للجهاز الخادم الذي يحتوي على نظام قواعد البيانات من الرد لطلبات هذا الأمر. وهذا يؤدي إلى فائدتين:

    أ‌- عدم تمكين محاولة إغراق أو تعطيل النظام (Denial of Service) عن طريق الإستخدام السئ للأمر.

    ب‌- غالبا ماتكون الخطوة الأولى للمخترقين هي إستخدام هذا الأمر لمعرفة ما إذا هنالك جهاز يعمل تحت عنوان شبكي معين أم لا.
    كما في الشكل 1 فإن الرد القادم يدل على أنه يوجد جهاز يعمل تحت العنوان 127.0.0.1.

    [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

    2) تحديث النظام:

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

    ) إستخدام وسائل تحديد صلاحيات الإستخدام ((Access Control Methods المناسبة:

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

    أ‌- ضبط الوصول الإلزامي (Mandatory Access Control):

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

    تستخدم غالبا هذه الطريقة في التطبيقات العسكرية، حيث من المألوف أن نجد التصنيف سري (Secret) و سري للغاية (Top Secret).

    ب‌- ضبط الوصول المرتكز على الدور(Role Based Access Control):

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

    ت‌- ضبط الوصول الإختياري (Discretionary Access Control):

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

    وكمثال على هذه الطريقة في نظم قواعد البيانات يمكن إستخدام الأمر Grant لإعطاء الصلاحيات لمستخدم معين مع القدرة على تمكينه من منح هذه الصلاحيات لمستخدمين آخرين. وسنعرض مثال على ذلك:

    * Grant Select on Employee_Table to Mohammed;

    فعند تنفيذ هذا الأمر من قبل المستخدم Admin فإنه سوف يعطي المستخدم Mohammed صلاحية تنفيذ الأمر Select على الجدول Employee_Table، و لتمكين المستخدم Mohammed من منح هذه الصلاحيات لمستخدمين آخرين يمكن إضافة الكلمة "with Grant Option" ليصبح الأمر كالتالي:

    * Grant Select on Employee_Table to Mohammed with Grant Option;

    الآن يمكن للمستخدم Mohammed من إعطاء نفس الصلاحية للمستخدم Ali.

    4) إستخدام الحلول الأمنية الأخرى:

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

    5) منع أساليب التحايل و الإستخدام السئ للنظام:

    كون أن النظام يعمل خلف جدار ناري أو أنظمة أمنية فعالة فإن ذلك لا يعني أنه لا يوجد ثغرات يمكن الإستفادة منها للوصول للبيانات. و كمثال على هذه الأساليب يوجد طريقة تعرف بحقن أوامر اللغة الإستفسارية المركبة (SQL Injection) الخاصة بقواعد البيانات،حيث تقوم هذه الطريقة بمحاولة تعديل الأمر المرسل من خادم الويب إلى قاعدة البيانات.

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

    [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

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

    String sql = new String("Select * From WebUsers Where Username="' +

    request.getParameter("username") + "' And Password="' +

    request.getParameter("password") + " ' "

    وبعد تنفيذ هذا الأمر سيتم إرساله إلى قاعدة البيانات بهذا الشكل:

    Select * From WebUsers Where Username='Admin' And Password='Qjsid75#=@='

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

    بدلا عن إدخال كلمة السر يمكن إدخال الجملة: Aa' OR 'A'='A

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

    Select * From WebUsers Where Username= 'Admin' And Password='Aa' OR 'A'='A'

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

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

    6) تدقيق البيانات الموجودة في سجلات النظام (Auditing):

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

    7) تشفير البيانات الحساسة:

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

    ويوجد هنالك ثلاثة طرق لتشفير قواعد البيانات:

    أ‌- تشفير على مستوى ملفات قواعد البيانات:

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

    ب‌- تشفير على مستوى أعمدة الجداول في قواعد البيانات:

    في هذه الطريقة يتم تشفير الحقول في جداول البيانات بناء على الأعمدة التي تنتمي إليها.

    ت‌- تشفير على مستوى البرنامج التطبيقي الذي يستخدم قواعد البيانات:

    في هذه الطريقة يتم تشفير البيانات بواسطة البرنامج التطبيقي و ليس عن طريق نظام قواعد البيانات، فقبل تخزين البيانات يقوم البرنامج بنفسه بتشفير البيانات.

    عملية تشفير البيانات ليس حل أساسي أو مطلق و إنما يجب إستخدامه في الحالات التالية:

    1) منع الوصول الغير شرعي للبيانات أو تخفيف مخاطر سرقة الملفات التي تحتوي هذه البيانات.

    2) حماية أرقام البطاقات الإئتمانية.

    3) منع المستخدمين المصرح لهم من عرض البيانات الخاصة غير المخولين برؤيتها.

    4) إستيفاء المعاهدات التنظيمية أو الشروط التعاقدية.




    avatar
    ashraf80


    عدد المساهمات : 2
    نقاط : 2
    تاريخ التسجيل : 31/10/2011
    العمر : 43

    وسائل حماية أمن قواعد البيانات Empty رد: وسائل حماية أمن قواعد البيانات

    مُساهمة من طرف ashraf80 الثلاثاء نوفمبر 01, 2011 1:41 pm

    شششششششششششششششششكككككككككككككرررررررااااااااا
    avatar
    Student Master


    عدد المساهمات : 1
    نقاط : 1
    تاريخ التسجيل : 05/12/2011
    العمر : 39

    وسائل حماية أمن قواعد البيانات Empty رد: وسائل حماية أمن قواعد البيانات

    مُساهمة من طرف Student Master الإثنين ديسمبر 05, 2011 11:29 am

    الاخ نور
    الله يوفقك ممكن تشرح اكثر عن كيفية Role Based Database Security .
    اذا اريد ان اعمل مقارنة بين role in access and role in MySQL
    وماهو الفرق بينهم
    جزاك الله خير

      الوقت/التاريخ الآن هو الخميس مايو 02, 2024 11:47 am