فارس قطر
18-03-10, 04:31 AM
بسم الله الرحمن الراحيم
• سوف اقدم لكم في هذه الدورة خلاصة ما تعلمته في اخر 3 اشهر من الانترنت في مجال السيرفرات ارجو ان تنال هذه الدورة اعجابكم واعجاب عقولكم
ساطلق عل هذه الدورة :
CSS : Complete Servers Solutions
سوف تشمل الدورة التالي :
• اعداد السيرفر عند استلامه
• حماية السيرفر من الالف للياء
سوف تكون هذه الدورة خاصة فقط بسيرفرات Linux ولوحة التحكم CPenel
بسم الله بدانا :
عند تسلمك السيرفر لاول مرة سوف تقوم بالدخول ال WHM ونبدا بالاعداد سوف ندخل مستخدمين اي بي السيرفر
127.0.0.1:2087
مع تغير الـ 127.0.1.1 الى اي بي السيرفر
سوف تضهر لك هذه : في جهة اليسار اضغط كما هو مبين
http://www.sa3eka.com/image/server/css/1.png
في الجهة اليمن سوف تظهر كلام طويل هو الاتفاقية لشركة CPANEL اضغط هذا الزر بالاسفل :
http://www.sa3eka.com/image/server/css/2.png
ونكمل في هذه الخطوة نقوم :
http://www.sa3eka.com/image/server/css/3.png
عند خطوة DNS لا تنس الضغط على الزرين المحديددن والتاكد من DNS Zone لهما
قم بحفظ ما قمت به من تعديلات :
http://www.sa3eka.com/image/server/css/4.png
ثم في الجهة اليسرى اضغط :
http://www.sa3eka.com/image/server/css/5.png
سوف تفتح لك في الهة اليمنى كلام طويل عريض انتظر الى ان ينتهي وترى كلمة done في اسفل الا**بلوورر
ثم قم بالضغط http://www.sa3eka.com/image/server/css/5.png
http://www.sa3eka.com/image/server/css/6.png
يجب ان ترى هذه النتيجة :
كود PHP:
Starting named: [ OK ]
Restarting Nameserver
Starting named: [ OK ]
Restarting chkservd
Stopping chkservd: [ OK ]
Starting chkservd: [ OK ]
http://www.sa3eka.com/image/server/css/5.png
تجاهل هذه الخطوة Resolv
الان قم بوضع باس الروت لـ MySql يجب ان تكون صعبة ويمكنها وضعها عشوائيا بدون ان تحفظها فانت ما رح تحتاجها
http://www.sa3eka.com/image/server/css/7.png
ثم اضغط :
http://www.sa3eka.com/image/server/css/8.png
http://www.sa3eka.com/image/server/css/9.png
بعدها اذهب الى :
Main >> Networking Setup >> Hostname
تاكد من hostname ثم اضغط change
ثم اضغط :
http://www.sa3eka.com/image/server/css/10.png
سوف يضهر لك التالي :
كود PHP:
Found your hostname to be: host.traidnt.net
Found your short hostname to be: traidnt
Found your domain name to be: host.traidnt.net
Found your main ip to be: 75.126.228.120
If this looks correct,
ثم اضغط الزر Add The entry
تم الانتهاء من اعداد WHM الان قم باغلاق WHM واذهب الى SSH
الآن نروح نفتح شاشة الـ SSH
يجب عليك تحميل برنامج putty
اضغط هنا لتحميل البرنامج PUTTY (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe)
وهذا شرح طريقة الدخول لمن لا يعرف الطريقة الدخول SSH
http://www.sa3eka.com/image/server/css/putty1.JPG
اول ما راح تكتب الأي بي وتسوي OPEN راح تظهر لك شاشة سوداء
يطلب منك اليوزر نيم والباسورد
طريقة ألصاق الكتابة في الـ SSH تضغط بالزر الأيمن للمواس راح تلقى الكلام الي نسخته تم كتابته في الـ SSH
الان تابع الخطوات
كود PHP:
pico /etc/nameserverips
ضع فيه التالي :
كود PHP:
75.126.228.120=ns1.traidnt.net
75.126.228.121=ns2.traidnt.net
75.126.228.122=0
75.126.228.123=0
وقم بوضع اي ايبي تابع لسيرفر وضع امام الايبيهات الغير مستخدمة 0
قم بحفظ الملف Ctrl+x
كود PHP:
service named restart
service chkservd restart
service cpanel restart
بعدها
كود PHP:
pico /etc/resolv.conf
domain traidnt.net
search traidnt.net
server.traidnt.net 127.0.0.1
ns1.traidnt.net 123.456.78.90
ns2.traidnt.net 123.456.78.91
ns3.traidnt.net 123.456.78.92
ns4.traidnt.net 123.456.78.93
بعدها نسوي حفظ Ctrl+x
كود PHP:
service named restart
service chkservd restart
service cpanel restart
بعدها نروح
كود PHP:
pico /etc/named.conf
نقوم بوضع تحت هذا السطر التالي :
كود PHP:
include "/etc/rndc.key";
كود PHP:
acl "trusted" {
72.46.145.32;72.46.145.33;72.46.145.34;7 2.46.145.35;127.0.0.1;
};
في منطقة Options ضع :
كود PHP:
allow-recursion { trusted; };
allow-notify { trusted; };
allow-transfer { trusted; };
ليصبح شكله كتالي :
http://www.sa3eka.com/image/server/css/name.JPG
اذا كان لديك ايبيهات اخرى لا تنسى وضعها
ثم احفظ الملف Ctrl+x وقم بالتالي :
كود PHP:
service named restart
service chkservd restart
service cpanel restart
نعود لـ WHM :
اذهب الى :
Main >> DNS Functions >> Edit Zone Templates
قم بالتعديل على كل القوالب الثلاثة : simple . standard . standardvirtualftp
سوف نقوم بالتعديل على :
كود PHP:
86400 ; *******, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 تصبح : 7200
3600000 تصبح : 2419200
ثم احفظ الملفات وعد للشل ونفذ هذه الاوامر
كود PHP:
service named restart
service chkservd restart
service cpanel restart
بعد ذلك نقوم بتحديث برامج السيرفر من خلال SSH كتالي :
تحديث لوحة التحكم CPANEL
كود PHP:
/scripts/upcp
ترقية الآكزايم exim
كود PHP:
/scripts/exim4
ترقية قواعد البيانات MYSQL
كود PHP:
/scripts/mysqlup --force
ترقية الأف تي بي FTP
كود PHP:
/scripts/ftpup --force
امر اصلاح البريد
كود PHP:
/scripts/mailperm
امر اصلاح المساحات
كود PHP:
/scripts/fixquotas
ترقية الأباتشي + PHP
شرح مفصل لترقية الأباتشي و تركيب البرامج الهامة
نكتب الأمر التالي :
كود PHP:
/scripts/easyapache
http://www.sa3eka.com/image/server/css/apche1.JPG
http://www.sa3eka.com/image/server/css/apche2.JPG
http://www.sa3eka.com/image/server/css/apche3.JPG
http://www.sa3eka.com/image/server/css/apche4.JPG
طبعا ينصح بتركيب اخر اصدار من الـ php
http://www.sa3eka.com/image/server/css/apche5.JPG
بعد ذلك نقوم ايضا بتفعيل هذه البرامج لأنها هامة جدا للسكربت لكي تعمل
CURL
CURLWRAPPERS
OPENSSL
XSL
ZIP
واخير نختار SAVE AND BULED
سوف ياخذ وقت طويل تقريبا 10 دقائق الى 20 دقيقة تقريباً
بعد تحديث البرامج نقوم بإعادة ريستارت لها :
كود PHP:
# /scripts/restartsrv httpd
# /etc/rc.d/init.d/cpanel restart
# /scripts/restartsrv mysql
# /scripts/restartsrv named
# /scripts/restartsrv exim
# service chkservd restart
# /etc/init.d/crond restart
تحديث OpenSSH :
كود PHP:
cd /usr/src
كود PHP:
wget ftp://openbsd.secsup.org/pub/openbsd/OpenSSH/portable/openssh-5.1p1.tar.gz
tar -zxf openssh*
cd openssh*
كود PHP:
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check
كود PHP:
make
make test
make install
تحديث bind9
كود PHP:
cd /usr/src
wget http://ftp.isc.org/isc/bind9/9.4.1-P1/bind-9.4.1-P1.tar.gz
tar -zxf bind*
cd bind*
./configure
make
make test
make install
هذا الجزء متعلق بالحماية :
1 • الحماية ضد Dos , DDos
? تقوية sysctl.conf و host.conf
كود PHP:
cd /etc/
mv sysctl.conf sysctl.conf.css
كود PHP:
pico sysctl.conf
ضع فيه التالي :
كود PHP:
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_rout e = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0
# Lower retry rates
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Max File Handlers
fs.file-max = 8192
# Disable CTR+ALT+DEL Restart Keys
kernel.ctrl-alt-del = 1
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15
# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800
# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0
# Turn off the tcp_sack
net.ipv4.tcp_sack = 0
# Turn off the tcp_timestamps
net.ipv4.tcp_timestamps = 0
# Enable TCP SYN ****** Protection
net.ipv4.tcp_syn******s = 1
# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_respons es = 1
# Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 1
# Increases the size of the socket queue (effectively, q0).
net.ipv4.tcp_max_syn_backlog = 1024
# Increase the tcp-time-wait buckets pool size
net.ipv4.tcp_max_tw_buckets = 1440000
# Allowed local port range
net.ipv4.ip_local_port_range = 16384 65536 16384 65536
ثم نحفظ العمل
كود PHP:
/sbin/sysctl -p
كود PHP:
sysctl -w net.ipv4.route.flush=1
ثم
كود PHP:
cd /etc
mv host.conf host.conf.css
كود PHP:
pico host.conf
نضع فيه التالي :
كود PHP:
# Lookup names via DNS first then fall back to /etc/hosts
order hosts,bind
# Check for IP address spoofing.
nospoof on
# multiple IP addresses
multi on
ثم
كود PHP:
httpd restart
اعلاق الخدمات الغير ضرورية :
كود PHP:
service cups-config-daemon stop
chkconfig cups-config-daemon off
service iiim stop
chkconfig iiim off
service mDNSResponder stop
chkconfig mDNSResponder off
service nifd stop
chkconfig nifd off
service rpcidmapd stop
chkconfig rpcidmapd off
service bluetooth stop
chkconfig bluetooth off
service anacron stop
chkconfig anacron off
service gpm stop
chkconfig gpm off
service saslauthd stop
chkconfig saslauthd off
service avahi-daemon stop
chkconfig avahi-daemon off
service avahi-dnsconfd stop
chkconfig avahi-dnsconfd off
service hidd stop
service cups stop
chkconfig cups off
service xfs stop
chkconfig xfs off
service atd stop
chkconfig atd off
service nfslock stop
chkconfig nfslock off
service canna stop
chkconfig canna off
service FreeWnn stop
chkconfig FreeWnn off
chkconfig hidd off
service pcscd stop
chkconfig pcscd off
service sbadm stop
chkconfig sbadm off
service webmin stop
chkconfig webmin off
حماية ملفات النظام :
كود PHP:
echo 1 > /proc/sys/net/ipv4/tcp_syn******s
كود PHP:
chmod 750 /usr/bin/rcp
chmod 750 /usr/bin/wget
chmod 750 /usr/bin/lynx
chmod 750 /usr/bin/links
chmod 750 /usr/bin/scp
كود PHP:
chmod 000 /etc/httpd/proxy/
chmod 000 /var/spool/samba/
chmod 000 /var/mail/vbox/
تركيب 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
اغلاق المترجمات
كود PHP:
chmod 000 /usr/bin/perlcc
chmod 000 /usr/bin/byacc
chmod 000 /usr/bin/yacc
chmod 000 /usr/bin/bcc
chmod 000 /usr/bin/cc
chmod 000 /usr/bin/gcc
chmod 000 /usr/bin/i386*cc
كود PHP:
/scripts/compilers off
حمايه أوامر الشل من خلال المجلد bin
أفتح الشل و قم بتنفيذ الأوامر التاليه :
كود PHP:
cd /bin
كود PHP:
chmod 700 basename
chmod 700 bash
chmod 700 cat
chmod 700 chmod
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
حماية tmp :
كود PHP:
/scripts/securetmp
ثم افتح
كود PHP:
pico /etc/fstab
امام كلمة defaults ضع ( noexec,nosuid ) ليصبح السطر هكذا :
كود PHP:
LABEL=/tmp /tmp ext3 defaults,noexec,nosuid
/tmp /var/tmp ext3 defaults,noexec,nosuid,bind,noauto
none /dev/shm tmpfs defaults,noexec,nosuid
ثم احفظ الملف ونفذ هذا الامر :
umount /dev/shm
mount /dev/shm
الحماية ضد spam
ضع تخت هذا السطر :
كود PHP:
#!!# cPanel Exim 4 Config
ضع تحتة :
log_selector = +arguments +subject
احفظ الملف وسوي ريستارت
كود PHP:
service exim restart
service cpanel restart
نإتي الآن الى حماية الـ php :
نكتب الامر التالي :
كود PHP:
pico /usr/local/lib/php.ini
في اول سطر هو [php]
ضيف تحته مباشرة
reveal_php 0
وتإكد من القيم التالية :
كود PHP:
safe_mode = On
كود PHP:
allow_url_fopen = Off
كود PHP:
expose_php = Off
كود PHP:
enable_dl = Off
كود PHP:
include_path "/usr/lib/php:/usr/local/lib/php:/tmp:/home"
كود PHP:
register_globals = off
كود PHP:
display_errors = Off
كود PHP:
allow_call_time_pass_reference = off
كود PHP:
safe_mode_include_dir = /usr/local/php/include
كود PHP:
safe_mode_exec_dir = /usr/local/php/bin
ابحث عن :
disable_functions
وضع امام كتالي ليصبح شكله :
كود PHP:
disable_functions = dl,system,exec,passthru,popen,****l_exec ,proc_close,proc_open,proc_nice,proc_ter minate,pro_get_status,posix_getpwuid,pos ix_uname,openlog,syslog,ftp_exec,posix_u name,posix_getpwuid,posix_getpwnam,posix _kill,posix_mkfifo,posix_setpgid,posix_s etsid,posix_setuid,get_current_user,chgr p,apache_note,apache_setenv,apache_child _terminate,closelog,debugger_off,debugge r_on,ini_restore,curl_init,curl_exec,cur l,escape****lcmd,escape****larg,virtual, highlight_file,pclose,pcntl_exec,****lex ec,chgrp,apache_setenv,define_syslog_var iables,hw_root,allow_url_fopen,php_uname ,posix_kill,apache_child_terminate,php_i ni_scanned_files,ps_aux,chown,getrsage,p osixc,posame,chgrp,posix_setgid,apache_n ote,apache_setenv,mysql_list_dbs,glob,er ror_log,ini_get_all,fileowner,sscanf,pop en,popens,apache_get_modules,crack_check ,crack_closedict,crack_getlastmessage,cr ack_opendict,posix_isatty,posix_access,p osix_times,posix_mknod,get_cfg_var,getse rvbyname,
وابحث عن :
كود PHP:
max_execution_time
وغير القيمة الى 3600
وتحتها مباشرة غير القيمة الـ
كود PHP:
max_input_time
الى 3600
وتحتها مباشرة راح تلقى :
كود PHP:
memory_limit
غير القيمة الى 64M او 128M او 256M
بعد ذلك ابحث عن :
كود PHP:
upload_max_filesize
وغير القيمة الى 10M
هذا الخيار هام لوضع اقصى مساحة ملف ممكن رفعها من خلال السي بنال وهي الأفتراضي 2M ويفضل رفعها حسب رغبت مدير الأستضافة يفضل وضعها 5M او 10M
واخير ابحث عن :
كود PHP:
post_max_size
وضع القيمة مناسبة 50M
بعد ذلك اضف في نهاية الملف php.ini التالي :
كود PHP:
; Solution Problem VB
suhosin.request.max_vars = 1024
suhosin.post.max_vars = 1024
هذه النقطة هامة لمن قام بتركيب suPHP وهذا لتعزيز الحماية في السيرفر
بعد ذلك نروح الى :
كود PHP:
pico /usr/local/apache/conf/php.conf
اضف هذا السطر :
كود PHP:
suPHP_ConfigPath /usr/local/lib/php.ini
وهذه صورة توضيحية لشكل الملف :
http://www.talkinweb.org/uploads/12c55c802a.png
بعد ذلك نسوي حفظ للعمل ونسوي ريستارت للأباتشي :
كود PHP:
httpd restart
بعد ذلك حماية الأباتشي :
نروح لملف الأباتشي :
كود PHP:
pico /usr/local/apache/conf/httpd.conf
لتعطيل البيرل بالسيرفر :
ابحث عن :
كود PHP:
AddHandler cgi-script .cgi .pl
وسوي امامة علامة #
لتعطيل البيرل
وبعدين ابحث عن :
كود PHP:
<Directory "/">
وخلية زي كذا
كود PHP:
<Directory "/">
Options SymLinksIfOwnerMatch
AllowOverride All
</Directory>
وبحث عن :
كود PHP:
ServerSignature ON
وخلية off
وضع تحتها التالي :
كود PHP:
ServerTokens Full
SecServerSignature "Security by Host2Need.Com"
بعدين سوي حفظ للعمل وريستارت للأباتشي
كود PHP:
httpd restart
بعد ذلك تركيب برنامج ELS او Easy Linux Security
هذا البرنامج يحتوي على برامج اساسية للسيرفر وراح ناخذ منه بعض البرامج الهامة التي نحتاج اليها في السيرفر لتعزيز الحماية
للتركيب البرنامج اكتب الامر التالي :
كود PHP:
wget --output-********=installer.sh http://servermonkeys.com/projects/els/installer.sh; chmod +x installer.sh; sh installer.sh
راح نركب البرامج التالية :
Install RKHunter
Install RKHunter Cronjob which emails a user-set email address nightly
Install/update APF
Install/update BFD
Install CHKROOTKIT
Install CHKROOTKIT Cronjob which emails a user-set email address nightly
Disable Telnet
Secure /tmp
Tweak WHM Settings for security and stability
Optimize MySQL tables
نـبداء الشرح :
نقوم بتحديث سكربت ELS عن طريق الأمر التالي :
كود PHP:
els --update
اذا هناك تحديث سوف يقوم به تلقائيا اذا كانت لديك أخر نسخه من الاسكربت سوف تظهر هذه الرساله :
كود PHP:
ELS 3.0.0.3 is the latest release, there is no need to update.
اولا : تركيب برنامج الجدار الناري APF مع افضل اعدادات
نكتب الأمر التالي لتركيب البرنامج :
كود PHP:
els --apf
بعد تنزيل البرنامج نكتب الأمر التالي لضبط الأعدادات :
كود PHP:
pico /etc/apf/conf.apf
ونتإكد من القيم التالية بإنها :
كود PHP:
EGF="1"
USE_DS="1"
USE_AD= 1
بعد ذلك نسوي حفظ للعمل
بعد ذلك نذهب الى الملف التالي :
كود PHP:
pico /etc/apf/ad/conf.antidos
ونتأكد من القيم التالية :
كود PHP:
LP_KLOG="1"
CONAME="Your Company"
USR_*****="1"
USR="you@yourco.com"
بعد ذلك نسوي خفظ للملف
هذه اوامر مهمة للفايرول :
تشغيل الفايرول :
كود PHP:
/usr/local/sbin/apf -s
اعادة تشغيل الفايرول :
كود PHP:
/usr/local/sbin/apf -r
ايقاف الفايرول :
كود PHP:
/usr/local/sbin/apf -f
مشاهدة حالة الفايرول :
كود PHP:
/usr/local/sbin/apf -st
للسماح للأي بي
كود PHP:
/usr/local/sbin/apf -a 124.11.11.11
لحظر أي بي شخص بالفيرول
كود PHP:
/usr/local/sbin/apf -d 124.11.11.11
بعد الانتهاء نقوم بتشغيل الفايرول اكتب الأمرين التالين :
كود PHP:
/etc/apf/ad/antidos -a
/usr/local/sbin/apf -r
ثانيا : بعد الانتهاء من تركيب الفايرول نقوم بتركيب برنامج الحماية BFD (Brute Force Detection)
لتركيب البرنامج اكتب الأمر التالي :
كود PHP:
els --bfd
ولضبط اعدادات البرنامج نكتب الأمر التالي :
كود PHP:
pico -w /usr/local/bfd/conf.bfd
يجب انت تكون القيم كتالي :
كود PHP:
*****_USR="1"
EMAIL_USR=you@yoursite.com
مع استبدال البريد الإلكتروني
نسوي حفظ للملف
لتشغيل البرنامج نكتب الأمر التالي :
كود PHP:
/usr/local/sbin/bfd -s
معلومة هامة حول البرنامج :
للسماح بالأي بي
كود PHP:
pico -w /etc/apf/allow_hosts.rules
ونضع الأي بي داخل الملف ونسوي له حفظ
ولحظر اي بي نروح الى
كود PHP:
pico -w /usr/local/bfd/ignore.hosts
ونضع الأي بي داخل الملف ونسوي له حفظ
ثالثا : تركيب برنامج الحماية من هجمات DOS-Deflate
تنصيب البرنامج :
كود PHP:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0755 install.sh
./install.sh
بعد ذلك نقوم بضبط الأعدادات :
كود PHP:
pico /usr/local/ddos/ddos.conf
ونغير التالي :
كود PHP:
Set NO_OF_CONNECTIONS=150
نغيرها الى اي رقم تريده
هذا الخيار للوضع حدد لعدد الأتصالات بالسيرفر للأي بي الواحد
يفضل وضعها 300 او 250
وتإكد من القيم التالية :
كود PHP:
APF_BAN=1
EMAIL_TO=xxx@xxx.com
هذا عدد الوقت بالثانية للحظر 600 ثانية
BAN_PERIOD=600
لمعرفة المتصلين بالسيرفر نكتب الامر هذا
كود PHP:
cd /usr/local/ddos/;./ddos.sh
sh /usr/local/ddos/ddos.sh
لحظر اي شخص ندخل هنا
كود PHP:
pico /usr/local/ddos/ignore.ip.list
ونضع الأي بي داخل الملف ونسوي له حفظ
تشغيل البرنامج :
كود PHP:
/usr/local/ddos/ddos.sh -c
iptables -F
ولجعل البرنامج يعمل بعد الريستارت نروح للملف :
كود PHP:
pico /etc/rc.d/rc.local
ونضع في نهاية الملف التالي :
كود PHP:
## Add the following lines at the bottom of the file
/usr/local/ddos/ddos.sh -c
لو رغبت بحذف البرنامج اكتب الأمر التالي :
كود PHP:
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
sh uninstall.ddos
بعد الانتهاء من اعداد برامج الحماية السيرفر والفايرول افضل اعدادات اقدم لكم معلومات لكيفة صد اي هجوم DOS يتعرض له السيرفر وكيفية معرفة ذلك
اكتب الأمر التالي لمعرفة عدد المتصلين بالسيرفر :
كود PHP:
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
or
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
راح يظهر لك النتيجة كتالي :
كود PHP:
1 195.229.235.36
1 195.229.235.39
1 195.229.236.214
1 195.229.237.39
1 195.229.242.53
1 195.229.242.55
1 195.229.242.56
1 196.12.217.252
1 196.20.126.97
1 41.200.213.119
1 86.60.97.145
1 89.108.0.85
2 195.229.235.41
2 41.201.175.161
2 41.248.162.42
2 77.30.118.133
2 94.97.78.197
3 84.11.138.148
400 41.235.239.187
هذا يعني ان الأي بي
41.235.239.187
مسوي فلود على السيرفر طيب الحين عرفنا مسبب الفلود الحين نجي نسوي له حظر
اكتب الأمر التالي :
كود PHP:
pico /usr/local/ddos/ignore.ip.list
وضع الأي بي الشخص المسبب للحظر
ولحظر الأي بي بواسطة برنامج BFD
ولحظر اي بي نروح الى
كود PHP:
pico -w /usr/local/bfd/ignore.hosts
ونضع الأي بي داخل الملف ونسوي له حفظ
وايضا نروح للبرنامج APF ونحط الأي بي
كود PHP:
/usr/local/sbin/apf -d 41.235.239.187
وهذه طريقة اخرى لخظر الشخص
كود PHP:
iptables -I INPUT -s 41.235.239.187 -j DROP
بعد كذا نكتب الامر
كود PHP:
service iptables save
service iptables restart
تركيب برنامج الفايرول CSF :
هذا البرنامج لا انصح به اطلاقا في تركيبه على السيرفرات VPS لأنه راح يسبب مشاكل في السيرفر لذلك لا تقم بتركيبه وبالنسبة للبرامج الي ذكرتها كفاية وقوية جدا
راح اشرحه للي يرغب بتركيبه على سيرفره :)
كود PHP:
cd /usr/src
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh disable_apf_bfd.sh
sh install.sh
نجي نضبط اعداداته :
كود PHP:
pico /etc/csf/csf.conf
تاكد من هذه الخيارات انها على ذات القيم الموضحة :
كود PHP:
TESTING = "0"
كود PHP:
AUTO_UPDATES = "1"
كود PHP:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,953,99 3,995,2077,2078,2082,2083,2086,2087,2095 ,2096,6102"
كود PHP:
TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587, 873,953,2087,2089,2703,6102"
ملاحظة لا تنسى وضع بورت الشل ضمن هذه الارقام وذلك وبضع , ويليها ارقم بدون مسافات
ملاحظة : 6102 هو بروت الشل الي وضحته في الشرح لا تضعه ضمن البروتات
ثم احفظ الملف
كود PHP:
service csf restart
نذهب الى WHM :
Main >> Plugins >> ConfigServer Security & Firewall
http://www.sa3eka.com/image/server/css/11.png
اضغط على
http://www.sa3eka.com/image/server/css/12.png
في هذه الخانة اضغط hight
http://www.sa3eka.com/image/server/css/13.png
واخيرا :
http://www.sa3eka.com/image/server/css/14.png
نعود الى الشل ونحرر ملف csf.conf
كود PHP:
pico /etc/csf/csf.conf
ctrl + w >> LF_MODSEC
اجعلها هكذا :
كود PHP:
LF_MODSEC = "10"
او ضع مكان الرقم 10 اي عدد يفضل ان لا يكون اقل من 5
احفظ الملف ثم
كود PHP:
service csf restart
ولحظر اي شخص من خلال برنامج csf
اكتب الأمر التالي :
كود PHP:
csf -d 124.11.11.11
رابعا : بعد الأنتهاء من تركيب برامج الفايرول والحماية نقوم بتركيب برنامج chkrootkit
اكتب الأمر التالي لتركيبة :
كود PHP:
els --chkrootkit
ولجعل البرنامج يعمل بشكل يومي ويرسل كل 24 ساعة تقرير عن الفحص الملفات السيرفر
اكتب الأمر التالي وضع ايميلك :
كود PHP:
els --chkrootkitcron
سوف يطلب منك اضافه بريدك
اكتب بريدك و أضغط enter
سوف تظهر هذه الرساله :
كود PHP:
Ensure this is correct.
Proceed? (y/n):
أضغط علي مفتاح Y للتأكيد .
خامساً : ضبط تصاريح مجلدات الروت الخطره :
اكتب الأمر التالي :
كود PHP:
els --chmodfiles
سادساً : لتعطيل التلنت :
اكتب الأمر التالي :
كود PHP:
els --disabletelnet
سابعاً : تركيب imagemagick برنامج محرر الصور علي السيرفر :
اكتب الأمر التالي :
كود PHP:
els --imagemagick
سوف يقوم بتركيب البرنامج و اذا كان موجود مسبقا سوف يقوم بتحديثه علي سيرفرك .
قد يستغرق التحديث بعض الوقت انتظر لحين الانتهاء ...
ثامناً : تركيب rkhunter :
يقوم هذا البرنامج :
* بمقارنة MD5 Hash وفحصها .
* البحث عن الملفات المستخدمة من قبل الروت كيت بشكل دائم.
* التأكد من تصريحات الملفات المهمة بالنظام .
* فحص ملفات LKM و ملفات KLD .
* البحث عن الملفات المخفية .
لتركيب اكتب الأمر التالي :
كود PHP:
els --rkhunter
سوف تظهر هذي الرساله تطلب منك تأكيد التركيب :
كود PHP:
ELS can now install RKHunter.
Proceed? (y/n):
أضغط Y ثم Enter لتأكيد التركيب ...
سوف يقوم الأسكربت بتركيب البرنامج الخطوه التاليه لنقوم بأعداد البريد الخاص بك ليصلك تقرير يومي :
كود PHP:
els --rkhuntercron
تظهر هذه الرساله تطلب ادخال بريدك الالكتروني :
أكتب بريدك بعدها enter سوف تظهر هذه الرساله :
أضغط مفتاح Y للتأكيد ثم Enter ...
لتشغيل الاسكربت يدوي اكتب الامر التالي في الشل :
كود PHP:
rkhunter -c
سوف يقوم البرنامج بعمل فحص النظام وعرض الأخطاء أو العمليات المشبوهة باللون الأحمر والسليمة بالأخضر .
الخطوة رقم تسعة : تركيب برنامج zend :
كود PHP:
els --zendopt
سوف تظهر امامك خيارات Yes , Exit أضغط Enter بشكل متواصل لحين الانتهاء ...
الخطوة رقم عشرة : ضغط ووضع اعدادات للملف قواعد البيانات /etc/my.cnf
كود PHP:
els --optimizemysqlconf
الخطوة رقم 11 : حماية ملف التيمب بواسطة البرنامج els
كود PHP:
els --securepartitions
الخطوة الأخيرة اكتب الامر التالي لضبط اعدادات Tweak Settings
اكتب الأمر
كود PHP:
els --tweakcpsettings
واكتب الامر التالي لأصلح الأخطاء :
كود PHP:
els --fixrndc
بعد ذلك نقوم بتعزيز الحماية ووضع الصلاحيات البيرل في السيرفر للروت
اكتب الأمر التالي :
كود PHP:
chmod 700 /usr/bin/perl
بعد ذلك نقوم بتغير الكلام الي يظهر اثناء ما تدخل بمعلومات SSH
اكتب الإمر هذا
كود PHP:
pico /etc/motd
واكتب الأمر التالي :
كود PHP:
Welcome To SSH Host2NeeD.Com Web Servers
Now You Can Use Your Server
Tack your Time
بعد كذا احفظ العمل
حماية SSH وتغير البورت الخاص بالـssh
كود PHP:
pico /etc/ssh/sshd_config
سوف نقوم بالتعيدل على هذه الاسطر :
كود PHP:
#Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
نروح نغيرها القيم الى التالي :
كود PHP:
Port 3322
Protocol 2
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
مع تغير الـ 3322 الى بورت الشيل الذي ترغب به المهم ان يكون البورت من 4 ارقام وما يكون من ضمن هذه القائمة من البورتات
كود PHP:
20,21,22,25,53,80,110,143,443,465,953,99 3,995,2077,2078,2082,2083,2086,2087,2095 ,2096
الآن نقوم بعمل أعداد للنسخ الأحتياطي للسيرفر
اولا لازم تروح الشل وتكتب التالي :
كود PHP:
cd /
ثم
كود PHP:
mkdir backup
ثم
كود PHP:
cd backup
ثم
كود PHP:
mkdir cpbackup
ثم
كود PHP:
cd cpbackup
ثم
كود PHP:
mkdir daily
ثم
كود PHP:
mkdir weekly
ثم
كود PHP:
mkdir monthly
ثم اعطي المجلدات التصريح 711
كود PHP:
chmod 711 /backup
chmod 711 /backup/cpbackup
chmod 711 /backup/cpbackup/daily
chmod 711 /backup/cpbackup/weekly
chmod 711 /backup/cpbackup/monthly
بعدين تروح whm >> Main >> Backup >> Configure Backup :
ونضع الخيارات كما هي بالصور التالية :
http://www.sa3eka.com/image/server/css/Backup.PNG
تركيب برنامج يساعد على ترتيب العمليات في البروسيس وراح تلاحظ معدل انخفاض 5-25%
البرنامج SPRI (Priority Scheduler)
طريقة تركيب البرنامج :
كود PHP:
cd /root
wget http://www.rfxnetworks.com/downloads/spri-current.tar.gz
tar xvfz spri-current.tar.gz
cd spri-0.5
./install.sh
spri -v
ندخل لـ WHM لننهي اخر الخطوات :
نروح للمود سيكورتي من خلال WHM
Main >> Plugins >> Mod Security
نضغط على Edit Config
ونضع فيها الرولز التالي :
نسوي نسخ للمحتوى النوتة ونسوي لصق في المود سيكورتي
لتحميل الرولز من هنا
http://sa3eka.com/forum/attachment.p...1&d=1218997258 (http://sa3eka.com/forum/attachment.php?attachmentid=1220&stc=1&d=1218997258)
بعدين نسوي حفظ للعملية
ونروح الى الخيار Background Process Killer
Main >> System Health >> Background Process Killer
ونسوي علامة صح للكل الخيارات
كود PHP:
[x]BitchX
[x]bnc
[x]eggdrop
[x]generic-sniffers
[x]guardservices
[x]ircd
[x]psyBNC
[x]ptlink
[x]services
1 •
http://www.sa3eka.com/image/server/css/15.png
نذهب الى :
Main >> Security >> Modify Apache Memory Usage
http://www.sa3eka.com/image/server/css/16.png
اضغط الزر كما هو مبين لتحصل على نتيجة مماثلة لهذه :
كود PHP:
Apache Limiter by cPanel, Inc.
Checking for BSD Accounting ....
Calculating Memory Limit .......2074332..1037166..4192924......
Largest Webserver child cgi/ssi/php is now limited to 396 meg
Main >> Security >> Security Center
Configure cPHulk http://www.sa3eka.com/image/server/css/17.gif
اضغط : http://www.sa3eka.com/image/server/css/19.png
PHP open_basedir Tweak http://www.sa3eka.com/image/server/css/18.gif
[x] Enable php open_basedir Protection
ثم اضغط : http://www.sa3eka.com/image/server/css/4.png
Apache mod_userdir Tweak http://www.sa3eka.com/image/server/css/20.gif
[x] Enable mod_userdir Protection.
ثم اضغط : http://www.sa3eka.com/image/server/css/4.png
****l Fork Bomb Protection http://www.sa3eka.com/image/server/css/21.gif
اضغط : http://www.sa3eka.com/image/server/css/22.png
2 •
http://www.sa3eka.com/image/server/css/23.png
Main >> Service Configuration >> Configure PHP and SuExec
نضع الأعداد كما في الصورة
http://www.sa3eka.com/image/server/css/Suexec.PNG
Main >> Service Configuration >> FTP Configuration
اضغط على هذا الزر : http://www.sa3eka.com/image/server/css/28.png
Main >> Service Configuration >> Service Manager
هذه هي مجموعة الخدمات الي يجب ان تكون فعالة بالسيرفر فقط
كود PHP:
antirelayd : [x] Enabled [x] Monitor
exim : [x] Enabled [x] Monitor
eximstats : [x] Enabled [x] Monitor
ftpd : [x] Enabled [x] Monitor
imap : [x] Enabled [x] Monitor
mysql : [x] Enabled [x] Monitor
named : [x] Enabled [x] Monitor
pop : [x] Enabled [x] Monitor
spammd : [x] Enabled [x] Monitor
syslogd : [x] Enabled
ثم اضغط : save
3 •
http://www.sa3eka.com/image/server/css/24.png
Main >> Server Configuration >> Tweak Settings
ضع نفس هذه الاعدادات :
http://www.sa3eka.com/image/server/css/25.png
• Stats Programs
كود PHP:
[x] Analog Stats
[x] Awstats Stats
[x] Webalizer Stats
• System :
كود PHP:
[x] Always redirect users to the ssl/tls ports when visiting /cpanel, /webmail, etc.
[x] Use native SSL support if possible, negating need for Stunnel
[x] Do not start deprecated Melange 1.10 chat server
4 •
http://www.sa3eka.com/image/server/css/26.png
Main >> Server Contacts >> Change System Mail Preferences
http://www.sa3eka.com/image/server/css/27.png
ثم اضغط change وقم بعمل نفس الشيء لكل من :
nobody's mail . cpanel's mail
بعد الأنتهاء من اعداد السيرفر نقوم بعمل ريبورت للسيرفر
كود PHP:
reboot
بعد الأنتهاء من اعداد وحماية السيرفر هذه معلومات هامة لكل شخص يمتلك سيرفر كامل او VPS :
لعرض معلومات الميموري
كود PHP:
cat /proc/meminfo
ولمعرفة حجم الميموري راح يظهر لك كلام كثير نروح لأول واحد
MemTotal: 524288 kB
هذا يعني ان الرام 512 ميجا
نقوم بعملية قسم رياضية :
قسمة 524288 على 1024 راح يطلع الناتج 512
وبكذا تعرف الرام المخصصة للسيرفر الخاص بك او الـ VPS
وطريقة اخرى من خلال الأمر
كود PHP:
free -m
راح يظهر لك TOTAL 512
ولمعرفة مواصفات السيرفر ونوع البروسيس نكتب الأامر التالي :
كود PHP:
cat /proc/cpuinfo
طريقة اضافة الخطط في السيرفر :
نروح ندخل على WHM :
Main >> Packages >> Add Packages
http://www.sa3eka.com/image/server/css/plan1.PNG
http://www.sa3eka.com/image/server/css/plan2.PNG
(( طريقة عمل ريسيلر من السيرفر ))
قم بعمل حساب جديد
Main >> Account Functions >> Create a New Account
وتأتي خطوة ملئ البيانات للاكاونت الجديد
Domain : إسم الدومين
نكتبه مثلا trial.com
UserName : إسم اليوزر
Password : الباسوورد
Contact Email : الإيميل
Choose a Package : نختار الخطة المناسبة للريسيلر
وسوف تجد
Reseller Settings
Give Reseller Privileges
وقم بعمل علامه صح عليها
ثم الضغط علي Create
بعد الأنتهاء من عمل حساب الريسيلر الحين نروح نعطية الصلاحيات وهي كتالي :
نروح من WHM :
Main >> Resellers >> Reseller Center
http://www.sa3eka.com/image/server/css/reseller1.PNG
هذه هي الصلاحيات الريسيلر :
http://www.sa3eka.com/image/server/css/reseller2.PNG
http://www.sa3eka.com/image/server/css/reseller3.PNG
http://www.sa3eka.com/image/server/css/reseller4.PNG
سكربت كاشف ملفات الشل علي السيرفر
الاسكربت ممتاز و يحميك بنسبه 98% من ملفات الشل
التركيب أفتح الشل بسيرفرك و طبق الخطوات التالية :
كود PHP:
cd /root
wget http://www.modelayer.com/exploit.sh.txt
mv exploit.sh.txt exploit.sh
chmod 755 exploit.sh
و لجدولة الاسكربت ليصلك تبليغ في حين رفع شل علي سيرفرك أتبع التالي :
كود PHP:
export EDITOR=pico
crontab -e
و من ثم نروح لاخر سطر و نقوم بأضافة التالي
كود PHP:
0 7,19 * * * /root/exploit.sh -c -m admin@host2need.com
و بدل البريد admin@host2need.com (admin@host2need.com) الى بريدك
و من ثم تضغط x + ctrl
لتشغيل الاسكربت بشكل يدوي طبق الاوامر التالية بالشل
كود PHP:
cd /root
sh exploit.sh
كيفيه التأكد من صلاحيات المواقع الموجوده علي السيرفر و معرفه ما اذا كان احد منهم يستطيع الدخول الي الشل و له صلاحيات الروت ؟؟ (معرفة اي شخص يمتلك حساب روت هذا مهم جدا لما يكون سيرفرك اخترق وتريد تعرف وتتإكد من انه لا يوجد حساب روت اخر )
افتح الشل و طبق الامر التالي :
pico /etc/passwd
شوف مخرجات المواقع اذا حصلت كل يوزر بالشكل التالي
gogo:x:0:0::/home/modelayer:/bin/bash
احذف اليوزرات و اجعلها بالشكل التالي
gogo:x:32043:32045::/home/modelayer:/usr/local/cpanel/bin/no****l
توضيح :
:x:0:0::/ تعني صلاحيات الروت كامله
موقع عادي :x:32043:32045::/
فقط قم بتبديل gogo باليوزر تبع الموقع
للبحث عن الشيلات المشفرة اكتب الأمر التالي :
كود PHP:
find /home/*/public_html -name "*.php" -print | xargs egrep -l ' base64_' >> /root/result.txt
بعدها تجد النتيجة في /root/result.txt
كود PHP:
pico /root/result.txt
للتأكد من عدم وجود مستخدمين من دون باسورد
كود PHP:
awk -F: '$2 == "" { print $1, "has no password!" }' /etc/shadow
للبحث عن المستخدمين الذين لديهم صلاحيات مشابهة الى root
كود PHP:
awk -F: '$3 == 0 { print $1, "is a superuser!" }' /etc/passwd
awk -F: '$3 == 0 { print $1, "is a superuser!" }' /etc/passwd
للتحقق من الملفات التي تحمل صلاحيات SUID و SGID
كود PHP:
find /dir -xdev -type f -perm +ug=s -print
للتحقق من صلاحيات الملفات على جهازك والتي يحمل ال others صلاحيات كتابة
كود PHP:
find /dir -xdev -perm +o=w ! ( -type d -perm +o=t ) ! -type l -print
للتحقق من الكلمات السرية الغير جيدة
كود PHP:
john /etc/shadow
طريقة لحظر المخترق بشكل احترافي :
على فرض إنه IP المخترق هو 222.13.4.55 قم بعمل التالي:
route add 222.13.4.55 127.0.0.1
وعشان تشوف اكتب :
netstat -nr
تسمى هذه الطريقة … طريقة حجب المخترق من خلال الــ null route … أي مسار يؤدي الى الفراغ أو المجهول
اتمنى اني اكون وفقت في اختيار الفائدة الكبيرة جدا في هذه الدرس وحصرها في موضوع واحد
• سوف اقدم لكم في هذه الدورة خلاصة ما تعلمته في اخر 3 اشهر من الانترنت في مجال السيرفرات ارجو ان تنال هذه الدورة اعجابكم واعجاب عقولكم
ساطلق عل هذه الدورة :
CSS : Complete Servers Solutions
سوف تشمل الدورة التالي :
• اعداد السيرفر عند استلامه
• حماية السيرفر من الالف للياء
سوف تكون هذه الدورة خاصة فقط بسيرفرات Linux ولوحة التحكم CPenel
بسم الله بدانا :
عند تسلمك السيرفر لاول مرة سوف تقوم بالدخول ال WHM ونبدا بالاعداد سوف ندخل مستخدمين اي بي السيرفر
127.0.0.1:2087
مع تغير الـ 127.0.1.1 الى اي بي السيرفر
سوف تضهر لك هذه : في جهة اليسار اضغط كما هو مبين
http://www.sa3eka.com/image/server/css/1.png
في الجهة اليمن سوف تظهر كلام طويل هو الاتفاقية لشركة CPANEL اضغط هذا الزر بالاسفل :
http://www.sa3eka.com/image/server/css/2.png
ونكمل في هذه الخطوة نقوم :
http://www.sa3eka.com/image/server/css/3.png
عند خطوة DNS لا تنس الضغط على الزرين المحديددن والتاكد من DNS Zone لهما
قم بحفظ ما قمت به من تعديلات :
http://www.sa3eka.com/image/server/css/4.png
ثم في الجهة اليسرى اضغط :
http://www.sa3eka.com/image/server/css/5.png
سوف تفتح لك في الهة اليمنى كلام طويل عريض انتظر الى ان ينتهي وترى كلمة done في اسفل الا**بلوورر
ثم قم بالضغط http://www.sa3eka.com/image/server/css/5.png
http://www.sa3eka.com/image/server/css/6.png
يجب ان ترى هذه النتيجة :
كود PHP:
Starting named: [ OK ]
Restarting Nameserver
Starting named: [ OK ]
Restarting chkservd
Stopping chkservd: [ OK ]
Starting chkservd: [ OK ]
http://www.sa3eka.com/image/server/css/5.png
تجاهل هذه الخطوة Resolv
الان قم بوضع باس الروت لـ MySql يجب ان تكون صعبة ويمكنها وضعها عشوائيا بدون ان تحفظها فانت ما رح تحتاجها
http://www.sa3eka.com/image/server/css/7.png
ثم اضغط :
http://www.sa3eka.com/image/server/css/8.png
http://www.sa3eka.com/image/server/css/9.png
بعدها اذهب الى :
Main >> Networking Setup >> Hostname
تاكد من hostname ثم اضغط change
ثم اضغط :
http://www.sa3eka.com/image/server/css/10.png
سوف يضهر لك التالي :
كود PHP:
Found your hostname to be: host.traidnt.net
Found your short hostname to be: traidnt
Found your domain name to be: host.traidnt.net
Found your main ip to be: 75.126.228.120
If this looks correct,
ثم اضغط الزر Add The entry
تم الانتهاء من اعداد WHM الان قم باغلاق WHM واذهب الى SSH
الآن نروح نفتح شاشة الـ SSH
يجب عليك تحميل برنامج putty
اضغط هنا لتحميل البرنامج PUTTY (http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe)
وهذا شرح طريقة الدخول لمن لا يعرف الطريقة الدخول SSH
http://www.sa3eka.com/image/server/css/putty1.JPG
اول ما راح تكتب الأي بي وتسوي OPEN راح تظهر لك شاشة سوداء
يطلب منك اليوزر نيم والباسورد
طريقة ألصاق الكتابة في الـ SSH تضغط بالزر الأيمن للمواس راح تلقى الكلام الي نسخته تم كتابته في الـ SSH
الان تابع الخطوات
كود PHP:
pico /etc/nameserverips
ضع فيه التالي :
كود PHP:
75.126.228.120=ns1.traidnt.net
75.126.228.121=ns2.traidnt.net
75.126.228.122=0
75.126.228.123=0
وقم بوضع اي ايبي تابع لسيرفر وضع امام الايبيهات الغير مستخدمة 0
قم بحفظ الملف Ctrl+x
كود PHP:
service named restart
service chkservd restart
service cpanel restart
بعدها
كود PHP:
pico /etc/resolv.conf
domain traidnt.net
search traidnt.net
server.traidnt.net 127.0.0.1
ns1.traidnt.net 123.456.78.90
ns2.traidnt.net 123.456.78.91
ns3.traidnt.net 123.456.78.92
ns4.traidnt.net 123.456.78.93
بعدها نسوي حفظ Ctrl+x
كود PHP:
service named restart
service chkservd restart
service cpanel restart
بعدها نروح
كود PHP:
pico /etc/named.conf
نقوم بوضع تحت هذا السطر التالي :
كود PHP:
include "/etc/rndc.key";
كود PHP:
acl "trusted" {
72.46.145.32;72.46.145.33;72.46.145.34;7 2.46.145.35;127.0.0.1;
};
في منطقة Options ضع :
كود PHP:
allow-recursion { trusted; };
allow-notify { trusted; };
allow-transfer { trusted; };
ليصبح شكله كتالي :
http://www.sa3eka.com/image/server/css/name.JPG
اذا كان لديك ايبيهات اخرى لا تنسى وضعها
ثم احفظ الملف Ctrl+x وقم بالتالي :
كود PHP:
service named restart
service chkservd restart
service cpanel restart
نعود لـ WHM :
اذهب الى :
Main >> DNS Functions >> Edit Zone Templates
قم بالتعديل على كل القوالب الثلاثة : simple . standard . standardvirtualftp
سوف نقوم بالتعديل على :
كود PHP:
86400 ; *******, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 تصبح : 7200
3600000 تصبح : 2419200
ثم احفظ الملفات وعد للشل ونفذ هذه الاوامر
كود PHP:
service named restart
service chkservd restart
service cpanel restart
بعد ذلك نقوم بتحديث برامج السيرفر من خلال SSH كتالي :
تحديث لوحة التحكم CPANEL
كود PHP:
/scripts/upcp
ترقية الآكزايم exim
كود PHP:
/scripts/exim4
ترقية قواعد البيانات MYSQL
كود PHP:
/scripts/mysqlup --force
ترقية الأف تي بي FTP
كود PHP:
/scripts/ftpup --force
امر اصلاح البريد
كود PHP:
/scripts/mailperm
امر اصلاح المساحات
كود PHP:
/scripts/fixquotas
ترقية الأباتشي + PHP
شرح مفصل لترقية الأباتشي و تركيب البرامج الهامة
نكتب الأمر التالي :
كود PHP:
/scripts/easyapache
http://www.sa3eka.com/image/server/css/apche1.JPG
http://www.sa3eka.com/image/server/css/apche2.JPG
http://www.sa3eka.com/image/server/css/apche3.JPG
http://www.sa3eka.com/image/server/css/apche4.JPG
طبعا ينصح بتركيب اخر اصدار من الـ php
http://www.sa3eka.com/image/server/css/apche5.JPG
بعد ذلك نقوم ايضا بتفعيل هذه البرامج لأنها هامة جدا للسكربت لكي تعمل
CURL
CURLWRAPPERS
OPENSSL
XSL
ZIP
واخير نختار SAVE AND BULED
سوف ياخذ وقت طويل تقريبا 10 دقائق الى 20 دقيقة تقريباً
بعد تحديث البرامج نقوم بإعادة ريستارت لها :
كود PHP:
# /scripts/restartsrv httpd
# /etc/rc.d/init.d/cpanel restart
# /scripts/restartsrv mysql
# /scripts/restartsrv named
# /scripts/restartsrv exim
# service chkservd restart
# /etc/init.d/crond restart
تحديث OpenSSH :
كود PHP:
cd /usr/src
كود PHP:
wget ftp://openbsd.secsup.org/pub/openbsd/OpenSSH/portable/openssh-5.1p1.tar.gz
tar -zxf openssh*
cd openssh*
كود PHP:
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check
كود PHP:
make
make test
make install
تحديث bind9
كود PHP:
cd /usr/src
wget http://ftp.isc.org/isc/bind9/9.4.1-P1/bind-9.4.1-P1.tar.gz
tar -zxf bind*
cd bind*
./configure
make
make test
make install
هذا الجزء متعلق بالحماية :
1 • الحماية ضد Dos , DDos
? تقوية sysctl.conf و host.conf
كود PHP:
cd /etc/
mv sysctl.conf sysctl.conf.css
كود PHP:
pico sysctl.conf
ضع فيه التالي :
كود PHP:
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_rout e = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0
# Lower retry rates
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Max File Handlers
fs.file-max = 8192
# Disable CTR+ALT+DEL Restart Keys
kernel.ctrl-alt-del = 1
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15
# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800
# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0
# Turn off the tcp_sack
net.ipv4.tcp_sack = 0
# Turn off the tcp_timestamps
net.ipv4.tcp_timestamps = 0
# Enable TCP SYN ****** Protection
net.ipv4.tcp_syn******s = 1
# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_respons es = 1
# Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 1
# Increases the size of the socket queue (effectively, q0).
net.ipv4.tcp_max_syn_backlog = 1024
# Increase the tcp-time-wait buckets pool size
net.ipv4.tcp_max_tw_buckets = 1440000
# Allowed local port range
net.ipv4.ip_local_port_range = 16384 65536 16384 65536
ثم نحفظ العمل
كود PHP:
/sbin/sysctl -p
كود PHP:
sysctl -w net.ipv4.route.flush=1
ثم
كود PHP:
cd /etc
mv host.conf host.conf.css
كود PHP:
pico host.conf
نضع فيه التالي :
كود PHP:
# Lookup names via DNS first then fall back to /etc/hosts
order hosts,bind
# Check for IP address spoofing.
nospoof on
# multiple IP addresses
multi on
ثم
كود PHP:
httpd restart
اعلاق الخدمات الغير ضرورية :
كود PHP:
service cups-config-daemon stop
chkconfig cups-config-daemon off
service iiim stop
chkconfig iiim off
service mDNSResponder stop
chkconfig mDNSResponder off
service nifd stop
chkconfig nifd off
service rpcidmapd stop
chkconfig rpcidmapd off
service bluetooth stop
chkconfig bluetooth off
service anacron stop
chkconfig anacron off
service gpm stop
chkconfig gpm off
service saslauthd stop
chkconfig saslauthd off
service avahi-daemon stop
chkconfig avahi-daemon off
service avahi-dnsconfd stop
chkconfig avahi-dnsconfd off
service hidd stop
service cups stop
chkconfig cups off
service xfs stop
chkconfig xfs off
service atd stop
chkconfig atd off
service nfslock stop
chkconfig nfslock off
service canna stop
chkconfig canna off
service FreeWnn stop
chkconfig FreeWnn off
chkconfig hidd off
service pcscd stop
chkconfig pcscd off
service sbadm stop
chkconfig sbadm off
service webmin stop
chkconfig webmin off
حماية ملفات النظام :
كود PHP:
echo 1 > /proc/sys/net/ipv4/tcp_syn******s
كود PHP:
chmod 750 /usr/bin/rcp
chmod 750 /usr/bin/wget
chmod 750 /usr/bin/lynx
chmod 750 /usr/bin/links
chmod 750 /usr/bin/scp
كود PHP:
chmod 000 /etc/httpd/proxy/
chmod 000 /var/spool/samba/
chmod 000 /var/mail/vbox/
تركيب 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
اغلاق المترجمات
كود PHP:
chmod 000 /usr/bin/perlcc
chmod 000 /usr/bin/byacc
chmod 000 /usr/bin/yacc
chmod 000 /usr/bin/bcc
chmod 000 /usr/bin/cc
chmod 000 /usr/bin/gcc
chmod 000 /usr/bin/i386*cc
كود PHP:
/scripts/compilers off
حمايه أوامر الشل من خلال المجلد bin
أفتح الشل و قم بتنفيذ الأوامر التاليه :
كود PHP:
cd /bin
كود PHP:
chmod 700 basename
chmod 700 bash
chmod 700 cat
chmod 700 chmod
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
حماية tmp :
كود PHP:
/scripts/securetmp
ثم افتح
كود PHP:
pico /etc/fstab
امام كلمة defaults ضع ( noexec,nosuid ) ليصبح السطر هكذا :
كود PHP:
LABEL=/tmp /tmp ext3 defaults,noexec,nosuid
/tmp /var/tmp ext3 defaults,noexec,nosuid,bind,noauto
none /dev/shm tmpfs defaults,noexec,nosuid
ثم احفظ الملف ونفذ هذا الامر :
umount /dev/shm
mount /dev/shm
الحماية ضد spam
ضع تخت هذا السطر :
كود PHP:
#!!# cPanel Exim 4 Config
ضع تحتة :
log_selector = +arguments +subject
احفظ الملف وسوي ريستارت
كود PHP:
service exim restart
service cpanel restart
نإتي الآن الى حماية الـ php :
نكتب الامر التالي :
كود PHP:
pico /usr/local/lib/php.ini
في اول سطر هو [php]
ضيف تحته مباشرة
reveal_php 0
وتإكد من القيم التالية :
كود PHP:
safe_mode = On
كود PHP:
allow_url_fopen = Off
كود PHP:
expose_php = Off
كود PHP:
enable_dl = Off
كود PHP:
include_path "/usr/lib/php:/usr/local/lib/php:/tmp:/home"
كود PHP:
register_globals = off
كود PHP:
display_errors = Off
كود PHP:
allow_call_time_pass_reference = off
كود PHP:
safe_mode_include_dir = /usr/local/php/include
كود PHP:
safe_mode_exec_dir = /usr/local/php/bin
ابحث عن :
disable_functions
وضع امام كتالي ليصبح شكله :
كود PHP:
disable_functions = dl,system,exec,passthru,popen,****l_exec ,proc_close,proc_open,proc_nice,proc_ter minate,pro_get_status,posix_getpwuid,pos ix_uname,openlog,syslog,ftp_exec,posix_u name,posix_getpwuid,posix_getpwnam,posix _kill,posix_mkfifo,posix_setpgid,posix_s etsid,posix_setuid,get_current_user,chgr p,apache_note,apache_setenv,apache_child _terminate,closelog,debugger_off,debugge r_on,ini_restore,curl_init,curl_exec,cur l,escape****lcmd,escape****larg,virtual, highlight_file,pclose,pcntl_exec,****lex ec,chgrp,apache_setenv,define_syslog_var iables,hw_root,allow_url_fopen,php_uname ,posix_kill,apache_child_terminate,php_i ni_scanned_files,ps_aux,chown,getrsage,p osixc,posame,chgrp,posix_setgid,apache_n ote,apache_setenv,mysql_list_dbs,glob,er ror_log,ini_get_all,fileowner,sscanf,pop en,popens,apache_get_modules,crack_check ,crack_closedict,crack_getlastmessage,cr ack_opendict,posix_isatty,posix_access,p osix_times,posix_mknod,get_cfg_var,getse rvbyname,
وابحث عن :
كود PHP:
max_execution_time
وغير القيمة الى 3600
وتحتها مباشرة غير القيمة الـ
كود PHP:
max_input_time
الى 3600
وتحتها مباشرة راح تلقى :
كود PHP:
memory_limit
غير القيمة الى 64M او 128M او 256M
بعد ذلك ابحث عن :
كود PHP:
upload_max_filesize
وغير القيمة الى 10M
هذا الخيار هام لوضع اقصى مساحة ملف ممكن رفعها من خلال السي بنال وهي الأفتراضي 2M ويفضل رفعها حسب رغبت مدير الأستضافة يفضل وضعها 5M او 10M
واخير ابحث عن :
كود PHP:
post_max_size
وضع القيمة مناسبة 50M
بعد ذلك اضف في نهاية الملف php.ini التالي :
كود PHP:
; Solution Problem VB
suhosin.request.max_vars = 1024
suhosin.post.max_vars = 1024
هذه النقطة هامة لمن قام بتركيب suPHP وهذا لتعزيز الحماية في السيرفر
بعد ذلك نروح الى :
كود PHP:
pico /usr/local/apache/conf/php.conf
اضف هذا السطر :
كود PHP:
suPHP_ConfigPath /usr/local/lib/php.ini
وهذه صورة توضيحية لشكل الملف :
http://www.talkinweb.org/uploads/12c55c802a.png
بعد ذلك نسوي حفظ للعمل ونسوي ريستارت للأباتشي :
كود PHP:
httpd restart
بعد ذلك حماية الأباتشي :
نروح لملف الأباتشي :
كود PHP:
pico /usr/local/apache/conf/httpd.conf
لتعطيل البيرل بالسيرفر :
ابحث عن :
كود PHP:
AddHandler cgi-script .cgi .pl
وسوي امامة علامة #
لتعطيل البيرل
وبعدين ابحث عن :
كود PHP:
<Directory "/">
وخلية زي كذا
كود PHP:
<Directory "/">
Options SymLinksIfOwnerMatch
AllowOverride All
</Directory>
وبحث عن :
كود PHP:
ServerSignature ON
وخلية off
وضع تحتها التالي :
كود PHP:
ServerTokens Full
SecServerSignature "Security by Host2Need.Com"
بعدين سوي حفظ للعمل وريستارت للأباتشي
كود PHP:
httpd restart
بعد ذلك تركيب برنامج ELS او Easy Linux Security
هذا البرنامج يحتوي على برامج اساسية للسيرفر وراح ناخذ منه بعض البرامج الهامة التي نحتاج اليها في السيرفر لتعزيز الحماية
للتركيب البرنامج اكتب الامر التالي :
كود PHP:
wget --output-********=installer.sh http://servermonkeys.com/projects/els/installer.sh; chmod +x installer.sh; sh installer.sh
راح نركب البرامج التالية :
Install RKHunter
Install RKHunter Cronjob which emails a user-set email address nightly
Install/update APF
Install/update BFD
Install CHKROOTKIT
Install CHKROOTKIT Cronjob which emails a user-set email address nightly
Disable Telnet
Secure /tmp
Tweak WHM Settings for security and stability
Optimize MySQL tables
نـبداء الشرح :
نقوم بتحديث سكربت ELS عن طريق الأمر التالي :
كود PHP:
els --update
اذا هناك تحديث سوف يقوم به تلقائيا اذا كانت لديك أخر نسخه من الاسكربت سوف تظهر هذه الرساله :
كود PHP:
ELS 3.0.0.3 is the latest release, there is no need to update.
اولا : تركيب برنامج الجدار الناري APF مع افضل اعدادات
نكتب الأمر التالي لتركيب البرنامج :
كود PHP:
els --apf
بعد تنزيل البرنامج نكتب الأمر التالي لضبط الأعدادات :
كود PHP:
pico /etc/apf/conf.apf
ونتإكد من القيم التالية بإنها :
كود PHP:
EGF="1"
USE_DS="1"
USE_AD= 1
بعد ذلك نسوي حفظ للعمل
بعد ذلك نذهب الى الملف التالي :
كود PHP:
pico /etc/apf/ad/conf.antidos
ونتأكد من القيم التالية :
كود PHP:
LP_KLOG="1"
CONAME="Your Company"
USR_*****="1"
USR="you@yourco.com"
بعد ذلك نسوي خفظ للملف
هذه اوامر مهمة للفايرول :
تشغيل الفايرول :
كود PHP:
/usr/local/sbin/apf -s
اعادة تشغيل الفايرول :
كود PHP:
/usr/local/sbin/apf -r
ايقاف الفايرول :
كود PHP:
/usr/local/sbin/apf -f
مشاهدة حالة الفايرول :
كود PHP:
/usr/local/sbin/apf -st
للسماح للأي بي
كود PHP:
/usr/local/sbin/apf -a 124.11.11.11
لحظر أي بي شخص بالفيرول
كود PHP:
/usr/local/sbin/apf -d 124.11.11.11
بعد الانتهاء نقوم بتشغيل الفايرول اكتب الأمرين التالين :
كود PHP:
/etc/apf/ad/antidos -a
/usr/local/sbin/apf -r
ثانيا : بعد الانتهاء من تركيب الفايرول نقوم بتركيب برنامج الحماية BFD (Brute Force Detection)
لتركيب البرنامج اكتب الأمر التالي :
كود PHP:
els --bfd
ولضبط اعدادات البرنامج نكتب الأمر التالي :
كود PHP:
pico -w /usr/local/bfd/conf.bfd
يجب انت تكون القيم كتالي :
كود PHP:
*****_USR="1"
EMAIL_USR=you@yoursite.com
مع استبدال البريد الإلكتروني
نسوي حفظ للملف
لتشغيل البرنامج نكتب الأمر التالي :
كود PHP:
/usr/local/sbin/bfd -s
معلومة هامة حول البرنامج :
للسماح بالأي بي
كود PHP:
pico -w /etc/apf/allow_hosts.rules
ونضع الأي بي داخل الملف ونسوي له حفظ
ولحظر اي بي نروح الى
كود PHP:
pico -w /usr/local/bfd/ignore.hosts
ونضع الأي بي داخل الملف ونسوي له حفظ
ثالثا : تركيب برنامج الحماية من هجمات DOS-Deflate
تنصيب البرنامج :
كود PHP:
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0755 install.sh
./install.sh
بعد ذلك نقوم بضبط الأعدادات :
كود PHP:
pico /usr/local/ddos/ddos.conf
ونغير التالي :
كود PHP:
Set NO_OF_CONNECTIONS=150
نغيرها الى اي رقم تريده
هذا الخيار للوضع حدد لعدد الأتصالات بالسيرفر للأي بي الواحد
يفضل وضعها 300 او 250
وتإكد من القيم التالية :
كود PHP:
APF_BAN=1
EMAIL_TO=xxx@xxx.com
هذا عدد الوقت بالثانية للحظر 600 ثانية
BAN_PERIOD=600
لمعرفة المتصلين بالسيرفر نكتب الامر هذا
كود PHP:
cd /usr/local/ddos/;./ddos.sh
sh /usr/local/ddos/ddos.sh
لحظر اي شخص ندخل هنا
كود PHP:
pico /usr/local/ddos/ignore.ip.list
ونضع الأي بي داخل الملف ونسوي له حفظ
تشغيل البرنامج :
كود PHP:
/usr/local/ddos/ddos.sh -c
iptables -F
ولجعل البرنامج يعمل بعد الريستارت نروح للملف :
كود PHP:
pico /etc/rc.d/rc.local
ونضع في نهاية الملف التالي :
كود PHP:
## Add the following lines at the bottom of the file
/usr/local/ddos/ddos.sh -c
لو رغبت بحذف البرنامج اكتب الأمر التالي :
كود PHP:
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
sh uninstall.ddos
بعد الانتهاء من اعداد برامج الحماية السيرفر والفايرول افضل اعدادات اقدم لكم معلومات لكيفة صد اي هجوم DOS يتعرض له السيرفر وكيفية معرفة ذلك
اكتب الأمر التالي لمعرفة عدد المتصلين بالسيرفر :
كود PHP:
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
or
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
راح يظهر لك النتيجة كتالي :
كود PHP:
1 195.229.235.36
1 195.229.235.39
1 195.229.236.214
1 195.229.237.39
1 195.229.242.53
1 195.229.242.55
1 195.229.242.56
1 196.12.217.252
1 196.20.126.97
1 41.200.213.119
1 86.60.97.145
1 89.108.0.85
2 195.229.235.41
2 41.201.175.161
2 41.248.162.42
2 77.30.118.133
2 94.97.78.197
3 84.11.138.148
400 41.235.239.187
هذا يعني ان الأي بي
41.235.239.187
مسوي فلود على السيرفر طيب الحين عرفنا مسبب الفلود الحين نجي نسوي له حظر
اكتب الأمر التالي :
كود PHP:
pico /usr/local/ddos/ignore.ip.list
وضع الأي بي الشخص المسبب للحظر
ولحظر الأي بي بواسطة برنامج BFD
ولحظر اي بي نروح الى
كود PHP:
pico -w /usr/local/bfd/ignore.hosts
ونضع الأي بي داخل الملف ونسوي له حفظ
وايضا نروح للبرنامج APF ونحط الأي بي
كود PHP:
/usr/local/sbin/apf -d 41.235.239.187
وهذه طريقة اخرى لخظر الشخص
كود PHP:
iptables -I INPUT -s 41.235.239.187 -j DROP
بعد كذا نكتب الامر
كود PHP:
service iptables save
service iptables restart
تركيب برنامج الفايرول CSF :
هذا البرنامج لا انصح به اطلاقا في تركيبه على السيرفرات VPS لأنه راح يسبب مشاكل في السيرفر لذلك لا تقم بتركيبه وبالنسبة للبرامج الي ذكرتها كفاية وقوية جدا
راح اشرحه للي يرغب بتركيبه على سيرفره :)
كود PHP:
cd /usr/src
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh disable_apf_bfd.sh
sh install.sh
نجي نضبط اعداداته :
كود PHP:
pico /etc/csf/csf.conf
تاكد من هذه الخيارات انها على ذات القيم الموضحة :
كود PHP:
TESTING = "0"
كود PHP:
AUTO_UPDATES = "1"
كود PHP:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,953,99 3,995,2077,2078,2082,2083,2086,2087,2095 ,2096,6102"
كود PHP:
TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587, 873,953,2087,2089,2703,6102"
ملاحظة لا تنسى وضع بورت الشل ضمن هذه الارقام وذلك وبضع , ويليها ارقم بدون مسافات
ملاحظة : 6102 هو بروت الشل الي وضحته في الشرح لا تضعه ضمن البروتات
ثم احفظ الملف
كود PHP:
service csf restart
نذهب الى WHM :
Main >> Plugins >> ConfigServer Security & Firewall
http://www.sa3eka.com/image/server/css/11.png
اضغط على
http://www.sa3eka.com/image/server/css/12.png
في هذه الخانة اضغط hight
http://www.sa3eka.com/image/server/css/13.png
واخيرا :
http://www.sa3eka.com/image/server/css/14.png
نعود الى الشل ونحرر ملف csf.conf
كود PHP:
pico /etc/csf/csf.conf
ctrl + w >> LF_MODSEC
اجعلها هكذا :
كود PHP:
LF_MODSEC = "10"
او ضع مكان الرقم 10 اي عدد يفضل ان لا يكون اقل من 5
احفظ الملف ثم
كود PHP:
service csf restart
ولحظر اي شخص من خلال برنامج csf
اكتب الأمر التالي :
كود PHP:
csf -d 124.11.11.11
رابعا : بعد الأنتهاء من تركيب برامج الفايرول والحماية نقوم بتركيب برنامج chkrootkit
اكتب الأمر التالي لتركيبة :
كود PHP:
els --chkrootkit
ولجعل البرنامج يعمل بشكل يومي ويرسل كل 24 ساعة تقرير عن الفحص الملفات السيرفر
اكتب الأمر التالي وضع ايميلك :
كود PHP:
els --chkrootkitcron
سوف يطلب منك اضافه بريدك
اكتب بريدك و أضغط enter
سوف تظهر هذه الرساله :
كود PHP:
Ensure this is correct.
Proceed? (y/n):
أضغط علي مفتاح Y للتأكيد .
خامساً : ضبط تصاريح مجلدات الروت الخطره :
اكتب الأمر التالي :
كود PHP:
els --chmodfiles
سادساً : لتعطيل التلنت :
اكتب الأمر التالي :
كود PHP:
els --disabletelnet
سابعاً : تركيب imagemagick برنامج محرر الصور علي السيرفر :
اكتب الأمر التالي :
كود PHP:
els --imagemagick
سوف يقوم بتركيب البرنامج و اذا كان موجود مسبقا سوف يقوم بتحديثه علي سيرفرك .
قد يستغرق التحديث بعض الوقت انتظر لحين الانتهاء ...
ثامناً : تركيب rkhunter :
يقوم هذا البرنامج :
* بمقارنة MD5 Hash وفحصها .
* البحث عن الملفات المستخدمة من قبل الروت كيت بشكل دائم.
* التأكد من تصريحات الملفات المهمة بالنظام .
* فحص ملفات LKM و ملفات KLD .
* البحث عن الملفات المخفية .
لتركيب اكتب الأمر التالي :
كود PHP:
els --rkhunter
سوف تظهر هذي الرساله تطلب منك تأكيد التركيب :
كود PHP:
ELS can now install RKHunter.
Proceed? (y/n):
أضغط Y ثم Enter لتأكيد التركيب ...
سوف يقوم الأسكربت بتركيب البرنامج الخطوه التاليه لنقوم بأعداد البريد الخاص بك ليصلك تقرير يومي :
كود PHP:
els --rkhuntercron
تظهر هذه الرساله تطلب ادخال بريدك الالكتروني :
أكتب بريدك بعدها enter سوف تظهر هذه الرساله :
أضغط مفتاح Y للتأكيد ثم Enter ...
لتشغيل الاسكربت يدوي اكتب الامر التالي في الشل :
كود PHP:
rkhunter -c
سوف يقوم البرنامج بعمل فحص النظام وعرض الأخطاء أو العمليات المشبوهة باللون الأحمر والسليمة بالأخضر .
الخطوة رقم تسعة : تركيب برنامج zend :
كود PHP:
els --zendopt
سوف تظهر امامك خيارات Yes , Exit أضغط Enter بشكل متواصل لحين الانتهاء ...
الخطوة رقم عشرة : ضغط ووضع اعدادات للملف قواعد البيانات /etc/my.cnf
كود PHP:
els --optimizemysqlconf
الخطوة رقم 11 : حماية ملف التيمب بواسطة البرنامج els
كود PHP:
els --securepartitions
الخطوة الأخيرة اكتب الامر التالي لضبط اعدادات Tweak Settings
اكتب الأمر
كود PHP:
els --tweakcpsettings
واكتب الامر التالي لأصلح الأخطاء :
كود PHP:
els --fixrndc
بعد ذلك نقوم بتعزيز الحماية ووضع الصلاحيات البيرل في السيرفر للروت
اكتب الأمر التالي :
كود PHP:
chmod 700 /usr/bin/perl
بعد ذلك نقوم بتغير الكلام الي يظهر اثناء ما تدخل بمعلومات SSH
اكتب الإمر هذا
كود PHP:
pico /etc/motd
واكتب الأمر التالي :
كود PHP:
Welcome To SSH Host2NeeD.Com Web Servers
Now You Can Use Your Server
Tack your Time
بعد كذا احفظ العمل
حماية SSH وتغير البورت الخاص بالـssh
كود PHP:
pico /etc/ssh/sshd_config
سوف نقوم بالتعيدل على هذه الاسطر :
كود PHP:
#Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
نروح نغيرها القيم الى التالي :
كود PHP:
Port 3322
Protocol 2
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
مع تغير الـ 3322 الى بورت الشيل الذي ترغب به المهم ان يكون البورت من 4 ارقام وما يكون من ضمن هذه القائمة من البورتات
كود PHP:
20,21,22,25,53,80,110,143,443,465,953,99 3,995,2077,2078,2082,2083,2086,2087,2095 ,2096
الآن نقوم بعمل أعداد للنسخ الأحتياطي للسيرفر
اولا لازم تروح الشل وتكتب التالي :
كود PHP:
cd /
ثم
كود PHP:
mkdir backup
ثم
كود PHP:
cd backup
ثم
كود PHP:
mkdir cpbackup
ثم
كود PHP:
cd cpbackup
ثم
كود PHP:
mkdir daily
ثم
كود PHP:
mkdir weekly
ثم
كود PHP:
mkdir monthly
ثم اعطي المجلدات التصريح 711
كود PHP:
chmod 711 /backup
chmod 711 /backup/cpbackup
chmod 711 /backup/cpbackup/daily
chmod 711 /backup/cpbackup/weekly
chmod 711 /backup/cpbackup/monthly
بعدين تروح whm >> Main >> Backup >> Configure Backup :
ونضع الخيارات كما هي بالصور التالية :
http://www.sa3eka.com/image/server/css/Backup.PNG
تركيب برنامج يساعد على ترتيب العمليات في البروسيس وراح تلاحظ معدل انخفاض 5-25%
البرنامج SPRI (Priority Scheduler)
طريقة تركيب البرنامج :
كود PHP:
cd /root
wget http://www.rfxnetworks.com/downloads/spri-current.tar.gz
tar xvfz spri-current.tar.gz
cd spri-0.5
./install.sh
spri -v
ندخل لـ WHM لننهي اخر الخطوات :
نروح للمود سيكورتي من خلال WHM
Main >> Plugins >> Mod Security
نضغط على Edit Config
ونضع فيها الرولز التالي :
نسوي نسخ للمحتوى النوتة ونسوي لصق في المود سيكورتي
لتحميل الرولز من هنا
http://sa3eka.com/forum/attachment.p...1&d=1218997258 (http://sa3eka.com/forum/attachment.php?attachmentid=1220&stc=1&d=1218997258)
بعدين نسوي حفظ للعملية
ونروح الى الخيار Background Process Killer
Main >> System Health >> Background Process Killer
ونسوي علامة صح للكل الخيارات
كود PHP:
[x]BitchX
[x]bnc
[x]eggdrop
[x]generic-sniffers
[x]guardservices
[x]ircd
[x]psyBNC
[x]ptlink
[x]services
1 •
http://www.sa3eka.com/image/server/css/15.png
نذهب الى :
Main >> Security >> Modify Apache Memory Usage
http://www.sa3eka.com/image/server/css/16.png
اضغط الزر كما هو مبين لتحصل على نتيجة مماثلة لهذه :
كود PHP:
Apache Limiter by cPanel, Inc.
Checking for BSD Accounting ....
Calculating Memory Limit .......2074332..1037166..4192924......
Largest Webserver child cgi/ssi/php is now limited to 396 meg
Main >> Security >> Security Center
Configure cPHulk http://www.sa3eka.com/image/server/css/17.gif
اضغط : http://www.sa3eka.com/image/server/css/19.png
PHP open_basedir Tweak http://www.sa3eka.com/image/server/css/18.gif
[x] Enable php open_basedir Protection
ثم اضغط : http://www.sa3eka.com/image/server/css/4.png
Apache mod_userdir Tweak http://www.sa3eka.com/image/server/css/20.gif
[x] Enable mod_userdir Protection.
ثم اضغط : http://www.sa3eka.com/image/server/css/4.png
****l Fork Bomb Protection http://www.sa3eka.com/image/server/css/21.gif
اضغط : http://www.sa3eka.com/image/server/css/22.png
2 •
http://www.sa3eka.com/image/server/css/23.png
Main >> Service Configuration >> Configure PHP and SuExec
نضع الأعداد كما في الصورة
http://www.sa3eka.com/image/server/css/Suexec.PNG
Main >> Service Configuration >> FTP Configuration
اضغط على هذا الزر : http://www.sa3eka.com/image/server/css/28.png
Main >> Service Configuration >> Service Manager
هذه هي مجموعة الخدمات الي يجب ان تكون فعالة بالسيرفر فقط
كود PHP:
antirelayd : [x] Enabled [x] Monitor
exim : [x] Enabled [x] Monitor
eximstats : [x] Enabled [x] Monitor
ftpd : [x] Enabled [x] Monitor
imap : [x] Enabled [x] Monitor
mysql : [x] Enabled [x] Monitor
named : [x] Enabled [x] Monitor
pop : [x] Enabled [x] Monitor
spammd : [x] Enabled [x] Monitor
syslogd : [x] Enabled
ثم اضغط : save
3 •
http://www.sa3eka.com/image/server/css/24.png
Main >> Server Configuration >> Tweak Settings
ضع نفس هذه الاعدادات :
http://www.sa3eka.com/image/server/css/25.png
• Stats Programs
كود PHP:
[x] Analog Stats
[x] Awstats Stats
[x] Webalizer Stats
• System :
كود PHP:
[x] Always redirect users to the ssl/tls ports when visiting /cpanel, /webmail, etc.
[x] Use native SSL support if possible, negating need for Stunnel
[x] Do not start deprecated Melange 1.10 chat server
4 •
http://www.sa3eka.com/image/server/css/26.png
Main >> Server Contacts >> Change System Mail Preferences
http://www.sa3eka.com/image/server/css/27.png
ثم اضغط change وقم بعمل نفس الشيء لكل من :
nobody's mail . cpanel's mail
بعد الأنتهاء من اعداد السيرفر نقوم بعمل ريبورت للسيرفر
كود PHP:
reboot
بعد الأنتهاء من اعداد وحماية السيرفر هذه معلومات هامة لكل شخص يمتلك سيرفر كامل او VPS :
لعرض معلومات الميموري
كود PHP:
cat /proc/meminfo
ولمعرفة حجم الميموري راح يظهر لك كلام كثير نروح لأول واحد
MemTotal: 524288 kB
هذا يعني ان الرام 512 ميجا
نقوم بعملية قسم رياضية :
قسمة 524288 على 1024 راح يطلع الناتج 512
وبكذا تعرف الرام المخصصة للسيرفر الخاص بك او الـ VPS
وطريقة اخرى من خلال الأمر
كود PHP:
free -m
راح يظهر لك TOTAL 512
ولمعرفة مواصفات السيرفر ونوع البروسيس نكتب الأامر التالي :
كود PHP:
cat /proc/cpuinfo
طريقة اضافة الخطط في السيرفر :
نروح ندخل على WHM :
Main >> Packages >> Add Packages
http://www.sa3eka.com/image/server/css/plan1.PNG
http://www.sa3eka.com/image/server/css/plan2.PNG
(( طريقة عمل ريسيلر من السيرفر ))
قم بعمل حساب جديد
Main >> Account Functions >> Create a New Account
وتأتي خطوة ملئ البيانات للاكاونت الجديد
Domain : إسم الدومين
نكتبه مثلا trial.com
UserName : إسم اليوزر
Password : الباسوورد
Contact Email : الإيميل
Choose a Package : نختار الخطة المناسبة للريسيلر
وسوف تجد
Reseller Settings
Give Reseller Privileges
وقم بعمل علامه صح عليها
ثم الضغط علي Create
بعد الأنتهاء من عمل حساب الريسيلر الحين نروح نعطية الصلاحيات وهي كتالي :
نروح من WHM :
Main >> Resellers >> Reseller Center
http://www.sa3eka.com/image/server/css/reseller1.PNG
هذه هي الصلاحيات الريسيلر :
http://www.sa3eka.com/image/server/css/reseller2.PNG
http://www.sa3eka.com/image/server/css/reseller3.PNG
http://www.sa3eka.com/image/server/css/reseller4.PNG
سكربت كاشف ملفات الشل علي السيرفر
الاسكربت ممتاز و يحميك بنسبه 98% من ملفات الشل
التركيب أفتح الشل بسيرفرك و طبق الخطوات التالية :
كود PHP:
cd /root
wget http://www.modelayer.com/exploit.sh.txt
mv exploit.sh.txt exploit.sh
chmod 755 exploit.sh
و لجدولة الاسكربت ليصلك تبليغ في حين رفع شل علي سيرفرك أتبع التالي :
كود PHP:
export EDITOR=pico
crontab -e
و من ثم نروح لاخر سطر و نقوم بأضافة التالي
كود PHP:
0 7,19 * * * /root/exploit.sh -c -m admin@host2need.com
و بدل البريد admin@host2need.com (admin@host2need.com) الى بريدك
و من ثم تضغط x + ctrl
لتشغيل الاسكربت بشكل يدوي طبق الاوامر التالية بالشل
كود PHP:
cd /root
sh exploit.sh
كيفيه التأكد من صلاحيات المواقع الموجوده علي السيرفر و معرفه ما اذا كان احد منهم يستطيع الدخول الي الشل و له صلاحيات الروت ؟؟ (معرفة اي شخص يمتلك حساب روت هذا مهم جدا لما يكون سيرفرك اخترق وتريد تعرف وتتإكد من انه لا يوجد حساب روت اخر )
افتح الشل و طبق الامر التالي :
pico /etc/passwd
شوف مخرجات المواقع اذا حصلت كل يوزر بالشكل التالي
gogo:x:0:0::/home/modelayer:/bin/bash
احذف اليوزرات و اجعلها بالشكل التالي
gogo:x:32043:32045::/home/modelayer:/usr/local/cpanel/bin/no****l
توضيح :
:x:0:0::/ تعني صلاحيات الروت كامله
موقع عادي :x:32043:32045::/
فقط قم بتبديل gogo باليوزر تبع الموقع
للبحث عن الشيلات المشفرة اكتب الأمر التالي :
كود PHP:
find /home/*/public_html -name "*.php" -print | xargs egrep -l ' base64_' >> /root/result.txt
بعدها تجد النتيجة في /root/result.txt
كود PHP:
pico /root/result.txt
للتأكد من عدم وجود مستخدمين من دون باسورد
كود PHP:
awk -F: '$2 == "" { print $1, "has no password!" }' /etc/shadow
للبحث عن المستخدمين الذين لديهم صلاحيات مشابهة الى root
كود PHP:
awk -F: '$3 == 0 { print $1, "is a superuser!" }' /etc/passwd
awk -F: '$3 == 0 { print $1, "is a superuser!" }' /etc/passwd
للتحقق من الملفات التي تحمل صلاحيات SUID و SGID
كود PHP:
find /dir -xdev -type f -perm +ug=s -print
للتحقق من صلاحيات الملفات على جهازك والتي يحمل ال others صلاحيات كتابة
كود PHP:
find /dir -xdev -perm +o=w ! ( -type d -perm +o=t ) ! -type l -print
للتحقق من الكلمات السرية الغير جيدة
كود PHP:
john /etc/shadow
طريقة لحظر المخترق بشكل احترافي :
على فرض إنه IP المخترق هو 222.13.4.55 قم بعمل التالي:
route add 222.13.4.55 127.0.0.1
وعشان تشوف اكتب :
netstat -nr
تسمى هذه الطريقة … طريقة حجب المخترق من خلال الــ null route … أي مسار يؤدي الى الفراغ أو المجهول
اتمنى اني اكون وفقت في اختيار الفائدة الكبيرة جدا في هذه الدرس وحصرها في موضوع واحد