صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 15 من 33

الموضوع: تأميين الـPHP

  1. تأميين الـPHP



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

    أريد اليوم ان أثرثر معكم حول الامن والحماية للـPHP،
    الـPHP تأتي الينا لسوء الحظ غير محمية حامله في جُعبتها كثير من الكوارث والفيضانات واحيانا البراكيين ، ولكن هنالك عدة طرق وأساليب لجعلها آمنه على سيفراتنا او مواقعنا ، في هذا الموضوع
    لا أريد ان اتحدث الى المبرمجيين ولن اتعرض الى اكود الـPHP ، لان هنالك عدة مواضيع تعليمية لكيفية كتابة كود آمن في الـPHP ...
    يمكنكـ توفير البئة الآمنة للـ PHP عبر عدة طرق كـإضافة موديلست خاصة كــmod_security أو تعطيل بعض دوال الـPHP الخاصة بالتعامل مع نظام التغشيل
    يمكن ايضا تعطيل بعض الدوال
    لتعطيل بعض دوال الـPHP قم بالدخول الى الـTerminal الخاص بك ، وسوف يكن الشرح لـlinux Box .
    1- قم بالبحث عن ملف الاعدادات عبر الامر :
    كود:
    whereis php.ini
    لمستخدمي لوحة التحكم الخاصة بالـcPanel يمكنهم العثور على الملف في الدليل : /
    كود:
    usr/local/lib/php.ini
    وفي بعض الـterminals الاخرى فهي عادةً موجودة في المسار :
    كود:
    /etc/php.ini
    أفتح الملف عن طريق المحرر المفضل لديك .. مثلا انا استخدم Nano
    كود:
    pico -w /etc/php.ini
    أو
    كود:
    pico /usr/local/lib/php.ini
    بعد فتح الملف توجه الى اسفله وسوف تجد عبارة disabled_functions وهي عباره عن ماغير يتم حفظ الدوال التي تم تعطيلها في الموقع او السيرفر ككل..
    إذا وجدت في بداية السطر أي قبل اسم المتغير هذه العلامة ";" قم بحذفها وضع :
    كود:
    disable_functions = "system,exec"
    هنا نحن قمنا بتعطيل دالتيين وهما دالة system() ودالة exec() وهاتيين الدالتيين يمكن عبرهما تنفيذ أي أمر لنظام التشغيل.وفي اعتباري الخاص هاتيين الدالتيين من اخطر

    الدوال .
    مثال لبعض الدوال الخطر التي يجب ان تعطل :
    كود:
    disable_functions = "
    
    exec,system,passthru,readfile,shell_exec,escapeshellarg,escapeshellcmd,proc_c
    
    lose,proc_open,ini_alter,dl,popen,parse_ini_file,show_source,curl_exec"
    أحفظ الملف واعد تشغيل الـapache ...

    هنالك حيله اخرى مع الـ open_basedir

    يمكن للمستخدميين عبر الـphp open_basedir منع المستخدمين الخروج من ملفاتهم او مجلداتهم ، أي لكي لا يستطيعون الطلاع على ملفات المواقع الاخرى اللي في نفس السيرفر:
    هنالك طريقتيين الاولى الطريقة الاستاندر والثانية عبر لوحة التحكم cPanel

    1- قم بإضافة < VirtualHost > لكل المواقع اللي عندك :
    كود:
    < IfModule mod_php4.c / >
    php_admin_value open_basedir "/home/USER/public_html:/home/USER:/usr/lib/php
    
    :/usr/local/lib/php:/tmp"
    < /IfModule >
    مع تغيير اسم المستخدم "USER" .

    2- عن طريق لوحة التحكم cPanel قم بإختيار قائمة اعدادات السيرفر > Tweak Security >
    اضغط في Php's open_basedir وقم بتأشير مربع الاختيار لمنع / السماح لمواقع محددة.
    او قم بالدخول مباشرة عن طريق الرابط

    https://1.1.1.1:2087/scripts2/tweakphpdir

    هذا كل ما لدي اليوم .... وأكيد في انتظار مداخلاتكم المفيدة .... وسامحونا على التقصير





    الصور المرفقة الصور المرفقة  
    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##


  2. #2
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


    رائع جدا ومشكور جدا بالفعل أفدتني بمعلومات أجهلها .








  3. رائع جدا ومشكور جدا بالفعل أفدتني بمعلومات أجهلها .
    مرورك هو الأروع






    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##

  4. #4
    خبير سيرفرات لينكس
    تاريخ التسجيل
    Mar 1999
    المشاركات
    4,917


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






  5. #5


    شكراً جزيلاً لك ... موضوع قيم جداً ... أتمنى أن يستفيد منه الجميع ...








  6. اقتباس المشاركة الأصلية كتبت بواسطة beshoo
    انا بأشد السرور لموضوع كهذا يثري المنتدى ولعلي أكون ثقيل الظل بان اطلب منك رد فية تقنيات أخرى تثري المنتدى ومع كامل شكري وامتناني لك .
    حسناً
    انصح بتركيب الـphp كـapache modules لان الـphp صديقة مخلصة لسيرفر الويب apache .
    قم بتركيب الـphp كـdynamic module (DSO), لان هنالك ثلاثة طريق لتركيب الـphp :

    static module
    dynamic module (DSO).
    CGI binary.
    ولماذا اخترت Dynamic Module :ببساطة سوق اقل لك لسهولة التركيب وسهولة التحديث.
    وبعطيك مثال لكي أثبت لك سهولة التركيب هذه:

    قمت بتركيب الـphp مع دعم لقواعد البيانات mysql ، وبعد ايام اكتشفت بانك تحتاج في سيرفرك لدعم التشفير (لان احد عملائك له سكريبت مشفر) ، سوف تقم بعمل :
    make clean وسوف تقم بتعديل بعض الاعدادات والاجرءات ومن ثم make و make install. :anger1:

    بكل تاكيد اذا قمت بتركيب الـphp كـ Dynamic module لن تحتاج الى هذه الخطوات مجددا فقط تحتاج الى اعادة تشغيل الاباتشي،

    طبعا والأهم من ذلكـ هو الجانب الامني إذ أن الـphp سوف تشتغل كـapache والـapache بيشتغل في السيرفر كـTrusted user (مستخدم موثوق) ، بالعربي لا مشاكل مع الشلات والاطفال بعد اليوم
    وهنالك مميزات كثيرة لا يسعني لوقت لذكرها الآن ...
    ونلتقي غدا ان شاء الله





    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##

  7. #7


    بارك الله فيك استاذ محمد معلومات قيمة ومفيده للجميع






  8. #8


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

    أشكرك يا أخ Hamad4Ever على تنبيهك لأخوانك بكل ماهو مفيد في مجالاتهم على الـ php والله يكثر من أمثالك يارب.

    عندي مداخله مهمه كنت سوف أطرحها بموضوع مستقل ولكن كانت تحتاج وقت للكتابه كبير وأنا مستعجل أغلب الأوقات

    المهم

    ماذا عن خطورة بيئة الـ php كثغرات الـ BufferOverflow او HeapOverFlow أو StringFormat أو تخطي بعض الخواص المفعله مثل الـ SafeMode وغيرها ؟

    أعتقد هذه أخطر ومصيبتها أعظم ولا ينفع معها لا إغلاق دوال ولا حتى open_baseddir !!!

    من المعلوم أن مطوري الـ php عند برمجتهم لمنتجهم يحاولون بشتى الطرق أن تكون الـ php متوازنه بين بيئة الويندوز وبيئة اللينكس في أغلب الأحيان وهذا يؤدي بهم إلى دخولهم في شجره كبيره من التعقيدات تجبرهم للوقوع في أخطاء قويه لم يشاهدوها على الإطلاق وطبعا الضحيه في أخر المطاف هو المستضيف الذي يستخدم الـ php

    المشكله أن أغلب هذه الأخطاء موجوده حتى هذا اليوم مثل دالة unset ومشكلتها مع الـ emalloc وغيرها كثير من الدوال التي إن أستخدمت بحرافه لتم إزالة الـ SafeMode و الـ disabblefunctions وتنفيذ أي أمر بالرغم من أنف المستضيف الذي يعمل كل هذه التغييرات .

    إذن ما الحل ؟؟؟؟

    هناك حل خطير قمت بتجربته لفتره من الزمن وإختباره أمنياً على الـ php وكان حلاً بارع جداً من شخص ذو ثقل في عالم السيكيوريتي واسمه Suhosin وهو من كوريا حيث أصدر ترقيعه أسماها Suhosin Patch وهي عباره عن ترقيع يتم عمله لبيئة الـ php قبل عملية الـ install وبعد الترقيع يتم بناء الـ php وتنصيبها على الـ Apache مثل ماترغب.

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

    أرجو الإطلاع على المنتج على الرابط التالي:

    http://www.hardened-php.net/suhosin/index.html

    وأي سؤال أنا حاضر





    __________________
    al3ndaleeb[@]uk2.net

  9. #9
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2001
    المشاركات
    3,680


    ما شاء الله ... بارك الله بك HaMaDa، دائماً موضوعاتك مليئة بالفائدة
    و الشكر موصول للعندليب على اضافته





    __________________
    الحالة في سوالف : غير نشط


    لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ

    الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية



  10. سلمت يٌمناكـ يا عندل ، وبالفعل الـPHP توجد بها مشكل مع الـbuffer overflow في دوال متعددة مثل : "wordwrap()" لأنها لا تفحص جيدا نوعية البيانات التي تم تمريرها بواسطة المستخدم . والنسخ المصابه منها 4.4.2 والنسخ التي تسبقها وأيضا النسخه 5.1.2 والتي تسبها ، واعتقد تمت المعالجة في النسخ الاحدث.

    يمكن تخطي الـsafemode عبر دالة copy()
    هكذا مثلاً:
    كود PHP:
    copy("compress.zlib:///etc/passwd""/home/cxib/to/bandyta/passwd.txt"); 
    والنسخ المتأثرة بها هي 4.4.2 و 5.1.2 وتقريبا تمت معالجتها في النسخة 4.4.4 (حقيقةً لست متاكد)
    وازيدك مكن الشعر بيت توجد مشكلة ما بين دالة unset و دالة zend_hash_del_key_or_index

    بالنسبة لمخاطر الـInclude بقل لكـ عطل الـ(allow_url_fopen) اي
    كود:
    allow_url_fopen = Off
    طبعا موجوده في php.ini
    وإذا سألتني لماذا أعطلها بيقل لك باختصار :-
    إذا كان لديك الكود التالي في احد برامجك :
    كود PHP:
    include($_GET['name'] . '.php'); 
    فيمكنني وضع http://www.example.com/anycode
    وسوف يتم ترجمتها الى .http://www.example.com/anycode.php
    وسوف يتم تنفيذ الاوامر التي الملف anycode.php والذي هو خارج موقعك ، بصوره أخرى كاننا استخدمنا دالة
    كود PHP:
     readfile(anycode.php
    طبعا هنالك حلول اخرى باستخدام تقنيات كتابة الاكواد.

    أفضل طريقة للبحث في موقعك عن ثغرات الـSQL injection و Cross site scripting وكمان Google hacking ،، هنالك اداة اسمها (Acunetix Web Vulnerability Scanner) قم بتشغيلها وسوف تبحث في موقعك وفي النهاية بتعطيك تقرير مفيد .

    أشكرك يا أمين ويا موودي لمروركم الكريم وأسعدني جداً ،، واشكرك مجددا يا عندل للاضافة الراقية والمفيدة وانتظر المزيد منك بشغف.





    __________________
    ################################ PHP.SD ########
    We're not first,But We're the BEST

    ##



  11. والله المواضيع هذي لها وحشه بارك الله فيكم وزادكم علماً ونوراً





    __________________
    أنشئ البوم لصورك وشاركها في موقعك صور TNT


    expertsniper - Fast سابقاً

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    200


    اقتباس المشاركة الأصلية كتبت بواسطة العندليب
    السلام عليكم ورحمة الله وبركاته

    أشكرك يا أخ Hamad4Ever على تنبيهك لأخوانك بكل ماهو مفيد في مجالاتهم على الـ php والله يكثر من أمثالك يارب.

    عندي مداخله مهمه كنت سوف أطرحها بموضوع مستقل ولكن كانت تحتاج وقت للكتابه كبير وأنا مستعجل أغلب الأوقات

    المهم

    ماذا عن خطورة بيئة الـ php كثغرات الـ BufferOverflow او HeapOverFlow أو StringFormat أو تخطي بعض الخواص المفعله مثل الـ SafeMode وغيرها ؟

    أعتقد هذه أخطر ومصيبتها أعظم ولا ينفع معها لا إغلاق دوال ولا حتى open_baseddir !!!

    من المعلوم أن مطوري الـ php عند برمجتهم لمنتجهم يحاولون بشتى الطرق أن تكون الـ php متوازنه بين بيئة الويندوز وبيئة اللينكس في أغلب الأحيان وهذا يؤدي بهم إلى دخولهم في شجره كبيره من التعقيدات تجبرهم للوقوع في أخطاء قويه لم يشاهدوها على الإطلاق وطبعا الضحيه في أخر المطاف هو المستضيف الذي يستخدم الـ php

    المشكله أن أغلب هذه الأخطاء موجوده حتى هذا اليوم مثل دالة unset ومشكلتها مع الـ emalloc وغيرها كثير من الدوال التي إن أستخدمت بحرافه لتم إزالة الـ SafeMode و الـ disabblefunctions وتنفيذ أي أمر بالرغم من أنف المستضيف الذي يعمل كل هذه التغييرات .

    إذن ما الحل ؟؟؟؟

    هناك حل خطير قمت بتجربته لفتره من الزمن وإختباره أمنياً على الـ php وكان حلاً بارع جداً من شخص ذو ثقل في عالم السيكيوريتي واسمه Suhosin وهو من كوريا حيث أصدر ترقيعه أسماها Suhosin Patch وهي عباره عن ترقيع يتم عمله لبيئة الـ php قبل عملية الـ install وبعد الترقيع يتم بناء الـ php وتنصيبها على الـ Apache مثل ماترغب.

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

    أرجو الإطلاع على المنتج على الرابط التالي:

    http://www.hardened-php.net/suhosin/index.html

    وأي سؤال أنا حاضر
    http://www.swalif.net/softs/showthread.php?t=183560





    __________________
    Fr33 Soul
    ---
    buff3rX[AT]gmail.com

  13. #13
    عضو نشيط
    تاريخ التسجيل
    Jul 2001
    المشاركات
    81


    السلام عليكم...


    أنا صراحة ما أفهم شي في الـ php

    بس عندي سؤال


    هل يمكن أن أسمح لدالة معطله من قبل السيرفر من الـ cPanel حقت الموقع
    وكيف؟





    شكرا






  14. #14
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    715


    طيب ياريت الموضوع يكبر كمان
    وتحدثونا عن ثغرات ال php المجهوله التي قد تادي بينا الى الهلاك
    وطرق معالجتها كمبرمجين - غير ااصحاب السيرفيرات






  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 1999
    المشاركات
    483


    وفي نفس الوقت يجب عدم اغفال دالة تغيير محتويات الـ php.ini وهي ini_set
    لأنه يمكن من خلالها اعادة ضبط خصائص الـ php





    __________________
    http : // www . ansar . net





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

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض