maldet
Linux Malware Detect
للكشف عن البرامج الضارة في لينكس
- وصف
Linux Malware Detect
هو ماسح ضوئي للكشف عن البرمجيات الخبيثة في لينكس تم طرحه بموجب ترخيص GNU GLPv2 ، تم تصميمه حول التهديدات التي تواجهها في بيئات الاستضافه المشتركة . مخصص لفحص الملفات على نظام التشغيل ليونكس للتاكد من خلو النظام من الملفات الضارة وذلك بناء على قاعدة بيانات خاصة بالبرنامج تحتوي على الملفات التي تصنف على انها ضاره حيث تحتوي على MD5 و HEX pattren عن الملفات الضارة التي يستطيع البرنامج الكشف عنها.
البرنامج معد بطريقة تسمح له العمل سويا مع السي بنل وفي حال اكتشاف احد الملفات الضارة على السيرفر فانه يتم ايقاف الحساب تلقائيا (suspend account) دون الحاجة لتدخل احد في حال كان قد تم ضبط اعدادات البرنامج للقيام بذلك.
كذلك فان البرنامج يقوم باستخدام برنامج ClamAV في حال كان موجودا على السيرفر للقيام بعملية فحص محتوى الملفات وفي حال لم يكن البرنامج ClamAV غير موجودا فانه يقوم باستخدام الية اخرى خاصة به للبحث عن الملفات.
ايضا فان لدى البرنامج القابلية للتحديث حيث يتم تحديث قاعدة البيانات التي تحتوي على قائمة الملفات الضارة كل فترة بحيث يتم اضافة ملفات جديدة.
لا يمكن اعتبار LMD على انه معالج للفيروسات كـ ClamAV مثلا. انه فقط برنامج لفحص الملفات ومقارنتها مع قاعدة البيانات الموجودة لديه فان تطابق احدى فان البرنامج يعتبر هذا الملف ملفا ضارا. وهنا في on-php سوف نقوم بشرح كامل للبرنامج وطريقة تركيبه على السيرفر وكيفية ضبط اعداداته والتعامل معه بشكل سليم.
- مميزات البرنامجاكتشاف الملفات الضارة من خلال مقارنة MD5 hash وذلك من اجل الكشف السريع عن الملفات الضارة.
- اكتشاف الملفات الضارة من خلال اجراء عملية مقارنة لـ HEX pattern من اجل التعرف على الملفات الضارة.
- اكتشاف الملفات الضارة والتي قد يتم تشفير محتوياتها ببعض تقنيات اخفاء المحتوى كـ base64 مثلا.
- يقوم باستخدام محرك فحص ClamAV في حال وجودة من اجل تسريع عملية فحص الملفات.
- قابلية تحديث قاعدة البيانات من خلال البرنامج دون الحاجة للتركيب مرة اخرى.
- القدرة على فحص الملفات التي تم تحديثها خلال فترة معينة من الايام ، مثلا X يوم وذلك للتقليل من الحمل اثناء عملية البحث فلا داعي مثلا ان
- نقوم يوميا بفحص الملفات التي لم تتغير والتي تم فحصها سابقا.
- القدرة على فحص جميع الملفات في المسار الذي تحدده، مثلا كامل مجلد /home.
- يمكنك ان تقوم بارسال ملف معين الى مبرمج البرنامج من اجل معنايته وفي حال كان ضارا سوف يتم اضافته الى القاعدة في التحديثات التالية.
يقوم البرنامج باصدار تقرير مفصل بنتيجة الفحص. - يمكن للبرنامج الاحتفاظ بالملفات التي تم الكشف عنها انها ملفات ضارة في مكان خاص من اجل المعاينه المستقبلية مثلا كمان للحجر (quarantine) بدلا من حذفها فربما تحتوي على معلومات مهمه.
- البرنامج يحاول ازالة الكود الضار من الملفات التي يستطيع ازالة الكود منها دون الاضرار بمحتواها الاخر في حال كان الكود الضار اقحم الى الملف الاصلي.
- البرنامج يقوم فحص الملفات التي تغيرت خلال ال 24 ساعة الماضية من خلال الكرون جوب cron وهذا الاوامر متوافقة مع Cpanel و Ensim.
- يستخدم نظام inotify على مستوى الكيرنل من اجل الحصول على تقرير كامل بالملفات التي تم تحديثها او اضافتها او نقلها.
- قدرة البرنامج على مراقبة مسار معين. مثلا مراقبة مسار /home التابع للمستخدميين users على السيرفر.
- يستطيع البرنامج تجاهل مسار معين بحيث لا يتم فحص الملفات الموجودة بداخله او التي يتم اضافتها بداخله لاحقا. مثلا /tmp او /root على سبيل المثال.
- يستطيع البرنامج ارسال بريد اليكتروني عند اكتشاف ملفات ضارة وارسال تقرير بها الى البريد المحدد في خيارات البرنامج مع قابلية تخصيص عنوان الرسالة المرسلة.
- يمكن للبرنامج ان يعمل في الخلفية (background).
- يستطيع البرنامج ايقاف حساب المستخدم الذي يحتوي على ملفات ضارة حيث يتم مناداة امر ايقاف الحساب من السي بنل (suspend account) مع وضع سبب الايقاف.
شرح التركيب
1- سحب البرنامج وفك الضغط
cd /usr/local/src
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar zxvf maldetect-current.tar.gz
2- الدخول الي المجلد وبدأ التنصيب
cd maldetect*
sh install.sh
3- سوف نقوم على ضبط الاعدادات الاساسية وهذا يتم عن طريق تحرير الملف conf.maldet
nano /usr/local/maldetect/conf.maldet
نبحث عن email_alert ونضع القيمة 1 لتفعيل ارسال التقارير الي البريد
email_alert=1
نبحث عن email_addr ونقوم بتغيير البريد الاليكتروني الى عنوانك:
email_addr="me@example.com"
حتى يتم تحريك اي ملف يتم الكشف عنه على انه ملف ضار الى مجلد الحجر (quarantine) بدلا من ابقائه في مكانه الحالي وذلك لمزيد من الحماية نبحث عن العبارة quar_hits ونقوم باختيار الرقم 1 بدلا من 0 كالتالي
quar_hits=1
لنعطي الامر للبرنامج بمحاوله تنظي الملفات بدلا عن حذفها ان امكن
نقوم بالبحث عن quar_clean ونتاكد من ان قيمتها هي 1 كما في التالي
quar_clean=1
من اجل قيام البرنامج بايقاف حساب المستخدم (حساب السي بنل) الذي يتم اكتشاف الملفات الضارة بداخله بحيث يتم ايقافه بشكل تلقائي ووضع سبب الايقاف maldet مع رقم التقرير من اجل الاطلاع.
نقوم بالبحث عن العبارة quar_susp ونقوم بتغييرها قيمتها لتصبح 1 بدلا من 0 كالتالي:
quar_susp=1
من اجل اعطاء البرنامج الفرصة لاستخدام محرك بحث ClamAV اثناء البحث عن الملفات في حال وجود ClamAV على السيرفر كونه اسرع في عملية البحث في الملفات ولكن في حال كان البرنامج ClamAV غير موجودا على السيرفر فان البرنامج سوف يستخدم اسلوبه التقليدي في البحث في الملفات
نقوم بالبحث عن العبارة clamav_scan ونتاكد من ان قيمتها 1 كالتالي
clamav_scan=1
لاضافه المستخدمين الي نظام الفحص والمراقبة
maldet --monitor users
لتشغيل الفحص اتبع احدي الطرق الاتيه
1- لفحص كافه المستخدمين
maldet -a /home/?/public_html
2- فحص الملفات المنشئة او المعدله خلال اخر يومين
maldet -r /home/?/public_html 2
3- بحث في الملفات المعدله لاخر 7 ايام ( في الخلفية )
maldet -b -r /home/?/public_html 7
4- لفحص مستخدم واحد فقط
maldet -a /home/user/public_html
لقائمة المساعده
maldet --help
الي هنا ننتهي ونرحب باي استفسارات