إقتباس:
|
المشاركة الأصلية بواسطة OmanSecurity اهلا وسهلا اخي الكريم
بالتأكيد لن يتحدث احد عن الغاء الدوال بشكل غير منطقي
على سبيل المثال الدالة اللتي وضعتها تبين المشكلة اللتي قد تسببها لذلك يفضل اقفالها
خاصة ان اغلب برامج الـphp لا تستخدمها
لا تنسى ان واحدة من قواعد الامن ان تقوم بتركيب اللذي تحتاجة فقط
وان تفعل (بالضمة على الـ ت ) اللذي تقوم بأستخدامة فقط
لان البرامج الثانوية او 3rdparty قد تضهر فيها ثغرات 0day في اي وقت وتقليلك من البرامج الثانوية يقلل من نسبة ظهور تلك الثغرات في برامج او تطبيقات قد تستخدمها ويمكن قياس ذلك بدوال الـphp واللتي ضهرت العديد من الثغرات فيها على سبيل المثال ثغره unset الشهيرة
من ناحية اخرى لا يجب ان تلتزم ابدا بالقائمة المذكورة ويمكنك اختيار الدوال اللتي تضن انها خطيره بين القائمة المذكورة
واذا كان عندك شك بدوال معينة لم تفهم لماذا ذكرت باللستة ( اللتي قد تكون غير صحيحة ) ضعها هنا والشباب ما بيقصروا وياك
ويمكنك الاستعانة بالموضوع التالي اللذي كتبتة منذ مدة لمساعدتك
للوصول الى بيئة php امنة http://www.jaascois.com/research/36601026/
سلاااام |
المحترم OmanSecurity,
اطلعت على الشرح اللي كاتبه للوصول إلى بيئة php آمنه وهنالك خطوه لم أتمكن من تنفيذها.
لدي سكربتات عندما أقوم بتعطيل التالي:
- register_globals = Off
- allow_url_fopen = Off
فهذه السكربتات للأسف لن تعمل وحاولت إضافة هذه الخيارات في .htaccess:
- php_flag register_globals on
- php_flag allow_url_fopen on
ولكن للأسف الموقع بكامله يتوقف ولا يعمل إلى أن أزيل ما تم وضعه.
أيضا حاولة تطبيق هذه الخطوه:
=========================================
وان كان الخيار لا يمكن تخصيصه الا من ملف httpd.conf كالـsafe_mod على سبيل المثال حيث انه يقع ضمن قسم PHP_INI_SYSTEM اللتي لا يمكن تخصيصها الا من ملف httpd.conf
فقم بالتعديل على ملف httpd.conf بالمسار
/usr/local/apache/conf
بواسطة المحرر peco او nano وابحث عن عنوان الموقع username.com
وتأكد ان كل ما تقوم بكتابته يقع ضمن نطاق اعدادات الموقع
وسوف يكون بالشكل التالي على فرض ان الموقع هو
www.oman-web.com واسم المستخدم هو omanweb
<VirtualHost 208.101.28.63>
ServerAlias
www.oman-web.com
ServerAdmin
webmaster@oman-web.com
DocumentRoot /home/omanweb/public_html/
BytesLog domlogs/oman-web.com-bytes_log
ServerName oman-web.com
<IfModule mod_php4.c>
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
php_admin_flag register_globals on
php_admin_value disable_functions none
</IfModule>
<IfModule mod_php5.c>
php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
</IfModule>
User omanweb
Group omanweb
CustomLog /usr/local/apache/domlogs/oman-web.com combined
ScriptAlias /cgi-bin/ /home/omanweb/public_html/host/cgi-bin/
</VirtualHost>
تأكد انك تقوم بالتعديل بين كل من
<VirtualHost 208.101.28.63>
..............................
..............................
....................
</VirtualHost>
وسنخصص على حسب اصداره الphp لدينا فأن كانت 4
نعدل بين
<IfModule mod_php4.c>
..................................
..............................
........................
</IfModule>
وان كنا نستخدم الاصداره الخامسة
<IfModule mod_php5.c>
...............................
...........................
........................
</IfModule>
ويكون التعديل كالتالي
php_admin_flag لأي قيمه On او Off
و
php_admin_value لأي سلسه من القيم او مسار ملفات
وطبعا من الممكن ان تكون القيمه none كالمثال بالاعلى
php_admin_value disable_functions none
او php_admin_value open_basedir "/home/omanweb:/usr/lib/php:/usr/local/lib/php:/tmp"
وتأكد من كتابتها بنفس الطريقه الموضحة
===============================
وللأسف لم أتمكن من الوصول إلى httpd.conf من خلال المسار
/usr/local/apache/conf
ارجوا أن تقوم بالتوضيح أكثر.
خالص التحيات