How to install BFD (Brute Force Detection)







How to install BFD (Brute Force Detection)
ماهو ال BDF أو Brute Force Detection؟
هو سكريبت شيل يقوم بمراقبة من يدخل السيرفر ويراقب حالات الدخول الفاشلة إلى السيرفر ويقوم بتسجيلها في ملف لوغ , ولا توجد معلومات تفصيلية كثيرة عن
الـbdf كل ماهنالك أن تركيبه واستعماله سهل جدا للغاية ومن المهم ان يكون على كل سيرفر كمستوى جديد لحماية السيرفرسنقوم الآن بشرح طريقة تركيبه هلى السيرفر
المتطلبات:

يجب ان تكون قد ركبت الجدار الناري APF حيث أن الBFD لا يمكنه العمل بدونه
التركيب
1- أدخل إلى السيرفر عن طريق الـ ssh
2-انشئ مجلد جديد أو أدخل إلى المكان الذي تخزن عليه الملفات المؤقتة :
رمز PHP:
cd /root/downloads 
3- قم بجلب الملف إلى السيرفر عن طريق الأمر:
رمز PHP:
wget http://www.rfxnetworks.com/downloads/bfd-current.tar.gz 
4- قم بفك ضغط الملفات عن طريق الأمر:
رمز PHP:
tar -xvzf bfd-current.tar.gz 
5-نفذ الأمر:
cd bfd-0.7
6- قم بالتركيب والتنصيب عن طريق الامر:
رمز PHP:
./install.sh 
سوف تتلقى رسالة مفادها أنه تم التثبيت:
رمز PHP:
.: BFD installed
Install path
:    /usr/local/bfd
Config path
:     /usr/local/bfd/conf.bfd
Executable path
: /usr/local/sbin/bfd 
تعديل إعدادات ال BFD:
-----------
1- افتح ملف الإعدادات عن طريق الامر:
رمز PHP:
pico /usr/local/bfd/conf.bfd 
2- فعل إعطاء الإنذار في حال حدوث محاولة اختراق:
ابحث عن ALERT_USR="0" وغيرها إلى ALERT_USR="1"
3- ضع البريد الالكتروني الذي تريد تلقي الإنذار عليه:
ابحث عن EMAIL_USR="root" وغيرها إلى EMAIL_USR="youryourdomain.com"
4- احفظ التغييرات Ctrl+X then Y
5- يجب ان تضع الاي بي ادريس IP Address الخاص بك عندما تدخل إلى السيرفر حتى لا يعمل لك بلوك:
رمز PHP:
pico -/usr/local/bfd/ignore.hosts 
ثم اكتب عناون الاي بي الذي تدخل به مثال:192.168.1.1
6- احفظ التغييرات Ctrl+X then Y
الآن قم بتشغيل البرنامج عن طريق الأمر:
رمز PHP:
/usr/local/sbin/bfd -
7- يمكنك أن تتحكم بطريقة عمل بعض البرامج على السيرفر عن طريق تفحص الدليل
رمز PHP:
 /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 لمنع اي تأثيرات جانبية:
رمز PHP:
/etc/init.d/exim stop 
3-قم بعمل نسخة احتياطية للملف الافتراضي /usr/sbin/sendmail عبر الأمر:
رمز PHP:
mv /usr/sbin/sendmail /usr/sbin/sendmail.hidden 
4- قم بإنشاء سكريبت مراقبة للإيميلات الجديدة المرسلة:
رمز PHP:
pico /usr/sbin/sendmail 
انسخ ما يلي:
رمز PHP:
#!/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- قم بتغيير السماحيات عبر الأمر:
رمز PHP:
chmod +/usr/sbin/sendmail 
6- انشئ ملف لوغ جديد :
رمز PHP:
touch /var/log/spam_log
chmod 0777 
/var/log/spam_log 
7- أعد تشغيل exim
رمز PHP:
/etc/init.d/exim start 
8- راقب ملف spam_log وجرب قبل ذلك ان ترسل أي رسالة مثلا من أي صفحة اتصل بنا :
رمز PHP:
tail /var/log/spam_log 
لمنع جعل ملف اللوغ كبير يجب ضبط إعدادات Log Rotation Details
وذلك عبر مايلي:
1- افتح الملف logrotate.conf عبر الامر:
رمز PHP:
pico /etc/logrotate.conf 
2- ابحث عن:
رمز PHP:
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
    
monthly
    create 0664 root utmp
    rotate 1

أضف بعدها:
رمز PHP:
# SPAM LOG rotation
/var/log/spam_log {
    
monthly
    create 0777 root root
    rotate 1



http://www.traidnt.net/vb/showthread.php?t=857361