ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
موارد امنیتی مهم جهت ایمن کردن php در سرور
09-18-2014, 07:32 PM
ارسال: #1
موارد امنیتی مهم جهت ایمن کردن php در سرور
امن کردن PHPPHP یک زبان اسکریپتی برنامه نویسی تحت وب Server-Side یا سرور ساید است.به این معنی که کد در سروریس دهنده وب و سرور پردازش و اجرا میشود و نه در مرور گر.نتیجه این پردازش به صورت خروجی HTML برای مرور گر شما ارسال شده و شما نتیجه را در صفحه مرور گر خود مشاهده میکنید، در این آموزش چگونگی امن کردن php در شش مرحله قرار داده شد.  در ابتدا فایل php.ini با ویرایشگر باز می کنیم:vi /etc/php5/apache2/php.ini
1vi/etc/php5/apache2/php.ini
گزینه های زیر ویرایش کنیدdisable_functions = exec,system,shell_exec,passthru
register_globals = Off
expose_php = Off
magic_quotes_gpc = On
1234disable_functions=exec,system,shell_exec,passthruregister_globals=Offexpose_php=​Offmagic_quotes_gpc=On
این حداقل تنظیمات برای امن شدن سرور می باشد، حال به امن کردن بهتر php میپردازیم۱= Allow_url_fopen ( در تنظیمات پیشفرض فعال هست )این تابع اجازه می دهد تا دیتا ها  ( مانند تابع file_get_contents() ) ،به صورت ftp یا از طریق سایت از مکان دیگری ریموت بشود، برای جلوگیری از این کار بهتر هست غیرفعال بشود.Allow_url_fopen = off
1Allow_url_fopen=off
یا از httpd.conf غیرفعال کنید:php_admin_flag allow_url_fopen Off
1php_admin_flag allow_url_fopen Off
۲= Allow_url_include ( در تنظیمات پیشفرض غیرفعال هست )مانند فانکشن های fopen() و file_get_contents اجازه دسترسی از راه دور به فایل می دهد، برای غیر فعال کردن به شکل زیر php.ini کانفیگ کنیدallow_url_include = Off
1allow_url_include=Off
یا از httpd.conf غیرفعال کنید:php_admin_flag allow_url_include Off
1php_admin_flag allow_url_include Off
۳= Disable_functionدر این قسمت میتوانید توابع گوناگون در php غیرفعال کنید. در php.ini به دنبال خط disable_function بگیردید و در مقابل آن دستور زیر بزنید:"curl_exec,curl_multi_exec,dl,exec,fsockopen,parse_ini_file,passthru,popen,proc_o​pen,proc_close,shell_exec,show_source,symlink,system"
1"curl_exec,curl_multi_exec,dl,exec,fsockopen,parse_ini_file,passthru,popen,proc_o​pen,proc_close,shell_exec,show_source,symlink,system"
این لیست شما باید آن را در سرور خود را غیر فعال کنید:
 
- curl_exec – perform cURL session- curl_multi_exec – run a sub-connection with the cURL handle- dl – me0loads a PHP extension at run- exec – execute an external command- fsockopen – Open Internet or Unix domain socket connection- parse_ini_file – parse the configuration file- passthru – execute an external program and display output- popen – process opens the file pointer- proc_open – execute a command and open file pointers for input / output- proc_close – shut down a process opened by proc_open and return the exit code in the function.- shell_exec – execute command via shell and return the output as a string- show_source – shows the source code file- symlink – make a symbolic link- system – execute an external program and display output
نکته: امکان دارد با غیرفعال کردن برخی توابع در لود سایت شما تاثبر بگذارد برای همین قبل از غیر فعال کردن برخی از فانکشن ها و توابع قبل از ان چک کنید تا در سرویس دهی شما اختلال ایجاد نشود.
۴= display_errors  و log error
برای امنیت بیشتر نمایش error های php تحت وب غیرفعال کنید و از log error استفاده کنید.
display_errors = Off
log_errors = On
12display_errors=Offlog_errors=On
یا از httpd.conf غیرفعال کنید:php_flag display_errors Off
php_flag log_errors On
12php_flag display_errors Offphp_flag log_errors On
۵= Expose_phpاطلاعات مربوط به php توسط افزاد قابل مشاهده هست و به هکرها اطلاعات می دهد، اگر شما این function فعال کردید پس ما غیر فعال می کنیم:expose_php = off
1expose_php=off
۶= Open_basedirاین خاصیت در php این امکان را فراهم می آورد تا فایل هایی که توسط php باز می شوند را محدود کنید این diretive تحت تاثیر safe mode نیست و روشن یا خاموش بودن آن تاثیری بر عملکرد این directive ندارد.open_basedir = "/var/www/html/:/usr/local/php/"
1open_basedir="/var/www/html/:/usr/local/php/"
یا از httpd.conf غیرفعال کنید:php_admin_value open_basedir /var/www/html/:/usr/local/php/
1php_admin_value open_basedir/var/www/html/:/usr/local/php/

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


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان