12-24-2010, 05:42 PM
السلام عليكم ورحمة الله وبركاته
أخواني الكرام أٌقدم لكم هذه المجموعة من الدروس المنتقاة لحماية و زيادة أمن السيرفر وجعله مستقرا وقد قمت بجمع هذه الدروس من أشهر المواقع الأجنبية في مجال حماية السيرفر
الدرس الأول:
===================
Root Check
=====================
يقوم بفحص وعمل سكان للنظام لمعرفة ما إذا كان هناك أي تروجان ويقوم بفحص البورتات ومعرفة إذا كان هناك أي مخترق كما يقوم بفحص اللوغ و السماحيات والكثير...
تعليمات التنصيب
-------
قم بالدخول إلى السيرفر كرووت
نفذ التعليمات التالية:
ذلك تكون قد قمت بتنزيل الرووت تشيك على السيرفر وعندما ينتهي التنصيب ستستقبل الرسالة التالية:
---------------------------------------------------------
فحص النظام
-------
الآن بعد ان قمت بالتنصيب يمكنك فحص النظام من خلال التعليمة التالية:
ستنتقل بعدها إلى شاشة تفاعلية وستخزن جميع المعلومات في الملف
results.txt
حيث ستجد معلومات واضحة عن الملفات المشتبه بها وما قام به البرنامج أثناء الفحص
إذا أردت معلومات أكثر عن الرووت تشيك يمكن أن تجدها في الموقع
http://www.ossec.net
الدرس الثاني
===============
Changing APF log for TDP/UDP drops
===============
إذ كنت مضجرا من رؤية ملف
/var/log/messages
ممتلئا من الرسائل المرسلة من قبل الـجدار الناري apf فيوجد حل بإنشاء ملف لوغ منفصل من أجل TCP/UDP OUTPUT and drops
وهذا سيحعل ملف لوغ الرسائل غير ممتلئ كثيرا وسهل التصفح
المتلطلبات:
-----
اصدار جادر ناري
APF Firewall 0.9.3 او أعلى كما انه يمكن أن يعمل على إصدار أدنى لكن ذلك لم يجرب لمعرفة إذا كان يعمل أم لا
تغيير إعدادات الـ APF Firewall
------------------------
1- قم بالدخول إلى السيرفر كرووت
2- انشئ ملف لوغ جديد فقط من أجل the TCP/UDP output/drops from APF
3- قم بتغيير السماحيات من أجل تقييد النفاذ:
4- يجب علينا القيام بعمل باك لملف الـ syslog من أجل الأمان في حال قمنا باي خطأ عبر التلعليمة:
5- تغيير الـ syslog ليجبر الـ iptables ليستخدم ملف اللوغ الجديد:
6- أضف ما يلي في نهاية الملف:
- احفظ التغييرات
ctrl + X then Y
8- اعد تشغيل خدمة syslogd لتنفيذ التعديلات الجديدة :
9- عمل نسخة احتياطية للـ أ.ب.اف:
10- فتح الـ أ.ب.ف وعمل تعديلات عليه:
11-
قم بالبحث عن
DROP_LOG
ستجد المقطع التالي
قم بتبديله بالتالي:
12- ابحث عن DROP_LOG أكثر من مرة حتى تجد المقطع التالي:
قم بتبديله إلى
13- احفظ التغييرات على الجدار الناري:
Ctrl + X then Y
14- أعد تشغيل الـجدار الناري لتنفيذ التعليماتت الجديدة عبر الأمر:
15- نفذ الأمر للتأكد من أن ملف اللوغ الجديد يستقبل الرسائل:
ستجد أشياء مكتوبة كهذه:
كذلك يمكن فحص ملف اللوغ الأساسي بانه لا يتسقبل معلومات من الجدار الناري عبر الأمر
لمزيد من المعلومات يمكن الإطلاع على الرابط
http://www.rfxnetworks.com/apf.php
الدرس الثالث
----------------
How to Disable Telnet
ان التيلينت خلال عملية الولوج أو تسجيل الدخول ترسل اسم المستخدم وكلمة السر بشكل واضح وبدون تشفير لذلك يجب ان يتم تعطيلها على السيرفر واستبدالها بالSSh
بعض مزودي خدمة الاستضافة لا يقومو بتعطيل هذه الخدمة بشكل افتراضي ويجب الانتباه إلى ذلك وتعطيلها كما ان التيلنيت تصغي إلى الرسائل الداخلة والخارجة عبر البورت رقم 23 وإليكم كيفية إلغاء تفعيل هذه الخدمة:
1- قم بالدخول إلى السيرفر كرووت من خلال اس اس اتش
2- قم بتنفيذ الأمر التالي:
3- ابحث عن السطر
disable = no
وغيره إلى
disable = yes
4- قم بإعادة تشغيل خدمة inetd service عبر الأمر:
5- قد تبقى هذه الخدمة فعالة بعد الذي فعلناه لذلك لضمان أنها ليست فعالة نفذ الامر:
6- اعمل سكان للسيرفر للتأكد من أن البورت 23 مغلق:
7- نفذ الأمر التالي لكي تتأكد من انه لا يوجد اي عملية خاصة بالتيلينت فعالة وإذا وجدت اي واحدة دمرها ب kill:
الدرس الرابع
=======================
How to install BFD (Brute Force Detection
=================
ماهو ال BDF أو Brute Force Detection؟
هو سكريبت شيل يقوم بمراقبة من يدخل السيرفر ويراقب حالات الدخول الفاشلة إلى السيرفر ويقوم بتسجيلها في ملف لوغ , ولا توجد معلومات تفصيلية كثيرة عن
الـbdf كل ماهنالك أن تركيبه واستعماله سهل جدا للغاية ومن المهم ان يكون على كل سيرفر كمستوى جديد لحماية السيرفرسنقوم الآن بشرح طريقة تركيبه هلى السيرفر
المتطلبات:
-----
يجب ان تكون قد ركبت الجدار الناري APF حيث أن الBFD لا يمكنه العمل بدونه
التركيب----
1- أدخل إلى السيرفر عن طريق الـ ssh
2-انشئ مجلد جديد أو أدخل إلى المكان الذي تخزن عليه الملفات المؤقتة :
3- قم بجلب الملف إلى السيرفر عن طريق الأمر:
4- قم بفك ضغط الملفات عن طريق الأمر:
5-نفذ الأمر:
cd bfd-0.7
6- قم بالتركيب والتنصيب عن طريق الامر:
سوف تتلقى رسالة مفادها أنه تم التثبيت:
تعديل إعدادات ال BFD:
-----------
1- افتح ملف الإعدادات عن طريق الامر:
2- فعل إعطاء الإنذار في حال حدوث محاولة اختراق:
ابحث عن ALERT_USR="0" وغيرها إلى ALERT_USR="1"
3- ضع البريد الالكتروني الذي تريد تلقي الإنذار عليه:
ابحث عن EMAIL_USR="root" وغيرها إلى EMAIL_USR="your@yourdomain.com"
4- احفظ التغييرات Ctrl+X then Y
5- يجب ان تضع الاي بي ادريس IP Address الخاص بك عندما تدخل إلى السيرفر حتى لا يعمل لك بلوك:
ثم اكتب عناون الاي بي الذي تدخل به مثال:192.168.1.1
6- احفظ التغييرات Ctrl+X then Y
الآن قم بتشغيل البرنامج عن طريق الأمر:
7- يمكنك أن تتحكم بطريقة عمل بعض البرامج على السيرفر عن طريق تفحص الدليل
الدرس الخامس
=================================
Stop PHP nobody Spammers
============ ==================
لا تستطيع بي اتش بي و لا الأ*****ي منذ إصداراتها الأولى مراقبة ومتابعة الاشخاص اللذين يرسلون البريد الالكتروني عبر PHP mail function و ذلك عبر مستخدم nobody user والاشخاص الحقودين والماكرين يستغلون هذه النقطة لإرسال رسائل السبام بواسطة سكريتات بي اتش بي أوغيرها دون ان تعرف من يقوم بذلك من هؤلاء الاشخاص
إن مراقبة exim_mainlog لا يساعدك كثيرا في هذا الأمر لأنك سترى أن هناك من يرسل رسائل لكن لا تدري من هو المستخدم الذي يرسل هذه الرسائل و أين تقع السيكريبت التي ترسل هذه الرسائل
أذا فحصت ملف PHP.ini ستجد أن برنامج البريد موضوع بشكل افتراضي على المسار
/usr/sbin/sendmail
ستجد ان اغلب سكريبتات الـphp تستخدم هذا المسار لإرسال الرسائل عبر التابع mail(); لذلك فإن اغلب الرسائل سترسل عبر
/usr/sbin/sendmail =)
المتطلبات
-----
سنفترض أنك تستخدم الإصدارات التالية:
Apache 1.3x, PHP 4.3x and Exim
الوقت اللازم:
------
عشر دقائق تقريبا
طريقة التنفيذ:-------
1- الدخول إلى السيرفر عبر SSh
2- قم بايقاف Exim لمنع اي تأثيرات جانبية:
3-قم بعمل نسخة احتياطية للملف الافتراضي /usr/sbin/sendmail عبر الأمر:
4- قم بإنشاء سكريبت مراقبة للإيميلات الجديدة المرسلة:
انسخ ما يلي:
والصقه
5- قم بتغيير السماحيات عبر الأمر:
6- انشئ ملف لوغ جديد :
7- أعد تشغيل exim
8- راقب ملف spam_log وجرب قبل ذلك ان ترسل أي رسالة مثلا من أي صفحة اتصل بنا :
لمنع جعل ملف اللوغ كبير يجب ضبط إعدادات Log Rotation Details
وذلك عبر مايلي:
1- افتح الملف logrotate.conf عبر الامر:
2- ابحث عن:
أضف بعدها:
الدرس السادس
============================
E-mail Alert on Root SSH Login
====================
بهذه الفكرة التي نتكلم عنها اليوم ستتمكن من استقبال رسالة بريدية مجرد دخول أي شخص إلى السيرفر كرووت وهذا أمر هام من أجل تتبع كل من يدخل إلى السيفر كرووت حيث سترسل رسالة فورية لك تخبرك بذلك ويفضل أن تضع عنوان بريد الكتروني في سيرفر أو استضافة أخرى وليست على نفس سيرفرك الذي سيرسل رسالة التحذير ويفضل استخدام هذه الطريقة في حال كان هناك أكثر من مدير للسيرفر واليكم الطريقة:
1- إدخل إلى السيرفر كرووت عن طريق SSh
2- نفذ الأمر :
3- افتح الملف .bashrc للكتابة:
4- أضف ما يلي في نهاية الملف مع تغيير الايميل والهوست:
5- أحفظ الملف Crtl + X then Y
6- يمكنك الآن الخروج من الـ اس اس اتش والدخول مرة ثانية للتجريب
وهذه نهاية الفكرة
الدرس السابع
===================
How to install APF (Advanced Policy Firewall
======================================
برنامج الجدار الناري من أقوى برامج الحماية يصلح لأن يكون راكبا على كل سيرفر يقوم بحماية أكيدة وفعالة للسيرفر وهو سهل الاعداد ولمزيد من المعلومات يمكن الإطلاع على الرابط:
http://www.rfxnetworks.com/apf.php
طريقة التركيب:
1- الدخول إلى السيرفر كرووت عن طريق SSh
2- انشئ مجلدا لتحميل الملف المضغوط عليه و فك ضغط هذا الملف وليكن هذا المجلد اسمه downloads
3- إدخل إلى هذا المجلد عن طريق الامر:
4- قم بجلب ملف الجدار الناري غلى السيرفر عن طريق الأمر:
5- فم بفك ضغط هذا الملف:
6- حسب الإصدار الأخير للبرنامج نفذ الأمر
7- شغل برنامج التنصيب:
8- سوف تتلقى رسالة بانتهاء التنصيب:
Installing APF 0.9.5-1: Completed.
Installation Details:
Install path: /etc/apf/
Config path: /etc/apf/conf.apf
Executable path: /usr/local/sbin/apf
AntiDos install path: /etc/apf/ad/
AntiDos config path: /etc/apf/ad/conf.antidos
DShield Client Parser: /etc/apf/extras/dshield/
Other Details:
Listening TCP ports: 1,21,22,25,53,80,110,111,143,443,465,993,995,2082, 2083,2086,2087,2095,2096,3306
Listening UDP ports: 53,55880
Note: These ports are not auto-configured; they are simply presented for information purposes. You must manually configure all port options.
9- سنقوم الآن بضبط إعدادات الجدار الناري فنفتح الملف التالي للتعديل:
10- ابحث عن USE_DS="0"
وغيرها إلى USE_DS="1"
11- إعدادات بورتات الجدار الناري:
من اجل cpanel
من اجل بورتات الاستقبال inbound ports:
أضف مايلي
بورتات الإرسال Outbound ports
من اجل سيرفرات Ensim :أضف مايلي
من اجل بورتات الاستقبال inbound ports:
من اجل بورتات الإرسال Outbound ports:
أحفظ الملف Crtl + X then Y
12- شغل الجدار الناري عبر الأمر:
هناك أوامر اخرى مثل:
إعادة تشغيل الجدار الناري:
إعادة التشغيل
-f|--flush|--stop .................. flush firewall توقيف الجدار الناري
-l|--list .......................... list chain rules إظهار القواعد التي يعمل عليها الجدار الناري
-st|--status ....................... firewall status حالة الجدار الناري
13-تعديل خيار الـ DEV
بعد التأكد من ان الجدار الناري يعمل بشكل صحيح يجب إلغاء خيار ايقاف الجدار الناري كل خمس دقائق من الكرون جوب cron وذلك بفتح الملف :
ابحث عن
DEVM="1" وغيرها إلى DEVM="0"
14- إعداد الجدار الناري من اجل AntiDOS :
افتح الملف:
إذهب إلى القسم # [E-Mail Alerts] و ضع الإعدادات التالية:
ضع هنا اسم شركتك:
من أجل أن يرسل لك رسالة عند حصول محاولة اختراق او دوس اتاك dos attack غير ما يلي إلى 1
ثم ضع بريدك هنا
أحفظ الملف Crtl + X then Y
15- أعد تشغيل الجدار الناري:
16- فحص ملف اللوغ للجدار الناري:
17- تشغيل جدار الناري عند كل إعادة تشغيل للسيرفر:
لمنع الجدار الناري من العمل اتوماتيكيا عند تشغيل السيرفر:
18- عمل بلوك لاي بي معين:
هناك طريقتين:
الطريقة الاولى
السويتش او اللاحقة d- تعني عمل بلوك لأي بي محدد
IPHERE ضع بدلا عنها عنوان الاي بي الذي تريد حذفه
COMMENTHERENOSPACES يمكنك الكتابة بدلا عنها سبب المنع لكن أكتب كلمات بدون فراغ بينها
مثال:
افتح بعدها الملف:
ستجد:
# added 185.14.157.123 on 08/23/05 01:25:55
# TESTING
185.14.157.123
الطريق الثانية لمنع اي بي:
افتح الملف
ضع في كل سطر اي بي واحد من الايبيات التي تريد عمل بلوك لها وعليك بعد حفظ الملف غعادة تشغيل الجدار الناري:
السماح لاي بي محجوب بإمكانية وإلغاء البلوك عليه:
عن طريق التعليمة:
الخيار او اللاحقة a- تعني إلغاء الحجب عن اي بي معين
IPHERE ضع بدلا عنها عنوان الاي بي الذي تريد إلغاء حجبه
COMMENTHERENOSPACES يمكنك الكتابة بدلا عنها سبب إلغاء الحجب لكن أكتب كلمات بدون فراغ بينها
مثال:
./apf -a 185.14.157.123 UNBLOCKING
pico /etc/apf/allow_hosts.rules
# added 185.14.157.123 on 08/23/05 01:39:43
# UNBLOCKING
185.14.157.123
الدرس الثامن
=============
تغيير الرسالة الترحيبية عند دخول المستخدمين إلى السيرفر
===================
يمكن وضع رسالة ترحيبية تظهر عند دخول أي مستخدم إلى السيرفر عن طريق الـ SSh
ويكون ذلك بتعديل ملف motd
والطريقة:
1- ادخل غلى السيرفر كرووت عن طريق الـ SSh
2- افتح الملف التالي:
3- اكتب الرسالة الترحيبية التي تريدها ان تظهر
4-أحفظ الملف Crtl + X then Y
انتهت الفكرة
منقول
ادارة سكيورتي العرب
أخواني الكرام أٌقدم لكم هذه المجموعة من الدروس المنتقاة لحماية و زيادة أمن السيرفر وجعله مستقرا وقد قمت بجمع هذه الدروس من أشهر المواقع الأجنبية في مجال حماية السيرفر
الدرس الأول:
===================
Root Check
=====================
يقوم بفحص وعمل سكان للنظام لمعرفة ما إذا كان هناك أي تروجان ويقوم بفحص البورتات ومعرفة إذا كان هناك أي مخترق كما يقوم بفحص اللوغ و السماحيات والكثير...
تعليمات التنصيب
-------
قم بالدخول إلى السيرفر كرووت
نفذ التعليمات التالية:
كود :
wget http://www.ossec.net/rootcheck/files/rootcheck-0.4.tar.gz
tar -xvzf rootcheck-0.4.tar.gz
cd rootcheck-0.4
./install
ذلك تكون قد قمت بتنزيل الرووت تشيك على السيرفر وعندما ينتهي التنصيب ستستقبل الرسالة التالية:
كود :
Compilation sucessfull. Ready to go.
---------------------------------------------------------
Thats it! If everything went ok, you should be ready to run RootCheck. If you any doubts
about installation, please refer to INSTALL file. You can also find additional information
at : http://www.ossec.net/rootcheck/ Improves, patches, comments are very welcome
.
---------------------------------------------------------
فحص النظام
-------
الآن بعد ان قمت بالتنصيب يمكنك فحص النظام من خلال التعليمة التالية:
كود :
./rootcheck.pl
ستنتقل بعدها إلى شاشة تفاعلية وستخزن جميع المعلومات في الملف
results.txt
حيث ستجد معلومات واضحة عن الملفات المشتبه بها وما قام به البرنامج أثناء الفحص
إذا أردت معلومات أكثر عن الرووت تشيك يمكن أن تجدها في الموقع
http://www.ossec.net
الدرس الثاني
===============
Changing APF log for TDP/UDP drops
===============
إذ كنت مضجرا من رؤية ملف
/var/log/messages
ممتلئا من الرسائل المرسلة من قبل الـجدار الناري apf فيوجد حل بإنشاء ملف لوغ منفصل من أجل TCP/UDP OUTPUT and drops
وهذا سيحعل ملف لوغ الرسائل غير ممتلئ كثيرا وسهل التصفح
المتلطلبات:
-----
اصدار جادر ناري
APF Firewall 0.9.3 او أعلى كما انه يمكن أن يعمل على إصدار أدنى لكن ذلك لم يجرب لمعرفة إذا كان يعمل أم لا
تغيير إعدادات الـ APF Firewall
------------------------
1- قم بالدخول إلى السيرفر كرووت
2- انشئ ملف لوغ جديد فقط من أجل the TCP/UDP output/drops from APF
كود :
touch /var/log/iptables
3- قم بتغيير السماحيات من أجل تقييد النفاذ:
كود :
chmod 600 /var/log/iptables
4- يجب علينا القيام بعمل باك لملف الـ syslog من أجل الأمان في حال قمنا باي خطأ عبر التلعليمة:
كود :
cp /etc/syslog.conf /etc/syslog.conf.bak
5- تغيير الـ syslog ليجبر الـ iptables ليستخدم ملف اللوغ الجديد:
كود :
pico /etc/syslog.conf
6- أضف ما يلي في نهاية الملف:
كود :
# Send iptables LOGDROPs to /var/log/iptables
kern.=debug /var/log/iptables
ctrl + X then Y
8- اعد تشغيل خدمة syslogd لتنفيذ التعديلات الجديدة :
كود :
/sbin/service syslog reload
9- عمل نسخة احتياطية للـ أ.ب.اف:
كود :
cp /etc/apf/firewall /etc/apf/firewall.bak
10- فتح الـ أ.ب.ف وعمل تعديلات عليه:
كود :
pico /etc/apf/firewall
11-
قم بالبحث عن
DROP_LOG
ستجد المقطع التالي
كود :
if [ "$DROP_LOG" == "1" ]; then
# Default TCP/UDP INPUT log chain
$IPT -A INPUT -p tcp -m limit --limit $LRATE/minute -i $IF -j LOG --log-prefix "** IN_TCP DROP ** "
$IPT -A INPUT -p udp -m limit --limit $LRATE/minute -i $IF -j LOG --log-prefix "** IN_UDP DROP ** "
قم بتبديله بالتالي:
كود :
if [ "$DROP_LOG" == "1" ]; then
# Default TCP/UDP INPUT log chain
$IPT -A INPUT -p tcp -m limit --limit $LRATE/minute -i $IF -j LOG --log-level debug
$IPT -A INPUT -p udp -m limit --limit $LRATE/minute -i $IF -j LOG --log-level debug
12- ابحث عن DROP_LOG أكثر من مرة حتى تجد المقطع التالي:
كود :
if [ "$DROP_LOG" == "1" ] && [ "$EGF" == "1" ]; then
# Default TCP/UDP OUTPUT log chain
$IPT -A OUTPUT -p tcp -m limit --limit $LRATE/minute -o $IF -j LOG --log-prefix "** OUT_TCP DROP ** "
$IPT -A OUTPUT -p udp -m limit --limit $LRATE/minute -o $IF -j LOG --log-prefix "** OUT_UDP DROP ** "
قم بتبديله إلى
كود :
if [ "$DROP_LOG" == "1" ] && [ "$EGF" == "1" ]; then
# Default TCP/UDP OUTPUT log chain
$IPT -A OUTPUT -p tcp -m limit --limit $LRATE/minute -o $IF -j LOG --log-level debug
$IPT -A OUTPUT -p udp -m limit --limit $LRATE/minute -o $IF -j LOG --log-level debug
13- احفظ التغييرات على الجدار الناري:
Ctrl + X then Y
14- أعد تشغيل الـجدار الناري لتنفيذ التعليماتت الجديدة عبر الأمر:
كود :
/etc/apf/apf –r
15- نفذ الأمر للتأكد من أن ملف اللوغ الجديد يستقبل الرسائل:
كود :
tail –f /var/log/iptables
ستجد أشياء مكتوبة كهذه:
كود :
Aug 27 15:48:31 fox kernel: IN=eth0 OUT= MAC=00:0d:61:37:76:84:00:d0:02:06:08:00:08:00 SRC=192.168.1.1 DST=192.168.1.1 LEN=34 TOS=0x00 PREC=0x00 TTL=118 ID=57369 PROTO=UDP SPT=4593 DPT=28000 LEN=14
كذلك يمكن فحص ملف اللوغ الأساسي بانه لا يتسقبل معلومات من الجدار الناري عبر الأمر
كود :
tail –f /var/log/messages
لمزيد من المعلومات يمكن الإطلاع على الرابط
http://www.rfxnetworks.com/apf.php
الدرس الثالث
----------------
How to Disable Telnet
ان التيلينت خلال عملية الولوج أو تسجيل الدخول ترسل اسم المستخدم وكلمة السر بشكل واضح وبدون تشفير لذلك يجب ان يتم تعطيلها على السيرفر واستبدالها بالSSh
بعض مزودي خدمة الاستضافة لا يقومو بتعطيل هذه الخدمة بشكل افتراضي ويجب الانتباه إلى ذلك وتعطيلها كما ان التيلنيت تصغي إلى الرسائل الداخلة والخارجة عبر البورت رقم 23 وإليكم كيفية إلغاء تفعيل هذه الخدمة:
1- قم بالدخول إلى السيرفر كرووت من خلال اس اس اتش
2- قم بتنفيذ الأمر التالي:
كود :
pico /etc/xinetd.d/telnet
3- ابحث عن السطر
disable = no
وغيره إلى
disable = yes
4- قم بإعادة تشغيل خدمة inetd service عبر الأمر:
كود :
/etc/rc.d/init.d/xinetd restart
5- قد تبقى هذه الخدمة فعالة بعد الذي فعلناه لذلك لضمان أنها ليست فعالة نفذ الامر:
كود :
/sbin/chkconfig telnet off
6- اعمل سكان للسيرفر للتأكد من أن البورت 23 مغلق:
كود :
nmap -sT -O localhost
7- نفذ الأمر التالي لكي تتأكد من انه لا يوجد اي عملية خاصة بالتيلينت فعالة وإذا وجدت اي واحدة دمرها ب kill:
كود :
ps -aux | grep telnet
الدرس الرابع
=======================
How to install BFD (Brute Force Detection
=================
ماهو ال BDF أو Brute Force Detection؟
هو سكريبت شيل يقوم بمراقبة من يدخل السيرفر ويراقب حالات الدخول الفاشلة إلى السيرفر ويقوم بتسجيلها في ملف لوغ , ولا توجد معلومات تفصيلية كثيرة عن
الـbdf كل ماهنالك أن تركيبه واستعماله سهل جدا للغاية ومن المهم ان يكون على كل سيرفر كمستوى جديد لحماية السيرفرسنقوم الآن بشرح طريقة تركيبه هلى السيرفر
المتطلبات:
-----
يجب ان تكون قد ركبت الجدار الناري APF حيث أن الBFD لا يمكنه العمل بدونه
التركيب----
1- أدخل إلى السيرفر عن طريق الـ ssh
2-انشئ مجلد جديد أو أدخل إلى المكان الذي تخزن عليه الملفات المؤقتة :
كود :
cd /root/downloads
3- قم بجلب الملف إلى السيرفر عن طريق الأمر:
كود :
wget http://www.rfxnetworks.com/downloads/bfd-current.tar.gz
4- قم بفك ضغط الملفات عن طريق الأمر:
كود :
tar -xvzf bfd-current.tar.gz
5-نفذ الأمر:
cd bfd-0.7
6- قم بالتركيب والتنصيب عن طريق الامر:
كود :
./install.sh
سوف تتلقى رسالة مفادها أنه تم التثبيت:
كود :
.: BFD installed
Install path: /usr/local/bfd
Config path: /usr/local/bfd/conf.bfd
Executable path: /usr/local/sbin/bfd
تعديل إعدادات ال BFD:
-----------
1- افتح ملف الإعدادات عن طريق الامر:
كود :
pico /usr/local/bfd/conf.bfd
2- فعل إعطاء الإنذار في حال حدوث محاولة اختراق:
ابحث عن ALERT_USR="0" وغيرها إلى ALERT_USR="1"
3- ضع البريد الالكتروني الذي تريد تلقي الإنذار عليه:
ابحث عن EMAIL_USR="root" وغيرها إلى EMAIL_USR="your@yourdomain.com"
4- احفظ التغييرات Ctrl+X then Y
5- يجب ان تضع الاي بي ادريس IP Address الخاص بك عندما تدخل إلى السيرفر حتى لا يعمل لك بلوك:
كود :
pico -w /usr/local/bfd/ignore.hosts
ثم اكتب عناون الاي بي الذي تدخل به مثال:192.168.1.1
6- احفظ التغييرات Ctrl+X then Y
الآن قم بتشغيل البرنامج عن طريق الأمر:
كود :
/usr/local/sbin/bfd -s
7- يمكنك أن تتحكم بطريقة عمل بعض البرامج على السيرفر عن طريق تفحص الدليل
كود :
/usr/local/bfd
الدرس الخامس
=================================
Stop PHP nobody Spammers
============ ==================
لا تستطيع بي اتش بي و لا الأ*****ي منذ إصداراتها الأولى مراقبة ومتابعة الاشخاص اللذين يرسلون البريد الالكتروني عبر PHP mail function و ذلك عبر مستخدم nobody user والاشخاص الحقودين والماكرين يستغلون هذه النقطة لإرسال رسائل السبام بواسطة سكريتات بي اتش بي أوغيرها دون ان تعرف من يقوم بذلك من هؤلاء الاشخاص
إن مراقبة exim_mainlog لا يساعدك كثيرا في هذا الأمر لأنك سترى أن هناك من يرسل رسائل لكن لا تدري من هو المستخدم الذي يرسل هذه الرسائل و أين تقع السيكريبت التي ترسل هذه الرسائل
أذا فحصت ملف PHP.ini ستجد أن برنامج البريد موضوع بشكل افتراضي على المسار
/usr/sbin/sendmail
ستجد ان اغلب سكريبتات الـphp تستخدم هذا المسار لإرسال الرسائل عبر التابع mail(); لذلك فإن اغلب الرسائل سترسل عبر
/usr/sbin/sendmail =)
المتطلبات
-----
سنفترض أنك تستخدم الإصدارات التالية:
Apache 1.3x, PHP 4.3x and Exim
الوقت اللازم:
------
عشر دقائق تقريبا
طريقة التنفيذ:-------
1- الدخول إلى السيرفر عبر SSh
2- قم بايقاف Exim لمنع اي تأثيرات جانبية:
كود :
/etc/init.d/exim stop
3-قم بعمل نسخة احتياطية للملف الافتراضي /usr/sbin/sendmail عبر الأمر:
كود :
mv /usr/sbin/sendmail /usr/sbin/sendmail.hidden
4- قم بإنشاء سكريبت مراقبة للإيميلات الجديدة المرسلة:
كود :
pico /usr/sbin/sendmail
انسخ ما يلي:
كود :
#!/usr/local/bin/perl
# use strict;
use Env;
my $date = `date`;
chomp $date;
open (INFO, ">>/var/log/spam_log") || die "Failed to open file ::$!";
my $uid = $>;
my @info = getpwuid($uid);
if($REMOTE_ADDR) {
print INFO "$date - $REMOTE_ADDR ran $SCRIPT_NAME at $SERVER_NAME n";
}
else {
print INFO "$date - $PWD - @infon";
}
my $mailprog = '/usr/sbin/sendmail.hidden';
foreach (@ARGV) {
$arg="$arg" . " $_";
}
open (MAIL,"|$mailprog $arg") || die "cannot open $mailprog: $!n";
while (<STDIN> ) {
print MAIL;
}
close (INFO);
close (MAIL);
والصقه
5- قم بتغيير السماحيات عبر الأمر:
كود :
chmod +x /usr/sbin/sendmail
6- انشئ ملف لوغ جديد :
كود :
touch /var/log/spam_log
chmod 0777 /var/log/spam_log
7- أعد تشغيل exim
كود :
/etc/init.d/exim start
8- راقب ملف spam_log وجرب قبل ذلك ان ترسل أي رسالة مثلا من أي صفحة اتصل بنا :
كود :
tail - f /var/log/spam_log
لمنع جعل ملف اللوغ كبير يجب ضبط إعدادات Log Rotation Details
وذلك عبر مايلي:
1- افتح الملف logrotate.conf عبر الامر:
كود :
pico /etc/logrotate.conf
2- ابحث عن:
كود :
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
أضف بعدها:
كود :
# SPAM LOG rotation
/var/log/spam_log {
monthly
create 0777 root root
rotate 1
}
الدرس السادس
============================
E-mail Alert on Root SSH Login
====================
بهذه الفكرة التي نتكلم عنها اليوم ستتمكن من استقبال رسالة بريدية مجرد دخول أي شخص إلى السيرفر كرووت وهذا أمر هام من أجل تتبع كل من يدخل إلى السيفر كرووت حيث سترسل رسالة فورية لك تخبرك بذلك ويفضل أن تضع عنوان بريد الكتروني في سيرفر أو استضافة أخرى وليست على نفس سيرفرك الذي سيرسل رسالة التحذير ويفضل استخدام هذه الطريقة في حال كان هناك أكثر من مدير للسيرفر واليكم الطريقة:
1- إدخل إلى السيرفر كرووت عن طريق SSh
2- نفذ الأمر :
كود :
cd /root
3- افتح الملف .bashrc للكتابة:
كود :
pico .bashrc
4- أضف ما يلي في نهاية الملف مع تغيير الايميل والهوست:
كود :
echo 'ALERT - Root Shell Access (YourserverName) on:' `date` `who` |
mail -s "Alert: Root Access from `who | cut -d"(" -f2 | cut -d")" -
f1`" you@yourdomain.com
5- أحفظ الملف Crtl + X then Y
6- يمكنك الآن الخروج من الـ اس اس اتش والدخول مرة ثانية للتجريب
وهذه نهاية الفكرة
الدرس السابع
===================
How to install APF (Advanced Policy Firewall
======================================
برنامج الجدار الناري من أقوى برامج الحماية يصلح لأن يكون راكبا على كل سيرفر يقوم بحماية أكيدة وفعالة للسيرفر وهو سهل الاعداد ولمزيد من المعلومات يمكن الإطلاع على الرابط:
http://www.rfxnetworks.com/apf.php
طريقة التركيب:
1- الدخول إلى السيرفر كرووت عن طريق SSh
2- انشئ مجلدا لتحميل الملف المضغوط عليه و فك ضغط هذا الملف وليكن هذا المجلد اسمه downloads
3- إدخل إلى هذا المجلد عن طريق الامر:
كود :
cd /root/downloads
4- قم بجلب ملف الجدار الناري غلى السيرفر عن طريق الأمر:
كود :
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz
5- فم بفك ضغط هذا الملف:
كود :
tar -xvzf apf-current.tar.gz
6- حسب الإصدار الأخير للبرنامج نفذ الأمر
كود :
cd apf-0.9.5-1/
7- شغل برنامج التنصيب:
كود :
./install.sh
8- سوف تتلقى رسالة بانتهاء التنصيب:
Installing APF 0.9.5-1: Completed.
Installation Details:
Install path: /etc/apf/
Config path: /etc/apf/conf.apf
Executable path: /usr/local/sbin/apf
AntiDos install path: /etc/apf/ad/
AntiDos config path: /etc/apf/ad/conf.antidos
DShield Client Parser: /etc/apf/extras/dshield/
Other Details:
Listening TCP ports: 1,21,22,25,53,80,110,111,143,443,465,993,995,2082, 2083,2086,2087,2095,2096,3306
Listening UDP ports: 53,55880
Note: These ports are not auto-configured; they are simply presented for information purposes. You must manually configure all port options.
9- سنقوم الآن بضبط إعدادات الجدار الناري فنفتح الملف التالي للتعديل:
كود :
pico /etc/apf/conf.apf
10- ابحث عن USE_DS="0"
وغيرها إلى USE_DS="1"
11- إعدادات بورتات الجدار الناري:
من اجل cpanel
من اجل بورتات الاستقبال inbound ports:
أضف مايلي
كود :
# Common ingress (inbound) TCP ports -3000_3500 = passive port range for Pure FTPD
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2082,2083, 2086,2087, 2095, 2096,3000_3500"
#
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="53"
بورتات الإرسال Outbound ports
كود :
# Egress filtering [0 = Disabled / 1 = Enabled]
EGF="1"
# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,25,80,443,43,2089"
#
# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53"
من اجل سيرفرات Ensim :أضف مايلي
من اجل بورتات الاستقبال inbound ports:
كود :
# Common ingress (inbound) TCP ports
IG_TCP_CPORTS="21,22,25,53,80,110,143,443,19638"
#
# Common ingress (inbound) UDP ports
IG_UDP_CPORTS="53"
من اجل بورتات الإرسال Outbound ports:
كود :
# Egress filtering [0 = Disabled / 1 = Enabled]
EGF="1"
# Common egress (outbound) TCP ports
EG_TCP_CPORTS="21,25,80,443,43"
#
# Common egress (outbound) UDP ports
EG_UDP_CPORTS="20,21,53"
أحفظ الملف Crtl + X then Y
12- شغل الجدار الناري عبر الأمر:
كود :
/usr/local/sbin/apf -s
هناك أوامر اخرى مثل:
إعادة تشغيل الجدار الناري:
كود :
-s|--start ......................... load firewall policies
-r|--restart ....................... flush & load firewall
إعادة التشغيل
-f|--flush|--stop .................. flush firewall توقيف الجدار الناري
-l|--list .......................... list chain rules إظهار القواعد التي يعمل عليها الجدار الناري
-st|--status ....................... firewall status حالة الجدار الناري
13-تعديل خيار الـ DEV
بعد التأكد من ان الجدار الناري يعمل بشكل صحيح يجب إلغاء خيار ايقاف الجدار الناري كل خمس دقائق من الكرون جوب cron وذلك بفتح الملف :
كود :
pico /etc/apf/conf.apf
ابحث عن
DEVM="1" وغيرها إلى DEVM="0"
14- إعداد الجدار الناري من اجل AntiDOS :
افتح الملف:
كود :
pico /etc/apf/ad/conf.antidos
إذهب إلى القسم # [E-Mail Alerts] و ضع الإعدادات التالية:
ضع هنا اسم شركتك:
كود :
# Organization name to display on outgoing alert emails
CONAME="Your Company"
من أجل أن يرسل لك رسالة عند حصول محاولة اختراق او دوس اتاك dos attack غير ما يلي إلى 1
كود :
# Send out user defined attack alerts [0=off,1=on]
USR_ALERT="0"
ثم ضع بريدك هنا
كود :
# User for alerts to be mailed to
USR="your@email.com"
أحفظ الملف Crtl + X then Y
15- أعد تشغيل الجدار الناري:
كود :
/usr/local/sbin/apf -r
16- فحص ملف اللوغ للجدار الناري:
كود :
tail -f /var/log/apf_log
Example output:
Aug 23 01:25:55 ocean apf(31448): (insert) deny all to/from 185.14.157.123
Aug 23 01:39:43 ocean apf(32172): (insert) allow all to/from 185.14.157.123
17- تشغيل جدار الناري عند كل إعادة تشغيل للسيرفر:
كود :
chkconfig --level 2345 apf on
لمنع الجدار الناري من العمل اتوماتيكيا عند تشغيل السيرفر:
كود :
chkconfig --del apf
18- عمل بلوك لاي بي معين:
هناك طريقتين:
الطريقة الاولى
كود :
/etc/apf/apf -d IPHERE COMMENTHERENOSPACES
السويتش او اللاحقة d- تعني عمل بلوك لأي بي محدد
IPHERE ضع بدلا عنها عنوان الاي بي الذي تريد حذفه
COMMENTHERENOSPACES يمكنك الكتابة بدلا عنها سبب المنع لكن أكتب كلمات بدون فراغ بينها
مثال:
كود :
./apf -d 185.14.157.123 TESTING
افتح بعدها الملف:
كود :
pico /etc/apf/deny_hosts.rules
ستجد:
# added 185.14.157.123 on 08/23/05 01:25:55
# TESTING
185.14.157.123
الطريق الثانية لمنع اي بي:
افتح الملف
كود :
pico /etc/apf/deny_hosts.rules
ضع في كل سطر اي بي واحد من الايبيات التي تريد عمل بلوك لها وعليك بعد حفظ الملف غعادة تشغيل الجدار الناري:
كود :
/etc/apf/apf -r
السماح لاي بي محجوب بإمكانية وإلغاء البلوك عليه:
عن طريق التعليمة:
كود :
/etc/apf/apf -a IPHERE COMMENTHERENOSPACES
IPHERE ضع بدلا عنها عنوان الاي بي الذي تريد إلغاء حجبه
COMMENTHERENOSPACES يمكنك الكتابة بدلا عنها سبب إلغاء الحجب لكن أكتب كلمات بدون فراغ بينها
مثال:
./apf -a 185.14.157.123 UNBLOCKING
pico /etc/apf/allow_hosts.rules
# added 185.14.157.123 on 08/23/05 01:39:43
# UNBLOCKING
185.14.157.123
الدرس الثامن
=============
تغيير الرسالة الترحيبية عند دخول المستخدمين إلى السيرفر
===================
يمكن وضع رسالة ترحيبية تظهر عند دخول أي مستخدم إلى السيرفر عن طريق الـ SSh
ويكون ذلك بتعديل ملف motd
والطريقة:
1- ادخل غلى السيرفر كرووت عن طريق الـ SSh
2- افتح الملف التالي:
كود :
pico /etc/motd
3- اكتب الرسالة الترحيبية التي تريدها ان تظهر
4-أحفظ الملف Crtl + X then Y
انتهت الفكرة
منقول
ادارة سكيورتي العرب