2014/07/08

شرح طريقة استعادة السيرفر في حال انضرب النظام في السيرفر السي بنال

بسم الله الرحمن الرحيم
اليوم اقدم لكم شرح مهم جدا لكل شخص يعمل في الآستضافة المواقع ولديه سيرفر هذه الشرح يستخدم عندما ينضرب النظام التشغيل معك ويصير ما يشتغل ابداً فتقوم شركة السيرفرات تركب هاردسك جديد في سيرفرك وتنزل عليه نظام تشغيل من جديد وتركب الهاردسك الخربان وتخليه ثانوي ويصير معك في هذه الحالة 2 هاردات في السيرفر هارد اساسي وهارد ثانوي والهارد الثانوية الي انضرب النظام فيه


طبعا شرحي راح يكون شلون تنقل مواقع العملاء من الهاردسك القديم الخربان الى الهاردسك الجديد


لمعرفة التقسيمات الهاردات في السيرفر :


اكتب الآمر :


رمز Code:

fdisk -l

لمعرفة حجم الهاردسك :


رمز Code:

df -h

طبعا لما تتكلم مع الشركة المزوده للسيرفرات راح تقول لك مسار الهاردسك القديم المضروب او اطلب منهم ذلك ونفرض انه مسار الهاردسك الجديد اسمه


رمز Code:

/oldHD/

هذا يعني ان مسار ملفات مواقع عملائي هنا


رمز Code:

/oldHD/home

لو تروح للمسار الي فرضناه انه الهارد القديم نكتب :
<


رمز Code:

cd /oldHD/home

راح ندخل للهاردسك المضروب ولمعرفة الملفات التي بداخلة والأكونت الي فيه اكتب الأمر التالي :


 


رمز Code:

ls /oldHD/home

طبعا اذا كان سيرفرك في سوفت لير ما راح يرضون يسون عملية النسخ من الهارد القديم الى الجديد حتى لو قطعت تذكرة بـ 3 دولار راح يرفضون لذلك اتبع الطريقة التالية في نقل كافة ملفات عملاءك الى الهاردسك الجديد بواسطة الآمر rsync


الحين ندخل من الشيل ونطبق الأوامر التالية لنقل كافة المعلومات الأباتشي و ملف قواعد البيانات والنيم و ملفات مواقع العملاء وملفات اليوزرات والباسوردات العملاء ..الخ الخ الخ من الهارد المضروب الى الهاردسك الجديد


الأوامر كتالي :


 


رمز Code:

rsync -vrplogDtH /oldHD/usr/local/apache/conf /usr/local/apache
rsync -vrplogDtH /oldHD/var/named /var
rsync -vrplogDtH /oldHD/home/* /home
rsync -vrplogDtH /oldHD/usr/local/cpanel /usr/local
rsync -vrplogDtH /oldHD/var/lib/mysql /var/lib
rsync -vrplogDtH /oldHD/var/cpanel /var
rsync -vrplogDtH /oldHD/usr/share/ssl /usr/share
rsync -vrplogDtH /oldHD/var/ssl /var
rsync -vrplogDtH /oldHD/usr/local/cpanel/3rdparty/mailman /usr/local/cpanel/3rdparty
rsync -vrplogDtH /oldHD/var/log/bandwidth /var/log
rsync -vrplogDtH /oldHD/usr/local/frontpage /usr/local
rsync -vrplogDtH /oldHD/var/spool/cron /var/spool
rsync -vrplogDtH /oldHD/root/.my.cnf /root
rsync -vrplogDtH /oldHD/etc/httpd/conf/httpd.conf /etc/httpd/conf
rsync -vrplogDtH /old/etc/sysconfig/network /etc/sysconfig

طبعا لازم تعرف من الشركة مسار الهاردسك الجديد والقديم عشان يكون سهل عليك تطبيق الشرح ولا تنسى تغير oldHD بمسار الهارسك الجديد


ملاحظة :
الآوامر التي ذكرتها لا تقوم بعملية نقل من الهارد المضروب الى الهارد الجديد ولكن تقوم بعملية نسخها لذلك يعني لا تخاف اذا حصل خطء راح تلقى الملفات موجوده في الهاردسك القديم
بعد ذلك نقل الملفات الهامة التي بداخل المسار etc


ندخل للهارد المضروب الى الملف التالي :


رمز Code:

cd /oldHD/etc

وبعد ذلك نطبق الآمر التالي :


رمز Code:

#rsync -vrplogDtH secondarymx domainalias valiases vfilters exim* proftpd* pure-ftpd* passwd* group* *domain* *named* wwwacct.conf cpupdate.conf quota.conf shadow* *rndc* ips* ipaddrpool* ssl hosts /etc

الحين بعد عملية النقل ما راح تشتغل مواقع العملاء لازم تسوي تحديث لكافة برامج السيرفر عشان تشتغل ولازم تركب الأباتشي من جديد وتحدث كل شيء عشان يرجع مواقع تشتغل


نطبق الآوامر التالية :


تحديث لوحة التحكم CPANEL


 


رمز PHP:

 /scripts/upcp --force

ترقية الآكزايم exim


رمز PHP:

 /scripts/exim4 --force

ترقية قواعد البيانات MYSQL


رمز PHP:

 /scripts/mysqlup --force

ترقية الأف تي بي FTP


رمز PHP:

 /scripts/ftpup --force

ترقية Syncup Cpanel RPM


رمز PHP:

 /scripts/sysup

امر اصلاح البريد


رمز PHP:

 /scripts/mailperm

امر اصلاح المساحات وبعض المشاكل


رمز PHP:

 /scripts/fixquotas

رمز PHP:

 /scripts/fixcommonproblems

رمز PHP:

 /scripts/fixeverything

رمز PHP:

 /scripts/fixndc

رمز PHP:

 /scripts/fixvaliases

بعد ذلك تحديث الأباتشي بواسطة الآمر :


رمز PHP:

 /scripts/easyapache

بعدها نسوي ريستارت للخدمات :


بعد تحديث البرامج نقوم بإعادة ريستارت لها :


 


رمز PHP:



 # /scripts/restartsrv httpd

# /etc/rc.d/init.d/cpanel restart

# /scripts/restartsrv mysql

# /scripts/restartsrv named

# /scripts/restartsrv exim

 


# service chkservd restart


# service xinetd restart

# /scripts/restartsrv_pureftpd

# /etc/init.d/crond restart


بعدها شوف مواقع راح تشوفها كلها شغالة بإذن الله

10 أوامر لينكس مفيد لمدراء السيرفرات عن طريق الشل

1. حفظ نتائج صفحات man بصيغة .pdf

رمز Code:

man -t awk | ps2pdf - awk.pdf


2. نسخ/تكرار إعداد الحزم المنصبة للـ RPMs من سيرفر إلى سيرفر آخر

رمز Code:

ssh root@remote.host "rpm -qa" | xargs yum -y install


3. كتابة هيدر (مثل برنامج الـ Word) على صفحات امتداد .pdf بشكل سريع من خلال الشل

رمز Code:

echo "This text gets stamped on the top of the pdf pages." | enscript -B -f Courier-Bold16 -o- | ps2pdf - | pdftk input.pdf stamp - output output.pdf


4. معرفة عدد المتصلين على قاعدة بيانات MySQL معينة

رمز Code:

mysql -u root -p -BNe "select host,count(host) from processlist group by host;" information_schema


5. ضغط ملف بشكل سريع إلى صيغة tar من خلال سيرفر آخر

رمز Code:

ssh user@host "tar -zcf - /path/to/dir" > dir.tar.gz


6. أمر سريع لمعرفة استخدامات موارد السيرفر tail a log over ssh

رمز Code:

ssh -t remotebox "tail -f /var/log/remote.log"


7. عمل Diagram سريع لتراخيص users/groups بشكل صورة /etc/group

رمز Code:

awk 'BEGIN{FS=":"; print "digraph{"}{split($4, a, ","); for (i in a) printf "\"%s\" [shape=box]\n\"%s\" -> \"%s\"\n", $1, a[i], $1}END{print "}"}' /etc/group|display


8. عمل كلمة مرور قوية لكن سهلة الحفظ



رمز Code:

read -s pass; echo $pass | md5sum | base64 | cut -c -16


9. هذا الأمر لتحديد الملفات على السيرفر التي تقع ما بين 500 ميجا : 1 جيجا

رمز Code:

find / -type f -size +500M -size -1G


10. هذا الأمر لخفض معدلات تحميل معالج السيرفر Limit CPU Usage

رمز Code:

sudo cpulimit -p pid -l 50


أتمنى أن تجدوا بعض الأوامر المفيدة لديكم,

أجمل تحية

الحماية من هجمات حجب الخدمة , how to stop DDos

اليكم شرح غاية بالاهمية و هو التصدي لهجمات حجب الخدمة

DDos Or Distributed Denial of Service


الأول خلونا نعرف حبة مصطلحات يمكن تنفعنا لو فهمنا معناها ..


KeepAlive : هو المسؤول عن أنه يكون فى إتصال أو أكثر لمدة ثانية مثلاً من نفس المستخدم



MaxKeepAliveRequest : هو أكبر عدد يمكن تحديده للإتصال على السرفر من إتصال ثابت بمعنى أوضح نفس الأيّ بي



KeepAliveTimeout : هو مقدار عدد الثواني بين اللى هيسمح بيها البوكس بين كل إتصال وإتصال من نفس الأيّ بيي


Timeout : هو مقدار الوقت المسموح بيه قبل عملية الكونكشن نفسها هى اللى الريسيف والسينت قبل ما يدي تايم أوت أو ميسمحش بعرض الصفحة


MinSpareServers : المسؤول عن عملية فحص دورية ويعرف عدد المنتظرين عملية الطلب , اللي هي السيند والريسيف أو الإتصال مع البوكس عموماً



MaxSpareServers: مرتبط باللى قبله ولو هو أكتر منو هيلغى عمليات إتصال كتيرة


دول اللى هنعوزهم النهاردة فى شرحنا ..

ندخل في الشغل..


دلوقت حسيت التصفح تقيل , أو لاقيت الأباتشى فيلد أو الحاجات المعروفة اللى بنشوفها فى السرفرات والشكاوى اللى بتيجي أول خطوة أيه؟

رمز Code:

Uptime


الآمر دا عبارة عن بيعرفك اللود كام على سرفرك ودا اللى محتاجينه أحنا


عموما عشان مش يحصل لخبطة أعلى شيء على اللود في كل الانواع سواء كان معالج واحد أو أتنين او تلاتة أو أي حاجة مش يزيد عن 5


أكتر من كدا يبقى فى حاجة من 3

Attack بشتى أنواعه

Spam

localdos


والإسبام معروف طبعاً حلوله ولو حد عايز يسأل عن حلوله يتفضل يطلبها


نرجع لموضوعنا... الأتاك هيكون دانيال أوف سيرفس


بداية نعرف الترافيك المستخدم على السرفر في الوقت الحالى عادي ولالا؟


فى طريقتين ..... الأولى أني أكلم الداتا سنتر وأطلب منهم القياس من الرواتر بالظبت؟

والطريقة دى بطيئة لانه مش كل الـداتا سنترس سريعة في العمليات دى
الطريقة التانية وهي تركيب برنامج رائع

BWM – NG


طريقة التركيب..

رمز Code:

cd /usr/local/src



رمز Code:

wget http://www.gropp.org/bwm-ng/bwm-ng-0.5.tar.gz



رمز Code:

tar -zxf bwm-ng-0.5.tar.gz



رمز Code:

cd bwm-ng-0.5



رمز Code:

./configure; make; make install


ومن ثم أنتهي التنصيب ندخل في القياس البرنامج وظيفته بيقيس الترافيك


** ملاحظة مهمة , لا تعتمد على لوحة التحكم لديك لأنها تقيس الترافيك على الأباتشى فقط , لكن يوجد موارد أخرى تستهلك الترافيك الميلات .. الأف تي بي .. POP3 إلخ... لذلك عليك بالبرامج الخاصة بذلك


نعود لموضوعنا.. ونكتب الآمر التالى

رمز Code:

bwm-ng


هيطلع لنا الترافيك على اليمين , المعدل الأقصى لأيّ سرفر عادي لا يتجاوز نسبة معينة

مثال , الباندويث عندك 1500 جيجا شهريّاً يبقى التصفح العادى بالنسبة لك لازم يكون فى البرنامج مش أكتر من 550 كيلو بايت حد أقصي أو 600

أكثر من كدا يبقى في Attack وبكدا المشكلة فى الترافيك وحلها هنعرفه تحت طبعاً


نروح نشوف حالة الأباتشى أيه بالأمر التالى

رمز Code:

Httpd status


**ملاحظة , بعض السرفرات الأمر دا مبيديش ناتج ليهم للاسف

وبيطلع الرسالة دى

Not Found

The requested URL /server-status was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an
Error******** to handle the request.


والحل كالتالى

التعديل فى ملف الكونفنج للاباتشى

رمز Code:

pico -w /etc/httpd/conf/httpd.conf


**البحث بيتم عن إتخدام Ctrl + W


والبحث عن التالى

رمز Code:

#<Location /server-status>
SetHandler server-status#
Order deny,allow#
Deny from all#
Allow from example.com #
#< /Location>


شيل كل العلامات اللى من النوع دا #



وغير كلمة إيكسامبل بـ كلمة

localhost


ومن ثم أعد تشغيل الأباتشى

رمز Code:

httpd restart


وأكتب الآمر مرة أخرى سيعمل وعلى ضمانتى



هيديلك حاجة بالشكل دا


Server Version: Secured By : S3B ALMNAL
Server Built: April 30 2006 05:13:00

__________________________________________________ _______________

Current Time: Wednesday, 05-Oct-2005 18:16:02 EDT
Restart Time: Wednesday, 05-Oct-2005 18:15:55 EDT
Parent Server Generation: 18
Server uptime: 7 seconds
Total accesses: 24 - Total Traffic: 117 kB
CPU Usage: u0 s0 cu0 cs0
3.43 requests/sec - 16.7 kB/second - 4992 B/request
9 requests currently being processed, 4 idle servers


دا لو السرفر شغال عادي جداً

نبدأ الملاحظات هنا...

يجب أن السرفر الريكوست اللى فوق مش يزيد عن 30 أو 40 , لو زاد هتبقى بكدا فى فعلاً هجوم عليك..

وعشان نتأكد أكتر وأكتر نشوف الكونكشن كام

رمز Code:

netstat -n | grep :80 |wc –l



رمز Code:

netstat -n | grep :80 | grep SYN |wc –l



الأمر الأول يجب أن لا يزيد الكونكشن عن 450

والآمر الثاني لا يزيد عن 120 " ومن الممكن أنه ميديش ناتج لانك هتكون مفعل الساين كوكس"

نبدأ الحلول , فى مود رائع بيتركب للأباتشى وشايف أنه كلمة رائع لا توفي حقه خاصة أنه مجاني


mod_dosevasive

طريقة التركيب

رمز Code:

cd /usr/local/src



رمز Code:

wget http://www.nuclearelephant.com/projects/mod_evasive/mod_evasive_1.10.tar.gz tar -zxf mod_dosevasive_1.10.tar.gz



رمز Code:

cd mod_dosevasive



رمز Code:

/etc/httpd/bin/apxs -cia mod_dosevasive.c


ومن ثم وكالعادة هنعدل على ملف كونفنج الأباتشى ..


ودور على

رمز Code:

<IfModule mod_dosevasive.c>


واكتب تحتها



رمز Code:

DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>


** ملاحظة , أحيانا مش بتلاقيه فى ملف الكونفنج , الحل أكتب التالى



رمز Code:

<IfModule mod_dosevasive.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>


في أيّ مكان فى الملف , ولكن قبل ما تقوم بالعملية دى تاخد باك أب من الملف


وأيضاً يجب عمل بعض التعديلات فى ملف الكونفنج للأباتشى ..

رمز Code:

pico -w /etc/httpd/conf/httpd.conf


البحث عن الدوال الأتية كلها وتغيير قيمتها


Timeout 15


KeepAlive Off


KeepAliveTimeout 5

MinSpareServers 15

MaxSpareServers 20

وايضاً تفعيل الساين كوكيس " مع إنى لا أحب تلك الخطوة لانه في بعض الفايروولات تتسم بالغباء تفلتر الساين باكتس على أنه هجوم !!"

المهم الأمر كالتالي..

رمز Code:

echo 1 > /proc/sys/net/ipv4/tcp_syn******s


هذه هي الحلول المقترحة لإيقاف المشاكل الخاصة بالدانيال أوف سيرفس

شرح تحديد عدد الرسائل لكل عميل على السيرفر

هذا الملخّص غير متوفِّر. يُرجى النقر هنا لعرض المشاركة.