مهم جدا للاصحاب الاستضافات و اصحاب المواقع

اليوم وبعد ان مر على انتقالي الى نظام جنو/لينكس شهر :icon30: جالس افرفر لقيت موضوع اكثر من راقي ومهم جدا انشاء الله يكون غير متكرر اقتباس: الكاتب عبدالمهيمن

النتائج 1 إلى 2 من 2
  1. رقم #1
     New12[1]  العنوان : مهم جدا للاصحاب الاستضافات و اصحاب المواقع
    بتاريخ : 29 Aug 2009 الساعة : 02:21 AM

    طيب شرف 1


    الصورة الرمزية حلال المشاكل

    رقم العضوية : 34
    الانتساب : Jun 2004
    المشاركات : 3,823
    بمعدل : 0.77 يوميا
    معدل تقييم المستوى : 998
    التقييم : Array
    حلال المشاكل غير متصل



    اليوم وبعد ان مر على انتقالي الى نظام جنو/لينكس شهر :icon30: جالس افرفر لقيت موضوع اكثر من راقي ومهم جدا انشاء الله يكون غير متكرر

    اقتباس:
    شرح PHPIDS لحماية سكريبتات PHP من الثغرات الكاتب عبدالمهيمن الثلاثاء, 25 أغسطس 2009 00:54 شرح استخدام PHPIDS وهو PHP Intrusion Detection System يستخدم لعمل طبقة حماية على سكريبتات PHP المختلفة وحمايتها بشكل شبه كامل من الثغرات التي يقع فيها المبرمجين مثل RFI/LFI , XSS , SQL Injection حتى قبل اكتشافها!

    مقدمة:

    للاصحاب الاستضافات اصحاب المواقع phpids.png
    تعتبر لغة PHP أكثر لغات البرمجة استخداماً في برمجة سكريبتات وتطبيقات الويب ويمكننا اعتبارها اللّغة الأساسية في وقتنا الحالي. شهرة لغة PHP الكبيرة وعدد السكريبتات المبرمجة باستخدامها دفع الكثير من الهاكرز لتركيز جهودهم على هذه اللغة وثغراتها (ان كانت ثغرات مفسّر php نفسه أو الثغرات التي يقع فيها المبرمجين عند برمجة السكريبتات).
    سأشرح في هذا المقال كيفة استخدام PHPIDS لحماية السكريبتات من بعض الثغرات التي يقع فيها المبرمجين مثل Remote/Local file include , XSS , SQL Injection...

    ماهو PHPIDS:

    PHP-IDS هو اختصار لـ PHP-Intrusion Detection System مبرمج بلغة PHP ومرخّص تحت رخصة GNU Lesser General Public License مهمته حماية السكريبتات المبرمجة بهذه اللغة من الثغرات حيث يعمل PHPIDS كطبقة حماية اضافية يتأكد فيها من مدخلات المستخدم وجميع المعلومات المرسلة والمستقبلة قبل تمريرها للسكريبت الأساسي عن طريق مقارنتها بمجموعة قواعد مخزّنة مسبقاً بملف XML, فاذا قام أحد المهاجمين بارسال طلب بغرض استغلال ثغرة SQL Injection مثلاً سيتعرّف PHPIDS على ذلك ويمنع تمرير طلبه للسكريبت.

    بماذا يختلف PHPIDS عن غيره من طبقات الحماية مثل mod_security:

    كما قلت سابقا PHPIDS مبرمج بلغة PHP هذا يعني أننا قادرين استخدامه بسهولة مع سكريبتات PHP كما يمكننا تضمينه بأساس السكريبتات التي نبرمجها اذا كانت مفتوحة المصدر بعد قيامنا بالتعديلات المناسبة. ما يميّزه عن mod_security هو أن تنصيبه واستخدامه لا يحتاج لتركيب أي اضافات أو تعديل على اعدادات الويب سيرفر وبذلك نستطيع استخدامه في الاستضافات المشتركة التي لا نملك فيها صلاحيات تمكننا من التعديل على اعدادت السيرفر, فكما نعلم mod_security هو اضافة لسيرفر Apache وبهذه الحالة نحن بحاجة لصلاحيات root حتى نتمكن من تنصيبه واعداده على السيرفر وهذا لا يتوفّر دائما.

    المتطلبات:
    1. ويب سيرفر جاهز للعمل يستخدم اصدار PHP 5.1.6.
    2. معرفة بعض الأساسيات في لغة PHP على الأقل.
    التنصيب والاستخدام:

    تم تنفيذ هذا الشرح على سيرفر محلي (localhost) يستخدم توزيعة Fedora ومسار الجذر المستخدم في الويب سيرفر:
    /var/www/html
    الآن نبدأ بالتوجه لصفحة التحميل:
    http://php-ids.org/downloads/ونحمّل آخر اصدار متوفّر من PHPIDS (الاصدار الحالي: 6.1.1) باستخدام wget:
    wget http://php-ids.org/files/phpids-0.6.1.1.tar.gzنفك ضغطه باستخدام الأمر:
    tar xfz phpids-0.6.1.1.tar.gzثم ننقل المجلد phpids-0.6.1.1 الى المسار:
    /var/htmlباستخدام الأمر التالي:
    mv phpids-0.6.1.1/ /var/www/ما يهمنا الآن هو المجلد:
    /var/www/phpids-0.6.1.1/lib/IDSالذي يحتوي على ملفات PHPIDS لذلك نتوجّه لذلك المجلد وننفذ الأمر ls لاستعراض محتوياته:
    Caching default_filter.json Filter Log tmp
    Config default_filter.xml Filter.php Monitor.php vendors
    Converter.php Event.php Init.php Report.php
    الملفين default_filter.json و default_filter.xml يحتويان على القواعد التي يتحقق منها PHPIDS وهذه الملفات تتحدث بشكل مستمر. سنعتمد على ملف XML ونتجاهل الملف الثاني لأنه يحتوي على نفس القواعد لكن بتنسيق مختلف, ما سنقوم به الآن هو تحديث ملف default_filter.xml.

    في البداية نأخذ نسخة احتياطية من ملف default_filter.xml:
    mv default_filter.xml default_filter.xml.bakثم نحمّل الاصدار الجديد باستخدام الأمر:
    wget --no-check-certificate https://svn.php-ids.org/svn/trunk/li...filter.xmlالآن سنبدأ باعداد PHPIDS وذلك بالتعديل على الملف:
    nano /var/www/phpids-0.6.1.1/lib/IDS/Config/Config.iniسنضع في السطر 12 المسار الكامل لـ PHPIDS بهذا الشكل:
    base_path = /var/www/phpids-0.6.1.1/lib/IDS/وسنغيّر القيمة false الى true في السطر:
    use_base_path = trueونضع في السطر 51 الايميل الذي سيتم ارسال التنبيهات اليه:
    recipients[] = abdoللاصحاب الاستضافات اصحاب المواقع mail.gifisecur1ty.org هذا البريد الإلكتروني محمي من المتطفلين و برامج التطفل، تحتاج إلى تفعيل جافا سكريبت لتتمكن من مشاهدته بالنسبة لي سأترك باقي الاعدادات افتراضية ثم أغلق الملف وأحفظ التغييرات بالضغط على Ctrl+X ثم نضغط Y و Enter ليتم الحفظ.

    الآن سننفذ الأمر التالي ليتمكن سيرفر Apache من الكتابة داخل مجلد tmp:
    chown -R apache:apache /var/www/phpids-0.6.1.1/lib/IDS/tmpملاحظة: اذا كنت تستخدم PHPsu أو كنت تطبّق الشرح على استضافة مشتركة تستخدم لوحة تحكّم cPanel مثلا فلا داعي لتنفيذ الأمر السابق ويكفي اعطاء المجلد tmp تصريح 755:
    chmod -R 755 /var/www/phpids-0.6.1.1/lib/IDS/tmpبعد ذلك ننشئ ملف باسم php-ids.php مثلا في المسار:
    /var/www/html/php-ids.phpيحتوي على:

    الآن كل ما علينا هو فتح الرابط التالي من المتصفح:
    http://localhost/php-ids.phpلتظهر لنا صفحة بيضاء فارغة لكن اذا حاولنا تمرير كود لثغرة XSS مثلا:
    http://localhost/php-ids.php?data=سيتعرف PHPIDS على ذلك ويمنع تشغيل الطلب ويعرض لنا النتائج:
    للاصحاب الاستضافات اصحاب المواقع phpids-1.png

    جميل جداً.. هذا يعني أن PHPIDS يعمل الآن لكن كيف سنجعله يعمل مع السكريبتات الأخرى التي نستخدمها؟

    ليس من المعقول أن نعدّل على جميع ملفات php واحدا تلو الآخر ونقوم بعمل include لملف php-ids.php!
    مفسّر php يحل لنا هذه المشكلة باستخدام الخيار:
    auto_prepend_file
    الذي سيقوم بتشغيل السكريبت الذي نختاره قبل أي سكريبت آخر (بهذه الحالة هو php-ids.php) يمكن أن نعدّل على ملف:
    /etc/php.iniونضيف مسار php-ids.php بهذا الشكل:
    auto_prepend_file = /var/www/html/php-ids.php
    أو كما قلت ان لم يكن لدينا صلاحيات تخولنا للتعديل على اعدادات السيرفر نستطيع استخدام ملف .htaccess للقيام بذلك.
    كل ما علينا هو انشاء ملف بالمسار:
    /var/www/html/.htaccessونضع فيه:
    php_value auto_prepend_file /var/www/html/php-ids.php
    لكن لحظة! حتى الآن PHPIDS لا يمنع الطلب المرسل بل يقوم بكشفه فقط! لذلك سنقوم بالتعديل مرة أخرى على الملف php-ids.php لكي لا يظهر المعلومات التي اكتشفها ويمنع الطلب من التنفيذ:

    الآن حاول تمرير كود لأي ثغرة تختارها على أي سكريبت موجود في الموقع بهذه الحالة (ووردبريس) وشاهد النتيجة:
    للاصحاب الاستضافات اصحاب المواقع phpids-2.png
    يمكننا طبعا تعديل السطر:
    die("Hacking Attempt!

    ");واستبدال الرسالة الموجودة فيه بأي رسالة أخرى تختارها.
    وسنجد في المسار:
    /var/www/phpids-0.6.1.1/lib/IDS/tmp/phpids_log.txtملف الـ Log الخاص بـ PHPIDS يحتوي على محاولات الاختراق وجميع المعلومات الأخرى.

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

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

    مراجع:

    منقول
    المصدر


    lil []h gghwphf hghsjqhthj , hwphf hgl,hru



     



  2. رقم #2
     افتراضي  العنوان : رد: مهم جدا للاصحاب الاستضافات و اصحاب المواقع
    كاتب الموضوع : حلال المشاكل
    بتاريخ : 30 Aug 2009 الساعة : 03:21 AM

    طيب فخرية ذهبية


    الصورة الرمزية عادل

    رقم العضوية : 1385
    الانتساب : May 2005
    المشاركات : 34,185
    بمعدل : 7.44 يوميا
    معدل تقييم المستوى : 48
    التقييم : Array
    عادل غير متصل



    شكرآ أخي حلال المشاكل

    على الطرح المفيد

    في أنتظار جديدك

    تحياتي عادل


     



معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. [Product] : ادوات اصحاب المواقع
    بواسطة حلال المشاكل في المنتدى تطوير منتديات vbulletin 3.8.x
    مشاركات: 1
    آخر مشاركة: 25 Aug 2009, 05:07 AM
  2. ادوات اصحاب المواقع - web master tools
    بواسطة حلال المشاكل في المنتدى ركن تطوير المواقع
    مشاركات: 2
    آخر مشاركة: 11 Jul 2009, 06:25 AM
  3. سكربت التواصل الاعلاني مهم لكل اصحاب المواقع برمجتي
    بواسطة حلال المشاكل في المنتدى ركن تطوير المواقع
    مشاركات: 3
    آخر مشاركة: 07 Jun 2009, 05:45 PM
  4. [شرح] : اسرع طريقة لفك الاختراق ( نصيحه لـ اصحاب المواقع)
    بواسطة حلال المشاكل في المنتدى تطوير منتديات vbulletin 3.8.x
    مشاركات: 2
    آخر مشاركة: 03 Jun 2009, 11:51 AM

المفضلات

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •