IRANSYSTEM

ایران سیستم|IRANSYSTEM

IRANSYSTEM

ایران سیستم|IRANSYSTEM

IRANSYSTEM

تیم اموزشی ایران سیستم با هدف اشنا کردن علاقه مندان به اموزش مسائل کامپیوتر. نرم افزار . بازی و ...
در این سایت تلاش کردیم، تمامی نیازهای کاربران برای دسترسی سریع و آسان به محتوای کاربردی در حوزه‌های مختلف را هم‌ زمان فراهم آوریم.
با تشکر

افزایش امنیت سرورهای دارای PHP

چهارشنبه, ۲ اسفند ۱۳۹۶، ۰۴:۳۹ ب.ظ

افزایش امنیت سرورهای دارای PHP

قطعا مهم ترین کاری که می‌توان برای افزایش بهره وری و امنیت سرورهای حاوی PHP انجام داد بروز رسانی مستمر به نسخه‌های پایدار است.

مدیران سرور بهانه‌های بسیاری برای بروز رسانی نکردن سرورهای خود می‌آورند که غالبا غیر موجه هستند.

 بالابردن امنیت PHP با php.ini

php.ini

تمامی پیکربندی های PHP را می‌توان در این فایل انجام داد. برخی از مهم ترین پیکربندی‌های این فایل عبارتند از:

  • موقعیت ذخیره سازی Cache ها
  • ذخیره سازی Log ها
  • محدودیت‌های دسترسی
  • ذخیره موقعیت زمانی در php
  • ذخیره و تنظیم موارد مرتبط با آپلود اطلاعات
  • فعال سازی تمام یا بخشی از کتابخانه‌های موجود در php و غیر فعال کردن بخشی از آن ها
  • و ...

در پایین به صورت خلاصه قصد داریم مهم ترین تنظیمات این فایل را به شما آموزش دهیم:

فعال سازی safe mode در php.ini برای افزایش حداکثری امنیت

قابلیت safe_mode قابلیتی بسیار مهم است که منجر به افزایش امنیت PHP می‌شود. این قابلیت وظیفه جلوگیری اجرای کدهای مخرب که به آن‌ها شل گفته می‌شود را دارد.

گاهی ممکن است هکرها بتوانند تا حدودی به سایت یا سرور شما نفوذ کنند که برای تکمیل فرایند نفوذ خود نیازمند افزایش دسترسی دارند که در این موارد معمولا از شل‌ها بهره می‌گیرند.

اگر از سرور اختصاصی استفاده می‌کنید حتما این قابلیت را فعال کنید ولی اگر سروری استفاده می‌کنید که در آن سایت‌های زیادی وجود دارد، این احتمال وجود دارد که سایت‌ها با مشکل مواجه شوند. بنابر این تنها برخی از قابلیت های safe_mode را غیر فعال می‌کنیم:

sql.safe_mode = On

البته برای تکمیل امنیت باید قابلیت magic_quotes_gpc را نیز غیر فعال کنیم تا نفوذگر نتواند از علامت‌های نقل قول برای فرایند نفوذ خود استفاده کند:

magic_quotes_gpc = Off

محدود سازی منابع و دسترسی‌ها در PHP

تنظیمات زیر را ببینید:

max_execution_time = 60

max_input_time = 60

memory_limit = 90M

post_max_size = 16K

در بالا همانطور که می‌بنید برای چهار فاکتور مهم محدودیت اعمال کردیم.

max_execution_time: حداکثر زمان اجرای فرمان‌ها است.

max_input_time: حداکثر زمان ارسال اطلاعات.

memory_limit: حداکثر میزان استفاده از رم.

post_max_size: حداکثر سایز داده با متد post.

بستن قابلیت Upload و ورژن PHP

با دستور زیر قابلیت Upload را می‌بندید تا متجاوزان نتوانند چیزی را Upload کنند:

file_uploads = Off

مهم ترین کاری که یک هکر می‌کند آپلود فایل‌های مخرب روی سرور شماست.

بستن قابلیت مشاهده ورژن PHP:

expose_php = Off

اهمیت بسیاری دارد که هکرها نفهمند چه نسخه‌ای از PHP روی سرور شما نصب است. گاهی هکر‌ها با اطلاع از نسخه php و جستجو در باگ‌های آن می‌توانند به سرور شما نفوذ کنند.

غیر فعال کردن فانکشن‌ها و کتابخانه‌های غیر ضروری برای امنیت بیشتر

 PHP توابع بسیاری دارد که برخی بسیار ضروری هستند ولی قسمتی از این توابع نیز کاربرد چندانی ندارند و باید آن‌ها را غیر فعال کرد، چون این توابع ممکن است باعث تسهیل فرایند نفوذ شوند.

 در زیر لیستی از این توابع را غیر فعال می‌کنیم:

disable_functions = symlink,curl_setopt,curl_exec,curl_init,fpassthru,crack_check,crack_closedict,crack_getlastmessage,crack_opendict,psockopen,php_ini_scanned_files,shell-exec,system,dl,ctrl_dir,phpini,tmp,safe_mode,systemroot,server_software,get_current_user,HTTP_HOST,ini_restore,popen,pclose,exec,shell_exec,suExec,passthru,proc_open,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,escapeshellcmd,escapeshellarg,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_setegid,posix_seteuid,posix_setgid,posix_times,posix_ttyname,posix_uname,posix_access,posix_get_last_error,posix_mknod,posix_strerror,posix_initgroups,posix_setsid,posix_setuid,perl,rsync,wget,./,python,touch,whoami,cat,perm,find,phpinfo,php_uname

 برخی از توابع فوق باعث اجرای شل‌های خطرناک و یا باعث ایجاد symlink در سرور می‌شوند.

  • ۹۶/۱۲/۰۲
  • mojtaba khatibi

افزایش امنیت سرور

نظرات  (۱)

خیلی ممنون

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی