الاسير
09-09-10, 06:19 PM
موضوع حبيت اكتبه لمن يرغب في الحصول على الحماية المطلوبة لسيرفرك الخاص
طبعا الكثير يعاني من الآختراقات المواقع من قبل الهكرز ولا يستطيع ايقاف هذا الآختراقات من قبل بعض المبتدئين في مجال الهكرز من ايقافهم من عملية الآختراقات واليوم حاب اشرح لكم طريقة حماية السيرفر من الآختراقات وسد الثغرات وتعطيل بعض الخدمات بخصوص الحماية
: : : البداية : : :
ينصح بتركيب برامج الحماية التالية على السيرفر :
Mod SuPHP
Mod Security
Suhosin for PHP
ويتم تركيبها من خلال لوحة التحكم WHM من الخيار
كود:
EasyApache (Apache Update)
وعند تحديث الآباتشي و البي اتش بي يتم تحديثها الى آخر اصداره متوفره لآغلاق الثغرات
عند تركيب برنامج Suphp يجب عليك ان تقوم بالتالي لكي لا تحدث لديك مشاكل :
نذهب الى ملف الآعدادات البرنامج suphp
كود:
pico /home/cpeasyapache/src/suphp.conf
وعدل القيم التالية :
كود:
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false
كود:
check_vhost_docroot=true
كود:
userdir_overrides_usergroup=false
full_php_process_display=true
آغلاق ثغرة برنامج Suphp
كود:
;Handler for php-scripts
application/x-httpd-php="php:/usr/bin/php"
application/x-httpd-php4="php:/usr/php4/bin/php"
application/x-httpd-php5="php:/usr/bin/php"
كود:
;Handler for CGI-scripts
;x-suphp-cgi="execute:!self"
كود:
;Uncommenting these will force all requests to that handler to use the php.ini
;in the specified directory regardless of suPHP_ConfigPath settings.
;application/x-httpd-php=/usr/local/lib/
;application/x-httpd-php4=/usr/local/php4/lib/
application/x-httpd-php5=/usr/local/lib/
شلنا علامة
كود:
[PHP];
بعد ذلك نذهب الى
pico /usr/local/apache/conf/php.conf
اضف هذا السطر :
suPHP_ConfigPath /usr/local/lib/php.ini
لصيبح شكله كتالي كما في الصورة :
http://img170.imageshack.us/img170/723/12c55c802a.png
بعد ذلك تروح لملف الآباتشي :
كود:
pico /usr/local/apache/conf/httpd.conf
ابحث عن :
كود:
AddHandler cgi-script .cgi .pl
واضف مامها علامة # لتصبح :
كود:
#AddHandler cgi-script .cgi .pl
وبعدين ابحث عن :
كود:
<Directory "/">
وتأكد بآنها بالشكل التالي :
إغلاق عمل .htaccess ونخلي الاوامر الاساسية تعمل
كود:
<Directory "/">
Options -ExecCGI -FollowSymLinks -Includes IncludesNOEXEC Indexes -MultiViews SymLinksIfOwnerMatch
AllowOverride AuthConfig Indexes Limit FileInfo Options=IncludesNOEXEC,Indexes,Includes, MultiViews,SymLinksIfOwnerMatch,FollowSy mLinks
</Directory>
نإتي الآن الى حماية الـ php :
كود:
pico /usr/local/lib/php.ini
وتإكد من القيم التالية :
safe_mode = On
كود PHP:
allow_url_fopen = Off
expose_php = Off
enable_dl = Off
register_globals = off`
كود PHP:
display_errors = Off
ابحث عن :
disable_functions
وضع امامها التالي :
كود:
dl,escapeshellarg,escapeshellcmd,exec,pr oc_close,proc_get_status,proc_nice,shell _exec,show_source,system,pcntl_exec,getr usage,chown,chgrp,closelog,openlog,syslo g,define_syslog_variables,php_ini_loaded _file,ini_get_all,get_cfg_var,getservbyn ame,getservbyport,symlink,exec,posix_get gid,posix_getgrgid,pclose,proc_terminate ,pfsockopen,apache_child_terminate,posix _mkfifo,posix_setpgid,posix_setuid,hypot ,pg_host,pos,posix_access,posix_getcwd,p osix_getservbyname,myshellexec,getpid,po six_getsid,posix_getuid,posix_isatty,pos ix_kill,posix_mknod,posix_setgid,posix_s etsid,posix_times,posix_uname,ps_fill,po six_getpwuid,global,ini_restore,zip_open ,zip_read,rar_open,bzopen,bzread,bzwrite ,apache_get_modules,apache_get_version,p hp_ini_scanned_files,get_current_user,di sk_total_space,diskfreespace,leak,imap_l ist,hypo,filedump,gethostbyname,safe_mod e,ob_clean,getmygid,apache_getenv,apache _setenv,bzread,bzwrite,bzopen,phpini,tem pnam,higlight_file,sscanf,dos_conv,get_c wd,error_log,cmd,e_name,vdir,get_dir,onl y_rad,ftok,set_time_limit,ftpexec,posix_ getpwnam,getmyuid,glob,mysql_list_dbs,di sk_free_space,session_save_path,confirm_ phpdoc_compiled,zip_entry_read,php_u,pso ckopen,crack_opendict,crack_getlastmessa ge,crack_closedict,crack_check,fpassthru ,hell-exec,posix_get_last_error,posix_getlogin ,posix_getgroups,posix_strerror,posix_ge trlimit,posix_getpgrp,posix_getgrnam,pos ,popen,realpathchdir,chmod,safe_dir,sess ion.save_path,php_getuid,php_checkuid,db a_replace,ini_alter,virtual,readlink,res tore_ini,hopenbasedir,f_open,pconnect,pa rse_ini_file,stream_select,socket_select ,socket_create,socket_create_listen,sock et_create_pair,socket_listen,socket_acce pt,socket_bind,foreach,socket_strerror,p cntl_fork,pcntl_signal,pcntl_waitpid,pcn tl_wexitstatus,pcntl_wifexited,pcntl_wif signaled,pcntl_wifstopped,pcntl_wstopsig ,pcntl_wtermsig,passthru,detcwd,shell,im ap_body,imap_open,putenv,shell-exec,mysql_pconnect,inject_code,ftp_rawl ist,ftp_raw,ftp_nb_fput,ftp_put,ftp_get, ftp_login,ftp_connect,ftp_exec,highlight _file,apache_note,base64_encodem,mkdir,c url_exec,curl_setopt_array,curl_setopt
وظيف هذه عشان ما تحصل مشاكل بالمنتدى
كود:
; Solution Problem VB
suhosin.request.max_vars = 1024
suhosin.post.max_vars = 1024
http://cdn5.tribalfusion.com/media/37536.gif (http://a.tribalfusion.com/h.click/a7my7a0Gv01VM50cjnmqFV3FM2TUZbFVmMTPTU1P cMtStjN0HZbtT6vp2GB5YbBZcUPqu46BgR6bG2HM p0HBKpdEo5AUY5V3fUsJ8WGFgR6FvWd3RTUbX5re uWEjxVTFiQEQZcQc3ZcPUuv4qMWdcQw1j/http://a.tribalfusion.com)
تركيب برنامج CHKROOTKIT + RKHunter
تركيب برنامج ClamAv الآصدار الآخير حيث ان الاصدار الآخيرة تقوم بمنع اي ملف شيل حتى لو مشفر من دخول موقعك او ترفع الملفات الشيل بواسطة الاف تي بي او السي بنال بيحظرها تلقائي ويتعرف عليها وانصحك بتركيبها يدوياً وليس من Cpanel
بعد ذلك تركيب الرولز للمود سيكورتي
طريقة التركيب :
ادخل لوحة التحكم WHM
ادخل الى الخيار : Mod Security
واضغط بعد ذلك على Edit config
تصاريح الملفات يجب تغيرها :
ادخل الشيل ونفذ الآمر التالي :
كود:
cd /bin
chmod 700 pwd
chmod 700 ls
chmod 700 uname
chmod 700 ln
chmod 700 cat
chmod 700 domainname
chmod 700 more
chmod 700 netstat
chmod 700 passwd
chmod 700 sh
chmod 700 su
chmod 700 touch
chmod 700 kill
chmod 700 ls
chmod 700 vi
chmod 750 /usr/bin/wget
chmod 750 /usr/bin/scp
كود:
chmod 700 /usr/bin/perl
chmod 700 /usr/local/bin/perl
chown root:root /usr/local/bin/perl
chown root:root /usr/bin/perl
كود :
chmod 4755 /etc/passwd
chmod 400 /etc/shadow-
chmod 400 /etc/shadow
/scripts/compilers off
تعطيل التلنت بطريقة يدوية :
كود:
pico /etc/xinetd.d/krb5-telnet
او
كود:
pico /etc/xinetd.d/telnet
راح تلقى في الملف
كود:
disable=no
غيرها الى
كود:
disable=yes
بعد ذلك تركيب LES لحماية ملفات النظام :
كود PHP:
cd /usr/src
wget http://www.r-fx.ca/downloads/les-current.tar.gz
tar -zxvf les-current.tar.gz
cd les*
sh install.sh
/usr/local/sbin/les -ea 1
ولا تنسى تفعيل
cPHulk Brute Force Protection
PHP open_basedir Tweak
Apache mod_userdir Tweak
Shell Fork Bomb Protection
وتعطيل
Compilers Tweak
ويتم تفعيلها وتعطيلها من الخيار داخل WHM اسمه Security Center
ENABLE تعني تفعيل
Disable يعني تعطيل
هذا كل ما اتذكره في الوقت الحالي وسوف يتم تحديث الموضوع كل ما طرء شيء جديد على الحماية
منقول للفائدة
طبعا الكثير يعاني من الآختراقات المواقع من قبل الهكرز ولا يستطيع ايقاف هذا الآختراقات من قبل بعض المبتدئين في مجال الهكرز من ايقافهم من عملية الآختراقات واليوم حاب اشرح لكم طريقة حماية السيرفر من الآختراقات وسد الثغرات وتعطيل بعض الخدمات بخصوص الحماية
: : : البداية : : :
ينصح بتركيب برامج الحماية التالية على السيرفر :
Mod SuPHP
Mod Security
Suhosin for PHP
ويتم تركيبها من خلال لوحة التحكم WHM من الخيار
كود:
EasyApache (Apache Update)
وعند تحديث الآباتشي و البي اتش بي يتم تحديثها الى آخر اصداره متوفره لآغلاق الثغرات
عند تركيب برنامج Suphp يجب عليك ان تقوم بالتالي لكي لا تحدث لديك مشاكل :
نذهب الى ملف الآعدادات البرنامج suphp
كود:
pico /home/cpeasyapache/src/suphp.conf
وعدل القيم التالية :
كود:
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false
كود:
check_vhost_docroot=true
كود:
userdir_overrides_usergroup=false
full_php_process_display=true
آغلاق ثغرة برنامج Suphp
كود:
;Handler for php-scripts
application/x-httpd-php="php:/usr/bin/php"
application/x-httpd-php4="php:/usr/php4/bin/php"
application/x-httpd-php5="php:/usr/bin/php"
كود:
;Handler for CGI-scripts
;x-suphp-cgi="execute:!self"
كود:
;Uncommenting these will force all requests to that handler to use the php.ini
;in the specified directory regardless of suPHP_ConfigPath settings.
;application/x-httpd-php=/usr/local/lib/
;application/x-httpd-php4=/usr/local/php4/lib/
application/x-httpd-php5=/usr/local/lib/
شلنا علامة
كود:
[PHP];
بعد ذلك نذهب الى
pico /usr/local/apache/conf/php.conf
اضف هذا السطر :
suPHP_ConfigPath /usr/local/lib/php.ini
لصيبح شكله كتالي كما في الصورة :
http://img170.imageshack.us/img170/723/12c55c802a.png
بعد ذلك تروح لملف الآباتشي :
كود:
pico /usr/local/apache/conf/httpd.conf
ابحث عن :
كود:
AddHandler cgi-script .cgi .pl
واضف مامها علامة # لتصبح :
كود:
#AddHandler cgi-script .cgi .pl
وبعدين ابحث عن :
كود:
<Directory "/">
وتأكد بآنها بالشكل التالي :
إغلاق عمل .htaccess ونخلي الاوامر الاساسية تعمل
كود:
<Directory "/">
Options -ExecCGI -FollowSymLinks -Includes IncludesNOEXEC Indexes -MultiViews SymLinksIfOwnerMatch
AllowOverride AuthConfig Indexes Limit FileInfo Options=IncludesNOEXEC,Indexes,Includes, MultiViews,SymLinksIfOwnerMatch,FollowSy mLinks
</Directory>
نإتي الآن الى حماية الـ php :
كود:
pico /usr/local/lib/php.ini
وتإكد من القيم التالية :
safe_mode = On
كود PHP:
allow_url_fopen = Off
expose_php = Off
enable_dl = Off
register_globals = off`
كود PHP:
display_errors = Off
ابحث عن :
disable_functions
وضع امامها التالي :
كود:
dl,escapeshellarg,escapeshellcmd,exec,pr oc_close,proc_get_status,proc_nice,shell _exec,show_source,system,pcntl_exec,getr usage,chown,chgrp,closelog,openlog,syslo g,define_syslog_variables,php_ini_loaded _file,ini_get_all,get_cfg_var,getservbyn ame,getservbyport,symlink,exec,posix_get gid,posix_getgrgid,pclose,proc_terminate ,pfsockopen,apache_child_terminate,posix _mkfifo,posix_setpgid,posix_setuid,hypot ,pg_host,pos,posix_access,posix_getcwd,p osix_getservbyname,myshellexec,getpid,po six_getsid,posix_getuid,posix_isatty,pos ix_kill,posix_mknod,posix_setgid,posix_s etsid,posix_times,posix_uname,ps_fill,po six_getpwuid,global,ini_restore,zip_open ,zip_read,rar_open,bzopen,bzread,bzwrite ,apache_get_modules,apache_get_version,p hp_ini_scanned_files,get_current_user,di sk_total_space,diskfreespace,leak,imap_l ist,hypo,filedump,gethostbyname,safe_mod e,ob_clean,getmygid,apache_getenv,apache _setenv,bzread,bzwrite,bzopen,phpini,tem pnam,higlight_file,sscanf,dos_conv,get_c wd,error_log,cmd,e_name,vdir,get_dir,onl y_rad,ftok,set_time_limit,ftpexec,posix_ getpwnam,getmyuid,glob,mysql_list_dbs,di sk_free_space,session_save_path,confirm_ phpdoc_compiled,zip_entry_read,php_u,pso ckopen,crack_opendict,crack_getlastmessa ge,crack_closedict,crack_check,fpassthru ,hell-exec,posix_get_last_error,posix_getlogin ,posix_getgroups,posix_strerror,posix_ge trlimit,posix_getpgrp,posix_getgrnam,pos ,popen,realpathchdir,chmod,safe_dir,sess ion.save_path,php_getuid,php_checkuid,db a_replace,ini_alter,virtual,readlink,res tore_ini,hopenbasedir,f_open,pconnect,pa rse_ini_file,stream_select,socket_select ,socket_create,socket_create_listen,sock et_create_pair,socket_listen,socket_acce pt,socket_bind,foreach,socket_strerror,p cntl_fork,pcntl_signal,pcntl_waitpid,pcn tl_wexitstatus,pcntl_wifexited,pcntl_wif signaled,pcntl_wifstopped,pcntl_wstopsig ,pcntl_wtermsig,passthru,detcwd,shell,im ap_body,imap_open,putenv,shell-exec,mysql_pconnect,inject_code,ftp_rawl ist,ftp_raw,ftp_nb_fput,ftp_put,ftp_get, ftp_login,ftp_connect,ftp_exec,highlight _file,apache_note,base64_encodem,mkdir,c url_exec,curl_setopt_array,curl_setopt
وظيف هذه عشان ما تحصل مشاكل بالمنتدى
كود:
; Solution Problem VB
suhosin.request.max_vars = 1024
suhosin.post.max_vars = 1024
http://cdn5.tribalfusion.com/media/37536.gif (http://a.tribalfusion.com/h.click/a7my7a0Gv01VM50cjnmqFV3FM2TUZbFVmMTPTU1P cMtStjN0HZbtT6vp2GB5YbBZcUPqu46BgR6bG2HM p0HBKpdEo5AUY5V3fUsJ8WGFgR6FvWd3RTUbX5re uWEjxVTFiQEQZcQc3ZcPUuv4qMWdcQw1j/http://a.tribalfusion.com)
تركيب برنامج CHKROOTKIT + RKHunter
تركيب برنامج ClamAv الآصدار الآخير حيث ان الاصدار الآخيرة تقوم بمنع اي ملف شيل حتى لو مشفر من دخول موقعك او ترفع الملفات الشيل بواسطة الاف تي بي او السي بنال بيحظرها تلقائي ويتعرف عليها وانصحك بتركيبها يدوياً وليس من Cpanel
بعد ذلك تركيب الرولز للمود سيكورتي
طريقة التركيب :
ادخل لوحة التحكم WHM
ادخل الى الخيار : Mod Security
واضغط بعد ذلك على Edit config
تصاريح الملفات يجب تغيرها :
ادخل الشيل ونفذ الآمر التالي :
كود:
cd /bin
chmod 700 pwd
chmod 700 ls
chmod 700 uname
chmod 700 ln
chmod 700 cat
chmod 700 domainname
chmod 700 more
chmod 700 netstat
chmod 700 passwd
chmod 700 sh
chmod 700 su
chmod 700 touch
chmod 700 kill
chmod 700 ls
chmod 700 vi
chmod 750 /usr/bin/wget
chmod 750 /usr/bin/scp
كود:
chmod 700 /usr/bin/perl
chmod 700 /usr/local/bin/perl
chown root:root /usr/local/bin/perl
chown root:root /usr/bin/perl
كود :
chmod 4755 /etc/passwd
chmod 400 /etc/shadow-
chmod 400 /etc/shadow
/scripts/compilers off
تعطيل التلنت بطريقة يدوية :
كود:
pico /etc/xinetd.d/krb5-telnet
او
كود:
pico /etc/xinetd.d/telnet
راح تلقى في الملف
كود:
disable=no
غيرها الى
كود:
disable=yes
بعد ذلك تركيب LES لحماية ملفات النظام :
كود PHP:
cd /usr/src
wget http://www.r-fx.ca/downloads/les-current.tar.gz
tar -zxvf les-current.tar.gz
cd les*
sh install.sh
/usr/local/sbin/les -ea 1
ولا تنسى تفعيل
cPHulk Brute Force Protection
PHP open_basedir Tweak
Apache mod_userdir Tweak
Shell Fork Bomb Protection
وتعطيل
Compilers Tweak
ويتم تفعيلها وتعطيلها من الخيار داخل WHM اسمه Security Center
ENABLE تعني تفعيل
Disable يعني تعطيل
هذا كل ما اتذكره في الوقت الحالي وسوف يتم تحديث الموضوع كل ما طرء شيء جديد على الحماية
منقول للفائدة