S!L3NT H!LL
./عضو جديد



السمعة:
السلام عليكم ورحمة الله
أسعد الله أوقاتكم بكل خير, هذه أول مشاركة لي بالشبكة وفضلت أن تكون في مجال إدارة خوادم الويب, خاصة لقلة الشروحات العربية في هذا المجال.
بالبداية ملف php.ini من ضمن الأمور الأساسية الي يتم مراجعة إعدادات عمل ملفات php على السيرفر فيها, ومن خلاله ممكن نعطي تأمين للسيرفر, مثلًا من الشيلات أو ملفات php الضارة.
من خلال putty أو أي برنامج بعد الإتصال بالسيرفر:
توجه لمسار ملف php.ini غالبًا ما يكون هكذا (ابحث عن طرق Ctrl+W) :
/usr/local/php/php.ini
1- safe_mode
سوف تجد أمامها Off قم بجعلها On , بهذا الشكل:safe_mode = On
ملاحظة: هذا الخيار فعله إذا كان إصدارك الــ PHP أقل من إصدار 5.3 , علمًا أنه تم الإستغناء في الإصدار 5.4 وأعلى
يعمل السيف مود على ما يلي:
- يحاول السيف مود توجيه الوضع الآمن
- حل العديد من المشاكل التي تحدث في بيئة استضافة مشتركة عند استخدام PHP.
- يقارن UID (PHP) الخاص ببرنامج PHP النصي مع UIDs للملفات والدلائل التي يحاول الوصول إليها. إذا لم تتطابق معرفات UID ، فإن النظام لا يسمح للبرنامج النصي بالوصول إلى الملف أو الدليل المطلوب.
2- register_globals
ستجدها register_globals = On , اجعلها register_globals = Offملاحظة: هذا الخيار فعله إذا كان إصدارك الــ PHP أقل من إصدار 5.3 , علمًا أنه تم الإستغناء في الإصدار 5.4 وأعلى
عند تمكين توجيه register_globals ، قد يكتسب المهاجمون القدرة على تجاوز متغيرات التكوين من خلال عنوان URL.
3- disable_functions
راح تجد أمامها علامة = ثم فراغ, ضع التالي بعد علامة الـ =:
symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg,escapeshellcmd,posix_getgid,posix_getgrgid,dl,exec,pclose,proc_nice,proc_terminate,proc_get_status,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,hypot,pg_host,pos,posix_access,posix_getcwd,posix_getservbyname,myshellexec,getpid,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mknod,posix_setgid,posix_setsid,posix_setuid,posix_times,posix_uname,ps_fill,posix_getpwuid,global,ini_restore,zip_open,zip_read,rar_open,bzopen,bzread,bzwrite,apache_get_modules,apache_get_version,phpversionphpinfo,php_ini_scanned_files,get_current_user,error_log,disk_total_space,diskfreespace,leak,imap_list,hypo,filedump,gethostbyname,safe_mode,ob_clean,getmygid,php_uname,apache_getenv,apache_setenv,bzread,bzwrite,posix_access,bzopen,phpini,highlight_file,show_source,sscanf,dos_conv,get_current_user,get_cwd,error_log,dir,cmd,e_name,vdir,get_dir,only_read,copy,ini_set,getmicrotime,float,shver,c99sh_surl,timelimit,surl_autofill_include,base64_decode,gzinflate,encode64,ln
من فوائد تعطيل الدوال:
تعطيل لوظائف PHP التي تسمح للنظام بتنفيذ العمليات الفرعية, لأن العمليات الفرعية تعمل خارج قيود أمان PHP أخرى.
4- display_errors
راح تجدها بهذا الشكل display_errors = On غيرها إلى Off, بتصير يعني بهذا الشكل display_errors = Off
أهمية تعطيلها:
ماراح يقدر يطبع لك الأخطاء في صفحات HTML , يعني مثلًا رفعت سكربت والسكربت كان في خطأ راح يظهر لك صفحة بيضاء لما تدخل على المسار من المتصفح.
أما كيف تعرف تحل الخطأ لما تعطلها؟
لاتخاف السيرفر راح يحفظ لك الأخطاء في سجلات الأخطاء.
5- allow_url_fopen
ستجدها هكذا allow_url_fopen = On, اجعلها allow_url_fopen = Off
أهمية التعطيل:
تعطيل هذا التوجيه لرفض المهاجمين القدرة على فتح الملفات عن بعد من الخادم الخاص بك من خلال نقاط الضعف إدراج الملف.
6- allow_url_include
ستجدها أيضًا على هذا الشكل allow_url_include = On, اجعلها allow_url_include = Off
أهمية التعطيل:
نفس ما ذكر بالأعلى لمنع فتح الملفات عن بعد.
7- file_uploads
سوف تجدها هكذا file_uploads = On, اجعلها file_uploads = Off
ملاحظة: لو لديك مثلًا سكربت رفع أو حتى منتدى أو أي شيء, يتم الرفع من خلاله ملفات أو صور ,راح يظهر رسالة تفيد أن الخادم غير قادر على رفع الملف, لذلك هذه الخيار تغلقه على حسب استخدامك للسيرفر.
8- open_basedir
اجعل القيمة أمامها ~/public_html, يعني على هذا الشكل:
open_basedir = ~/public_html
يؤثر هذا الإعداد فقط على الخوادم التي تستخدم وحدة mod_php Apache.
أهمية هذا الخيار:
يسمح لك هذا التوجيه بتحديد عمليات الملف إلى دليل معين. كثيرًا ما يحاول المهاجمون العثور على طرق لتضمين الملفات المحلية في النصوص البرمجية PHP للحصول على معلومات حول نظام ملفات الخادم.
إذا كان نظامك يعمل على EasyApache 4 ، قم بتغيير هذا التوجيه في WHM >> Home >> Software >> MultiPHP INI Editor
9- session.cookie_httponly
اجعل القيمة لها .1
الفائدة:
لرفض جافا سكريبت إمكانية الوصول إلى ملفات تعريف ارتباط جلسة PHP. يضمن ذلك عدم تمكن المهاجمين من سرقة ملفات تعريف ارتباط الجلسة
إذا كان المستخدمون يستخدمون ملفات تعريف ارتباط جلسة PHP من خلال JavaScript ، فقد يمنع النظام استخدامك لهذا التوجيه
10- session.referer_check
نجعل قيمتها On
الفايدة من تفعليه :
يمنع أي مخترق من اتباع الإرتباطات وسرقة محتوى الجلسة, يعني باختصار أنت سمحت للـ PHP للتحق من HTTP
وبالنهاية هذا ما أملكه لطرحه
أسال الله أن يكون به خير للجميع, وأن يكون طرحي واضح وسهل على الجميع وخالي من الأخطاء.
التعديل الأخير بواسطة المشرف: