 11-26-2006, 08:55 PM |
| |
هنا كل شىء عن حماية السيرفارات  شرح بسيط يجعل من السهل حمايه سيرفرك وبخطوات 10 اتبعها وان شاء الله تستفيد منها بداية 1- استخدم الجدار الناري لحمايه السيرفر من الاغراق وايضا محاولات الاختراق المتكرره ومنها ABF+bfd+Kiss My Firewall وهذه سأقوم بشرحها لاحقا برنامجا تلو الاخر ----------------------------- 2- قم بتحديث الكرنال والسيستم الخاص بسيرفرك وذلك عن طريق الدعم الفني الخاص بسيرفرك DAtacenter قم بفتح بطاقه دعم فني لهم ------------------ 3 - متابعه رسائل اللوق والمشاكل بأمر tail –f /path/to/error_log 4- احرص اشد الحرص على الباك اب لانه يعتبر الحياه لعملائك وللداتا الخاصه بسيرفرك ونسخها.. لان الباك يعتبر التأمين لك..وقم بمراقبته دائما ولا تنسى ان تستأجر 40 قيقا او على حسب مطلبك من اي مكان اخر غير الداتا سنتر اللي انت فيها لكي تحرص على عدم فقدان بيانات عملائك حتى ولو تسببت بمشكله بينك وبين الداتا سنتر ----------- 5- احرص على عدم اعطاء اي عميل خيارات مفتوحه كالشل SHELL او السماح لهم بتركيب برامج مضره للسيرفر او اهمال ذلك.. لان في ذلك خطر كبير على باقي العملاء.. ---------- 6- اقفل منافذ ال php والدوال الخاصه بها اولا ادخل للشل root نفذ امر تحرير pico /usr/local/lib/php.ini او nano /usr/local/lib/php.ini قم بالبحث عن safe_mode = باستخدام Ctrl+W ستجدها safe_mode = Off غير off الى On لتصبح safe_mode = On انتهينا من ال safe mode بنفس الملف نبحث عن disable_functions = باستخدام نفس الطريقه السابقه ستجد انه لايحوي شيئا قم باضافه مايلي بعد = dl, exec, shell_exec, system, passthru, popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, escapeshellcmd, escapeshellarg انتهينا فقط قم بحفظ التغيير بالظغط على Ctrl+X y Enter وبعدها نعمل ريستارت للاباتشي لكي تعمل التغييرات اللتي اجريناها /etc/init.d/httpd restart ملحوظه البعض يريد فتح السيف مود لموقع واحد واقفاله عن الجميع اي جعل موقع ما بدون سيف مود اذن اتبع الاتي عن طريق الشل root قم بكتابه الامر التالي pico /usr/local/apache/conf/httpd.conf قم بلبحث عن يوزر الموقع اللذي تريد باستخدام Ctrl+W مثلا arabih ستجده هكذا ------------------------------------------------ <VirtualHost ***.***.***.***> ServerAlias www.traidnt.net traidnt.net ServerAdmin webmaster@traidnt.net ********Root /home/arabih/public_html BytesLog domlogs/traidnt.net-bytes_log ServerName www.traidnt.net User arabih Group arabih CustomLog domlogs/traidnt.net combined $$$$$$Alias /cgi-bin/ /home/arabih/public_html/cgi-bin/ </VirtualHost> ---------------------------------------- نظيف له بعد ********Root /home/arabih/public_html داله قفل السيف مود php_admin_flag safe_mode Off تم الانتهاء ويمكنك فعل ذلك لاكثر من موقع الان قم بحذظ العمل ب Ctrl+X وبعدها Y enter لكي تعمل الاعدادات الجديده قم بعمل ريستارت للاباتشي /etc/init.d/httpd restart 7-نحمي مجلد الtmp ادخل الشل root نفذ هذا الامر /$$$$$$s/securetmp 8- نقوم بحمايه ملفات السستم والتشييك عليها يوميا من التلاعب والاختراق بتركيب برنامج CHKROOTKIT واظن الاخوان سبقوني هنا وشرحوه تقريبا.. لتنصيبه اتبع الاتي من الشل اكتب الاتي لسحب الملف wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz وبعدها اسحب الملف الثاني ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5 والمختص بتشفيره نفذ هذا الامر md5sum chkrootkit.tar.gz بعدها نقوم بفتح الظغط عنه tar xvzf chkrootkit.tar.gz ونقوم بالدخول الى المجلد بعد فتح الظغط cd chkrootkit* نسوي له كومبايل وترجمه make sense ننصب البرنامج ./chkrootkit الان نقوم بتحرير الكونفيق الخاص به لكي يعمل معنا pico /etc/cron.daily/chkrootkit.sh الان نقوم باضافه التالي #!/bin/bash cd /yourinstallpath/chkrootkit-0.42b/ ./chkrootkit | mail -s "Daily chkrootkit from ServerNAME" admin@traidnt.net طبعا لاتنسون تغيرون الايميل لايميلك اللي تبي يوصله الرسائل الخاصه بالسيرفر وتغير اسم السيرفر servername الى اسم سيرفرك مثلا server.traidnt.net ---- نقوم بحفظ التغيير بالظغط على Ctrl+X بعدها Y ُEnter الان نقوم بتغيير التراخيص chmod 755 /etc/cron.daily/chkrootkit.sh الان لنقم بفحص البرنامج اذا ماكان يعمل ام لا نفذ الامر التالي cd /etc/cron.daily/ ولنقم بتنفيذ التالي وستصلك رساله بعدها عن السيرفر ./chkrootkit.sh 9- حمايه الروت 1- انشء يوزر جديد بالسيرفر سمه ماشئت قم باضافته الى AWheel Group طبعا لازم تعطيه صلاحيات Shell الان نقوم باغلاق الروت وتحويله من الشل نفذ التالي pico -w /etc/ssh/sshd_config سوف تجد التالي #Port 22 #Protocol 2,1 #ListenAddress 0.0.0.0 #ListenAddress :: -------------------------- الداله الثانيه #Protocol 2,1 غيرها لتصبح Protocol 2 اي لاحظ ان التغغيير جاء من دون داله # بعدها نسوي حفظ بلضغط على Ctrl + X Y ENter نسوي ريستارت للشل /etc/rc.d/init.d/sshd restart ادخل الان بيوزرك اللي سويته مثلا arabih الباسورد بعدها حول للروت بأمر su root اذا دخل معناته الشغل تمام وتمت بخير ان شاء الله 10 - والاخير متابعه لود السيرفر عن طريق top ايضا لاتنسى ان تذهب الى whm ومنها الى System Health ادخل على اول خيار Background Process Killer ضع صح على كل الموجود وسو حفظ حماية معلومات سيرفر الاباتشي و الـ http ----- ... مقتبس من الأخ صعب المنال -------------- الحين اذا انت فتحت مساحة جديدة او عادتا الناس ينسون يامنون ملف من الملفات مثل image لو تدخل اغلب المواقع على مثل هل مجلد راح تطلع لك الملفات الي بهل ملف مثلا تطلع لك الصور الخاصة بتصميم الموقع كلها لذلك يجب علينا حماية هذا الملف بوضع ملف index من اي نوع سواء كان html او php او اي برمجة و هذا بالنسبة للحماية بالاندكس لا ننسى نقفل الملفات عن طريق الترخيص المناسب بالاضافة الى وضع ملفات .htacess تحولني مباشرة الى و صلة اعدت خصيصا لمحاولات الاختراق و لاننسى تشفير الملفات سواء كانت اتش تي ام ال او بي اتش بي عن طريق برامج التشفير و انا شخصيا استخدم zend encodeing لتشفير ملفات البرمجة انتهينا من القسم الاول حماية الصفحات الحين حماية الاباتشي و يقوم باخفاء معلومات الاباتشي من صفحة الملفات التي لا تحتوي على اندكس و يكن ذلك عن طريق الشيل اولا حرر ملف التكوين الخاص بالاباتشي pico /etc/httpd/conf/httpd.conf ابحث عن نص ServerSignature عن طريق الضغط على Ctrl + W و اجعل القيمة من on ال off ServerSignature on بدلها حتى تكون ServerSignature off و اضعط Enter و اجعل المؤشر ياخذ سطر جديد و اكتب هذا النص ServerTokens ProductOnly احفظ الملف عن طريق Ctrl + X و اعمل رستارت عن طريق هذا الامر /etc/rc.d/init.d/httpd restart الان و بعد الرستارت حاول دخول ملف ليس بة ملف اندكس و لاحظ الشاشة من الاسفل اختفت ملعومات الاباتشي التي كانت توجد اسفل الخط و الخطوة الثانية حاول الدخول على احد الايبيات مثلا 127.0.0.1 للمثال فقط فلن تعمل و يكتب الخطاء ممنوع الدخول 403 و لكن يمكنك كتابة 127.0.0.1/index.php و سوف يعمل لانك حددت ملف البي اتش بي انكس و يمكن إضافة هذا السطر لملف php.ini لإخفاء معلومات الphp [php]pico /usr/local/lib/php.ini بعد السطر أضف reveal_php 0 للتأكد من ان الملف php.ini بهذا المسار هو الصحيح من أي إستضافة أنشئ ملف phpinfo.php و ضع هذا الكود داخله <? phpinfo() ?> تلاقي المسار أمام : Configuration File (php.ini) Path ------ شرح حماية سيرفرك اذا قام احدهم بدخول الشل تصلك التفاصيل لبريدك ..... للأخ منيا هوست تتلخص عملية هذا الكود الذي سوف نقوم بشرحه وطريقة عملة حيث انه سيقوم بأعلامك بريدياُ وخلال ثواني فقط بأنه تم دخول سيرفك من الشخص الفلاني وفي الساعه والدقيقه ويضهر لك معلومات رقم الايبي الشخص الذي تم دخوله .. كود مفيد جداَ وانا انصح بأستخدامه لتتمكن من معرفة من الذي دخل على سيرفرك عن طريق الشل سواء انت او غيرك ... واليكم التفصيل .. أولاً : قم بالدخول الى سيرفرك عن طريق الشل ( root ) ثانياً : افتح مجلد الروت root بأستخدامك هذا الامر : cd /root ثالثاً : قم بفتح الملف .bashrc بأستخدام احدى برامج التحرير مثل vi أو pico وانا افضل pico لسهولته والطريقة كتالي : pico .bashrc رابعاً : بعد فتح الملف المذكور اعلاه سوف يضهر لك نافذة بالملف الذي طلبه كل ما هو عليك الذهاب نهاية الملف ووضع الكود التالي مع تغيير ما يلزم : echo '$$$$$ - Root Shell Access (YourserverName) on:' `date` `who` | mail -s "$$$$$: Root Access from `who | cut -d"(" -f2 | cut -d")" -f1`" you@yourdomain.com قم بتغيير : YourserverName الى اسم سيرفرك الذي تود وصول الرساله لك قم بتغيير : you@yourdomain.com الى البريد الذي تود وصول الرساله التحذيرية الية خامساً : بعد وضعك للكود اعلاه اضغط على Crtl + X ثم اضغط Y وبعدها انتر ( enter ) .. بعد اتمام العمليات المذكورة اعلاه قم بالخروح من الشل والدخول مرة ثانية وحين دخولك سوف يصلك بريد يعلمك بأن تم الدخول هذا الشخص الى سيرفرك في تمام الساعه XXXX ويحمل رقم الايبي XXXXXX وبذلك سوف تعرف كل من دخل على سيرفرك .. ارجوا ان يكون الشرح وافياً لكم للعلم : الطريقة مجربة ومضنونه 100% لمن اتبع الخطوات الصحيحة ولا نتحمل اخطاء التصرف .. ----- [ درس ] حصريا في ترايدنت طريقه حمايه الرووت root ..... للأخ : ix-Security حساب الرووت هو الحساب الرئيسي في اجهزة لينكس و يساوي هذا المستخدم المستخدم ادمنستريتر Administrator في اجهزة الويندوز و من يملك هذا الحساب هو صاحب السيرفر فقط و من يملك هذا الحساب يستطيع فتح او الغاء المساحات و يستطيع الوصوال الى كافة موارد السيرفر و برمجياتة لذلك هذا الحساب خطر و يجب حمايتة جيدا و استخدام كلمات مرور طويلة و مخلوطة من ارقام و علامات مميزة مثل */-ّ$%^& و استخدام احرف كبيرة و صغيرة مثل Aa و الخطوة التالية هي الغاء خاصية الدخول المباشر للرووت و فكرتها الدخول بحساب مستخدم عادي ثم كتابة امر يحولك من مستخدم عادي الى رووت بكتابة كلمة السر الخاصة بالرووت و هذا مفيد من عدة نواحي و هي عدم امكانية دخول الهكرز مباشرة الى حساب الرووت و يجب علية ان يحصل على كلمتان للسر الاولى للمستخدم العادي و الثانية لحساب الرووت نفسة و هذه الخطوات التي تنفذ هذه المهمة تحرير ملف التكوين لخدمة الشيل عن طريق هذا الامر رمز: pico -w /etc/ssh/sshd_config البحث عن النص #Protocol 2, 1 عن طريق الضغط على Ctrl + W ثم تبديل النص الى رمز: Protocol 2 و نرجوا الملاحظة باننا قمنا بالغاء الرمز # و خذفنا رقم 1 و الفاصلة ثم على نفس هذا النهج نبحث عن النص #PermitRootLogin yes و نعدلة حتى يصبح PermitRootLogin no مع الملاحظة باننا قمنا بالغاء الرمز # و عدلنا القيمة من yes الى no ثم خزن ملف التكوين بلضغط على Ctrl + X و عمل رستارت لخدمة الشيل عن طريق هذا الامر رمز: /etc/rc.d/init.d/sshd restart و بعد الرستارت اخرج من برنامج الشيل و اعد تشغيلة البرنامج و انتبة للكلام بالاسفل --------------------------------------------------- *هذه الخاصية تلغي دخول المستخدم كرووت في الشل فقط اما في whm فيمكن للشخص الدخول على حساب الرووت * اذا كان سيرفرك يحتوي على cpanel يجب اضافة مستخدم (موقع) و يكون لمستخدم هذا الموقع الصلاحية للحصول على شيل من نوع bash و بعد ذالك يجب اضافة هذا المستخدم الى الى user wheel من الwhm ---------- كثير من الشركات تحصل على سيرفرات مؤجرة ويقدمون خدمات التصميم والدعم الفني لمشاكل السكربتات وغيرها لاكن يغفلو الحماية أو بالاصح يغفلو اجزاء من الحماية. هذه العشر الخطوات كفيلة بإذن الله بتأمين الحماية الازمة والحماية بيد الله بعد كل شي 1 - إستخدم الفايروول 'Firewall' : تاكد دائماً من عمل الجدار الناري على السيرفر باستمرار . الجدار الناري مثل الواقي وهي برامج تستخدم للحماية على الشبكة وأما تكون هارد وير او سوفت وير ,الهارد وير يكون جهاز صغير بين الجهاز و الشبكة ,والسوفت وير برنامج موجود في السيرفر. ويعمل الفايرول كفلتر لجميع الاتصالات القادمة الي السيرفر فتمنع حدوث اي اتصال خارجي الا بأذنك او بضوابط إنت تحددها . 2 - حدث الكيرنل 'kernel' ونظام التشغيل 'OS' بإستمرار : تأكد دائما بأن سيرفرك يعمل على أحدث البرامج أو الترقيات الحالية للأنظمة باستمرار لضمان عدم وجود ثغرات في نظامك , إستخدم النسخ المستقرة دائماً 'stable' وإذا كنت مش متأكد إسأل مزود الخدمة لديك سواء شركة غربية لسيرفرات أو عربية. 3 - تابع السجلات 'logs': في ملفات اللوق تستطيع إيجاد جميع العمليات المنفذه على سيرفرك وجميع الاخطاء والدخول وغيره. توجد أداة جميلة ترسل لك رسائل بريد إكتروني بكل العمليات الجديدة المنفذه على نظامك وهي 'LogWatch', إذا لم تستخدمها يجب عليك المتابعة بشكل يدوي مثال : Tail –f /var/log/messages الامر هذا يعرض لك آخر العميات المنفذة على نظامك وهكذا لجميع ملفات السجلات اللوق. 4 - النسخة الاحتياطية 'Backups' : لا يخفى على الجميع مدى اهمية النسخة الاحتياطية لمواقع العملاء فجهد السنين لابد من المحافظة عليه , لاكن كيف تحافظ على هذه الملفات وقواعد البيانات؟ اعمل نسخة إحتياطية خارج السيرفر او في هارد ديسك آخر وايضا دع لوحة التحكم تقوم بعملها بالنسخ الداخلي اليومي والاسبوعي والشهري ولكن لاتعتمد عليها فقط. 5 - تصاريح الدخول للعملاء : اقصد طرق الاتصال بالسيرفر لا تعطي العملاء أكثر من إحتياجهم مثلا إعطهم ftp و cpanel وإكتفي فقط ولا تعطيهم أبدا ssh و telnet مهما كانت الاسباب. 6 - السيف مود وإستخدام 'Mod_Security': php خطر للغاية ولا بد من تفعيل اليسف مود لتلافي الاكواد الخبيثة التي قد تأثر بشكل كبير على الموقع وربما السيرفر . إستخدم PHPSuexec و حماية open_basedirectory تستطيع تعديلها من لوحة التحكم whm أو من ملف php.ini. أغلق كلا من : register_globals , enable_dl , allow_url_open لحماية أكثر. يمكن أن تدعم الحماية في السيرفر بشكل اكبر إذا إستخدمة mod_security لانه يوقم بعملية فلترة لجميع الطلبات والتاكد من مطابقتها لجميع قواعد الحماية و السماح لها او انهائها قبل ان يتم التخريب. 7 - مجلد tmp : أغلق المجلدات التالية لأمكانية الهكر او اي شخص ان يصل إليها ويتحكم بها بشكل كامل: /tmp /var/tmp /dev/shm تستطيع تحديد صلاحيات المجلدات التالية من الملف /etc/fstab , إذا وجدت سطر يحوي مجلد tmp في هذا الملف قم ببحذف السطر وتبديل الي noexec,nosuid مثال كتالي : /dev/tmpMnt /tmp ext2 loop,noexec,nosuid,rw 0 0 وبهذه الطريقة تضمن عدم تنفيذ أي أمر في هذا المجلد أيضا إستخدم نفس الطريقة للمجلدات الأخرى واي اختصار لهذه المجلدات. 8 - نظام كشف التطفل 'IDS' : نظام كشف التطفل مثل جرس الانذار على سيرفرك يحتفظ بسجل كامل لتغيرات الملفات على السيرفر ليدرك اي تغير قد يطرأ , مهم جدا لانه الهكر المحترف قد يقوم بتغير اي ملف بينري مثل ps, top, netstat وغيرها , أعني عند تنفيذ اي من الاوامر التالية يقوم بعمل مغاير يخدم الهكر فيه ربما يقوم بتشغيل ملف مخفى آخر للهكر لا تسطيع معرفته بشكل عادي . من البرامج المهمه : TripWire, Snort و AIDE. 9 - متابعة العمليات والبرامج : من المهم جدا متابعة جميع العمليات على السيرفر وإزالة أو حذف البرامج الإضافية التي لاتفيد, لانك لاتستطيع حماية نظامك إذا لم تلم بجميع العمليات المنفذه عليه. وكما في الخطوه الثامنة ربما يقوم هكر بتشغيل برنامج خاص له على السيرفر فكيف تقوم بمعرفت العمليات ؟ الامر top او ps auxfww يساعدك بشكل كبير في معرفة العمليات المنفذه في الوقت الحالي على السيرفر تابع عمل السيرفر من وقت لآخر لتلاحظ العمليات الدخيلة المنفذه وقم بإنهائها فورا ً. 10- راقب سيرفرك بشكل يومي : سرعة بداية التشغيل , البانوديث المستخدم يوميا , سرعة السيرفر , الضغط على السيرفر , راقب كل شي بشكل عام ربما تم إختراق موقع على سيرفرك وقام المخترق بإستغلالة بطريقة مخالفة لقواعد استضافتك.. الآن تستطيع بعد عمل هذه الخطوات أن تقول إنك محمي بشكل جيد لاكن تبقى أمور أخرى أكثر تفصيل وتعقيد من هذه ولكن بهذه الخطوات العشرة فقد قمت بعمل جميع الخطوات الاساسية لحماية سيرفرك . منقول .... تجميع من جووجل و مجموعة اراء ... --------------- تــعلم كــيف تضع سيرفرك في الوضع ألأمن (Safe Mode) مهم ...... للأخ : ix-security -------------- أول حاجه طــبعا السيف مود بيحميك من أوامر الشل بمعني (لا يمكن تنفيذ أي أوامر علي السيرفر ) وهو مفيد طـبعا للجميع وأسيبكم مع الشرح الامر : pico /usr/local/lib/php.ini بعدين Ctrl+W وتكتب : safe_mode بعدين بتلاقي امامها كلمة OFF استبدلها بكلمة ON بعدين ctrl+X بعدين Y وتضغط إنتر كده يبق السيف مود شغال تمام |