اموزش تنظیمات امنیتی در php.ini

تنظیمات امنیتی در php.ini

امن سازی php.ini

 

تنظیمات PHP.INI  : غیر فعال کردن توابعی همچون exec, shell_exec, system, popen برای امنیت بیشتر

من برای کاربردهای شخصی خودم از وب سرور آپاچی کوچکی استفاده میکنم و آن را با دوستان و اعضای خانواده به اشتراک گذاشته ام. با اینحال بیشتر اسکریپتهای kiddie سعی میکنند از برنامه های php همچون وردپرس و با استفاده از توابعی مانند exec(), passthru(), shell_exec(), system() سو استفاده کنند. چگونه می توان این توابع راغیر فعال کرد تا ضریب امنیتی اسکریپت php بهبود یابد؟

Php توابع زیادی دارد که اگر به درستی به کار گرفته نشده باشند می توانند برای کرک سرور شما مورد استفاده قرار گیرند. شما می توانید لیستی از توابع مختلف در php.ini و با استفاده از disable_functions تهیه کنید . با استفاده از این لیست می توانید برخی از توابع را برای مسائل امنیتی غیر فعال سازید . disable_functions توسط حالت safe تحت تاثیر قرار نمیگیرد . این دستور باید در فایل php.ini تنظمیم شود . به عنوان مثال شما نمی توانید این دستور را در فایل httpd.conf تنظیم کنید . یک ترمینال باز کرده و یا از طریق ssh وارد سرور خود شوید . فایل php.ini  را باز کنید .

 

   vi /etc/php.ini #

عبارت disable_functions را پیدا کرده و لیست جدیدی مانند زیر تنظیم کنید :

disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

من پیشنهاد میکنم allow_url_include و allow_url_fopen را نیز به خاطر مسائل امنیتی غیر فعال کنید :

allow_url_fopen=Off

allow_url_include=Off

 

فایل را ذخیره کرده و سپس ببندید . با استفاده از دستور زیر سرور httpd را ریستارت کنید :

 servicehttpd restart #

یا اگر از لینوکس اوبونتو /دبیان استفاده میکنید دستور زیر را اجرا کنید :

        service apache2 restart #

فانکشن های exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source بخش کوچکی از فانکشن های خطرناک php می باشند که شما باید در تنظیمات امنیتی در php.ini اعمال نمایید و توصیه ما استفاده از لیست کامل این فانکشن ها می باشد زیرا کوتاهی در این مقوله مساوی است با هک شدن سایت ها و سرورهای شما

نکته ای در مورد سیستم مبتنی بر system :

اگر شما از سیستم ها ی مبتنی بر لینوکس RHEL/CentOS/Fedora به اضافه ی system استفاده میکنید عبارت زیر را وارد کنید :

 

systemctlhttpd restart #

اگر شما از سیستم های مبتنی بر لینوکس اوبونتو /دبیان به اضافه ی systemd استفاده میکنید عبارت زیر را وارد نمایید :

 

 systemctl restart apache2  #

 

09123781949