PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : امنیت بیشتر برای PHP ( غیر فعال کردن Function های خطرناک )



irmizban
January 27th, 2012, 00:16
سلام .
البته همونطور که میدونید امنیت مطلق نیست و شما هر کاری هم برای امنیت سرورتون انجام بدین باز هم امکان داره افرادی بتونن به سرور شما نفوذ کنند ولی خوب این هم نمیشه که من و شما دست روی دست بزاریم . برای اینکه بتونیم امنیت سرورمون رو تا حد بسیاری بالا ببریم در این تاپیک قصد دارم یک سری از فانکشن های که بهتره برای سرور های اشتراکی بسته باشه و به عنوان فانکشن های خطرناک از اونها یاد میشه شرح بدم .

در پایین لیست کامل این فانکشن ها رو عرض میکنم :

این فانکشن ها در فایل php.ini هستش . اگر آدرس دقیق اونو نمیدنید دستور زیر رو در خط فرمان تایپ کنید :


root@server [~]# php -i | grep php.ini

بیشتر اوقات آدرس فایل در سرور های لینوکس /etc/php.ini قرار داره .
خب حالا با استفاده از دستور زیر این فایل رو ویرایش میکنیم /.


root@server [~]# nano /etc/php.ini


به دنبال disable_functions = بگردید برای اینکار میتونید در ویرایشگر Ctrl +W رو بزنید و عبارتی disable_functions رو وارد کنید تا ویرایشگر شما رو به همین خط کد ببره.

حالا فانکش های این خط رو به صورت زیر جایگزین کنید :




disable_functions = "apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, exec, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, mysql_pconnect, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, syslog, system, xmlrpc_entity_decode,readfile"

و از فایل با کلید ترکیبی Ctrl + X خارج و فایل رو ذخیر کنید .
بعد از زخیر با دستور service httpd restart آپاچی سرور رو رستارت کنید .
اگر هم از سرور nginx استفاده میکنید service ngnix restart رو بزنید .
در کل وب سرور رو restart کنید .

امیدوارم مورد استفاده دوستان قرار بگیره .

292122
January 27th, 2012, 01:12
شما که خیلی‌ از توابع اساسی‌ رو بستین. ولی‌ خیلی‌ از اصلی‌‌ها رو نگفتین.به نظرم اگه توابع ftp باز باشند بهتره بعضی‌ cmsها و ftp manager های تحت وب با این توابع کار میکنن

توابع خطرناک اصلی این‌ها هستند:

exec,system, passthru,readfile,shell_exec,escapeshellarg,escape shellcmd,proc_close, proc_open,ini_alter,dl,popen,parse_ini_file, show_source,curl_exec
البته برای استفاده از رپیدلیچ باید تابع passthru رو باز بذارید.

Tapco
January 27th, 2012, 01:39
در هاستینگ های Share (اشتراکی) php.ini سفارشی یک از ضعف امنیتی می باشد، که فرد نفوذگر با آپلود یک php.ini و باز کردن فانکشن های خطرناکی که دوستان به برخی از آنها اشاره کردن و دسترسی shell می تواند به سرو شما دسترسی داشته باشد، این آموزش برای Apache 2.x و cPanel تهیه شده بود و دوستان توجه داشته باشید که این پست و پست های سایر دوستان تنها نکاتیست برای بالا بردن امنیت شما و این نکات قابل بایپس هستند ، پس امنیت شما رو تضمین نخواهند کرد بلکه تنها مقداری اون رو افزایش میدن.

بنابراین سایر وب مسترها و هاستینگ های شرکتی و یا شخصی می تونن از طریق سایت شرکت مهندسي مشاور تاپکو (http://www.tap-co.net) و یا پیغام خصوصی و یاهو ID بنده ، طی سفارش با نازل ترین قیمت ، با ما امنیت سرور خودشون رو تضمین کنند !

خوب بریم سراغ مراحل آموزش غیر disableکردن فایل php.ini :
برای غیر فعال کردن php.ini اختصاصی در SUPHP مراحل زیر رو باید طی کنید ؛

فایل زیر رو باز کنید :

usr/local/apache/conf/includes/pre_main_global.conf

و بعد دستورات زیر رو در اون قرار بدین :


suPHP_ConfigPath /usr/local/lib/

فایل زیر رو باز کرده :

/opt/suphp/etc/suphp.conf

حالا عبارت های اول خط های زیر رو حذف کنید :
application/x-httpd-php=/usr/local/lib/
application/x-httpd-php4=/usr/local/php4/lib/
application/x-httpd-php5=/usr/local/lib/

فایل رو save و apache رو restart کنید

service httpd restart

ali2k
January 27th, 2012, 01:43
تابع

curl_exec

برای درگاه های بانکی و پرداخت انلاین ضروریه :) هرچی که اخرش exec داره رو نبندید :دی

maryam1
January 29th, 2012, 01:34
فقط اینارو ببندین

show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, allow_url_fopen

---------- Post added at 01:34 AM ---------- Previous post was at 01:18 AM ----------


usr/local/apache/conf/includes/pre_main_global.conf

و بعد دستورات زیر رو در اون قرار بدین :
داخل nano /usr/local/apache/conf/includes/pre_main_global.conf برا من خالیه مشکلی نیست؟

farzadho
January 29th, 2012, 15:42
سلام
اینجا پاسخ دادن که مشکلی نیست و خدوتون اضافه کنید:http://www.webhostingtalk.ir/f10/15748/

eh3an
April 11th, 2012, 19:59
shell,symlink,ini_restore,imap_body,imap_list,imap _open,mysql_list_dbs,snmpget,popen,stream_select,s ocket_select,socket_create,socket_create_listen,so cket_create_pair$ socket_listen,socket_accept,socket_bind,socket_str error,escapeshellarg,escapeshellcmd$ readlink,link,pfsockopen,ini_alter,dl,openlog,sysl og,putenv,pcntl_exec,pcntl_fork,pcntl_signal$ pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pc ntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pc ntl_wtermsig$ fpassthru,detcwd,system,passthru,exec,popen,proc_c lose,proc_get_status,proc_nice,proc_open,proc_term inate$ stream_selec,cntl_signal,pcntl_waitpid,pcntl_wexit status,pcntl_wifexited,pcntl_wifsignaled,pcntl_wif stop$ assthru,exec,proc_close,proc_get_status,proc_nice, proc_open,proc_terminate,shell_exec fpassthru,crack_check,crack_closedict,crack_getlas tmessage, crack_opendict,psockopen,php_ini_scanned_files,she ll-exec, system,dl,ctrl_dir,phpini,tmp,safe_mode,systemroot ,server_software ,get_current_user,HTTP_HOST,php_uname,ini_restore, popen,pclose ,exec,shell_exec,suExec,passthru,pclose,proc_open, proc_nice ,proc_terminate,proc_get_status,proc_close,pfsocko pen,leak, apache_child_terminate,posix_kill,posix_mkfifo,pos ix_setpgid ,posix_setsid,posix_setuid,escapeshellcmd,escapesh ellarg,posix_ctermid ,posix_getcwd,posix_getegid,posix_geteuid,posix_ge tgid,posix_getgrgid,posix_getgrnam ,posix_getgroups,posix_getlogin,posix_getpgid,posi x_getpgrp,posix_getpid,posix_getppid,posix_getpwna m ,posix_getpwuid,posix_getrlimit,posix_getsid,posix _getuid,posix_isatty,posix_kill,posix_mkfifo,posix _setegid ,posix_seteuid,posix_setgid,posix_setpgid,posix_se tsid,posix_setuid,posix_times,posix_ttyname,posix_ uname ,posix_access,posix_get_last_error,posix_getppid,p osix_mknod,posix_strerror,posix_access,posix_cterm id ,posix_get_last_error,posix_getcwd,posix_getegid,p osix_geteuid,posix_getgid,posix_getgrgid,posix_get grnam ,posix_getgroups,posix_getlogin,posix_getpgid,posi x_getpgrp,posix_getpid,posix_getppid,posix_getpwna m ,posix_getpwuid,posix_getrlimit,posix_getsid,posix _getuid,posix_initgroups,posix_isatty,posix_kill,p osix_mkfifo ,posix_mknod,posix_setegid,posix_seteuid,posix_set gid,posix_setpgid,posix_setsidposix_setuid,posix_s trerror ,posix_times,posix_ttyname,posix_uname,symlink


ببندید حالشو ببرید !

php.source
April 11th, 2012, 20:58
:دی چه کاریه
php رو بستید
peAR و چکار میکنید؟
اصلا منتقی نیست . و فقط کاربرا اذیت میشن

ourweb
April 11th, 2012, 21:17
:دی چه کاریه
php رو بستید
peAR و چکار میکنید؟
اصلا منتقی نیست . و فقط کاربرا اذیت میشن

اره من هم موافق هستم چرا php رو بستید؟

php.source
April 11th, 2012, 21:27
من بستم؟

ourweb
April 11th, 2012, 21:29
من بستم؟

نه منظورم دوستان بودند !!!

styx_ms
June 4th, 2012, 16:47
سلام

من میخواستم تابع shell_exec و escapeshellarg و exec رو فعال کنم.

برای دانلود تورنت باید فعال بشه

میخواستم بدونم که فعالسازی این توابع مشکل امنیتی خاصی بوجود میاره؟

ممنون

ali2k
June 4th, 2012, 17:33
سلام

من میخواستم تابع shell_exec و escapeshellarg و exec رو فعال کنم.

برای دانلود تورنت باید فعال بشه

میخواستم بدونم که فعالسازی این توابع مشکل امنیتی خاصی بوجود میاره؟

ممنون

فعال کردن دوتا تابع exec بسیار خطرناکه :)

styx_ms
June 4th, 2012, 23:51
فعال کردن دوتا تابع exec بسیار خطرناکه :)

ممنون

پس بهتره هر وقت فعال کردم همه لینک ها رو مستقیم کنم بعد دوباره غیر فعال کنم.

مثلا برای 10 12 ساعت فعال کنم که مشکلی پیش نمیاد؟

این مسائل امنیتی مربوط به هک کردنه؟

payameshghy
June 5th, 2012, 13:08
اگر برای استفاده شخصی چند ساعت فعال کنید مطمینا مشکلی پیش نمیاد اما اگر کلا فعالش کنید برای امنیت خطرناک هستش :d

robographic
July 29th, 2012, 16:01
الان ما روی سرور به pear احتیاج داریم واسه نصب و راه اندازی سیستم واسه مشتریامون چیکا کنیم ؟!

چطوری فعالش کنیم ؟!

مشکل امنیتیش چیه ؟

پس چرا گذاشتن اینو اصن اگه مشکل داره ؟

ServerMelli.com
January 2nd, 2013, 02:59
در هاستینگ های Share (اشتراکی) php.ini سفارشی یک از ضعف امنیتی می باشد، که فرد نفوذگر با آپلود یک php.ini و باز کردن فانکشن های خطرناکی که دوستان به برخی از آنها اشاره کردن و دسترسی shell می تواند به سرو شما دسترسی داشته باشد، این آموزش برای Apache 2.x و cPanel تهیه شده بود و دوستان توجه داشته باشید که این پست و پست های سایر دوستان تنها نکاتیست برای بالا بردن امنیت شما و این نکات قابل بایپس هستند ، پس امنیت شما رو تضمین نخواهند کرد بلکه تنها مقداری اون رو افزایش میدن.

بنابراین سایر وب مسترها و هاستینگ های شرکتی و یا شخصی می تونن از طریق سایت شرکت مهندسي مشاور تاپکو (http://www.tap-co.net) و یا پیغام خصوصی و یاهو ID بنده ، طی سفارش با نازل ترین قیمت ، با ما امنیت سرور خودشون رو تضمین کنند !

خوب بریم سراغ مراحل آموزش غیر disableکردن فایل php.ini :
برای غیر فعال کردن php.ini اختصاصی در SUPHP مراحل زیر رو باید طی کنید ؛

فایل زیر رو باز کنید :

usr/local/apache/conf/includes/pre_main_global.conf

و بعد دستورات زیر رو در اون قرار بدین :


suPHP_ConfigPath /usr/local/lib/

فایل زیر رو باز کرده :

/opt/suphp/etc/suphp.conf

حالا عبارت های اول خط های زیر رو حذف کنید :
application/x-httpd-php=/usr/local/lib/
application/x-httpd-php4=/usr/local/php4/lib/
application/x-httpd-php5=/usr/local/lib/

فایل رو save و apache رو restart کنید

service httpd restart

خیلی ممنون بابت راهنماییتون
بنده از centos 6 64 bit و suphp و directadmin استفاده می کنم ولی هر چقدر دنبال فایل
pre_main_global.conf می گردم تا تغییرات را اعمال کنم، موفق نمی شوم. در آدرس زیر اصلا چنین فایلی نیست :
usr/local/apache/conf/includes/pre_main_global.conf
به نظرتون فایل
pre_main_global.conf را از کجا پیدا کنم؟

در ضمن در داخل فایل suphp.conf هم اصلا دستورات زیر وجود نداشت.
application/x-httpd-php=/usr/local/lib/
application/x-httpd-php4=/usr/local/php4/lib/
application/x-httpd-php5=/usr/local/lib/

باید خودم اضافه کنم؟

VPS
January 2nd, 2013, 03:28
کانفیگ داده شده مربوط به cpanel است و برای دایرکت ادمین روش های دیگری موجود است.

ServerMelli.com
January 2nd, 2013, 03:29
کانفیگ داده شده مربوط به cpanel است و برای دایرکت ادمین روش های دیگری موجود است.

امکانش هست راهنمایی بفرمایید؟

VPS
January 2nd, 2013, 10:06
امکانش هست راهنمایی بفرمایید؟
من خودم بلد نیستم ولی چون مدیریت سرور هامون با کاربر Secure_Host (http://www.webhostingtalk.ir/member/165/) هست . ایشون برامون این تنظیم را انجام داده اند.

mahdi2009
February 19th, 2013, 13:34
امکانش هست راهنمایی بفرمایید؟

سلام.
در حالت دیفالت در کنترل پنل دایرکت ادمین php.ini یکتا هست! یعنی در حالت دیفالت نصب از نظر استفاده سایر یوزرها امن هست و کلیت سرور از یک فایل استفاده میکنه مگر اینکه با تنظیمات به یوزر یا ریسلر دسترسی php.ini اختصاصی بدین!

AINALE
June 20th, 2013, 10:29
یا سلام
من از کلوکسو استفاده میکنم و در جامعه مجازی نیاز دارم بهexec تا فعال باشه تا بتونم ffmpeg و در سایت هم بخش اپلود و نمایش ویدئو رو فعال کنم در سایت که میخوام فعال کنم این ارور رو میده
The PHP function "exec" is disabled and needed to run this check and convert uploaded videos
یعنی حالا اگه بخوام exec رو فعال کنم مشکلات امنیتی پیش میاد؟