المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : maldet لفحص ملفات السيرفر SERVER للتاكد من عدم وجود ملفات ضارة



admin
11-02-2013, بتوقيت غرينيتش 02:18 AM
السلام عليكم ورحمة الله وبركاته

كثرة الدروس هنا بالمعهد عن maldet

ولكن للاسف جميع هذه الدروس غير كامله وينقصها الكثير من الشرح طريقة

وبهذا الموضوع إن شاء الله سوف يتم الشرح طريقة الكافي لــ maldet

لكي يستفيد الجميع منه

تقديم

Maldet او Linux Malware Detect وايضا يعرف اختصارا بـ (LMD) هو برنامج من برمجة R-fx Networks مخصص لفحص الملفات على نظام التشغيل ليونكس للتاكد من خلو النظام من الملفات الضارة وذلك بناء على قاعدة بيانات خاصة بالبرنامج تحتوي على الملفات التي تصنف على انها ضاره حيث تحتوي على MD5 و HEX pattren عن الملفات الضارة التي يستطيع البرنامج الكشف عنها.
البرنامج معد بطريقة تسمح له العمل سويا مع السي بنل وفي حال اكتشاف احد الملفات الضارة على السيرفر SERVER فانه يتم ايقاف الحساب تلقائيا (suspend account) دون الحاجة لتدخل احد في حال كان قد تم ضبط اعدادات البرنامج للقيام بذلك.
كذلك فان البرنامج يقوم باستخدام برنامج ClamAV في حال كان موجودا على السيرفر SERVER للقيام بعملية فحص محتوى الملفات وفي حال لم يكن البرنامج ClamAV غير موجودا فانه يقوم باستخدام الية اخرى خاصة به للبحث عن الملفات.
ايضا فان لدى البرنامج القابلية للتحديث update حيث يتم تحديث update قاعدة البيانات التي تحتوي على قائمة الملفات الضارة كل فترة بحيث يتم اضافة ملفات جديدة.

لا يمكن اعتبار LMD على انه معالج للفيروسات كـ ClamAV مثلا. انه فقط برنامج لفحص الملفات ومقارنتها مع قاعدة البيانات الموجودة لديه فان تطابق احدى فان البرنامج يعتبر هذا الملف ملفا ضارا. وهنا في PPPLHE سوف نقوم بشرح طريقة كامل للبرنامج وطريقة تركيب installه على السيرفر SERVER وشرح كيفية ضبط اعداداته والتعامل معه بشكل سليم.
مميزات البرنامج

اكتشاف الملفات الضارة من خلال مقارنة MD5 hash وذلك من اجل الكشف السريع عن الملفات الضارة.
اكتشاف الملفات الضارة من خلال اجراء عملية مقارنة لـ HEX pattern من اجل التعرف على الملفات الضارة.
اكتشاف الملفات الضارة والتي قد يتم تشفير محتوياتها ببعض تقنيات اخفاء المحتوى كـ base64 مثلا.
يقوم باستخدام محرك فحص ClamAV في حال وجودة من اجل تسريع عملية فحص الملفات.
قابلية تحديث update قاعدة البيانات من خلال البرنامج دون الحاجة للتركيب install مرة اخرى.
القدرة على فحص الملفات التي تم تحديث updateها خلال فترة معينة من الايام ، مثلا X يوم وذلك للتقليل من الحمل اثناء عملية البحث فلا داعي مثلا ان نقوم يوميا بفحص الملفات التي لم تتغير والتي تم فحصها سابقا.
القدرة على فحص جميع الملفات في المسار الذي تحدده، مثلا كامل مجلد /home.
يمكنك ان تقوم بارسال ملف معين الى مبرمج البرنامج من اجل معنايته وفي حال كان ضارا سوف يتم اضافته الى القاعدة في التحديث updateات التالية.
يقوم البرنامج باصدار تقرير مفصل بنتيجة الفحص.
يمكن للبرنامج الاحتفاظ بالملفات التي تم الكشف عنها انها ملفات ضارة في مكان خاص من اجل المعاينه المستقبلية مثلا كمان للحجر (quarantine) بدلا من حذفها فربما تحتوي على معلومات مهمه.
البرنامج يحاول ازالة الكود code الضار من الملفات التي يستطيع ازالة الكود code منها دون الاضرار بمحتواها الاخر في حال كان الكود code الضار اقحم الى الملف الاصلي.
البرنامج يقوم فحص الملفات التي تغيرت خلال ال 24 ساعة الماضية من خلال الكرون جوب cron وهذا الاوامر متوافقة مع Cpanel و Ensim.
يستخدم نظام inotify على مستوى الكيرنل من اجل الحصول على تقرير كامل بالملفات التي تم تحديث updateها او اضافتها او نقلها.
قدرة البرنامج على مراقبة مسار معين. مثلا مراقبة مسار /home التابع للمستخدميين users على السيرفر SERVER.
يستطيع البرنامج تجاهل مسار معين بحيث لا يتم فحص الملفات الموجودة بداخله او التي يتم اضافتها بداخله لاحقا. مثلا /tmp او /root على سبيل المثال.
يستطيع البرنامج ارسال بريد اليكتروني عند اكتشاف ملفات ضارة وارسال تقرير بها الى البريد المحدد في خيارات البرنامج مع قابلية تخصيص عنوان الرسالة المرسلة.
يمكن للبرنامج ان يعمل في الخلفية (background).
يستطيع البرنامج ايقاف حساب المستخدم الذي يحتوي على ملفات ضارة حيث يتم مناداة امر ايقاف الحساب من السي بنل (suspend account) مع وضع سبب الايقاف.

تركيب install البرنامج

لتركيب install البرنامج قم بالدخول الى السيرفر SERVER عن طريق ssh بالمستخدم root ونفذ الاوامر التالية


رمز PHP:

<code style="white-space:nowrap"> <code> cd /usr/local/src
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar zxvf maldetect-current.tar.gz
</code> </code>

عند تنفيذ الامر الاخير فانه سوف يتم فك ضغط الملفات الموجودة بداخل الملف المظغوط maldet-current.tar.gz بداخل مجلد يحمل اسم البرنامج واصدارة وسوف يظهر كالتالي

رمز PHP:

<code style="white-space:nowrap"> <code> # tar zxvf maldetect-current.tar.gz
maldetect-1.4.1/
maldetect-1.4.1/README
maldetect-1.4.1/files/
maldetect-1.4.1/files/quarantine/
maldetect-1.4.1/files/ignore_sigs
maldetect-1.4.1/files/inotify/
maldetect-1.4.1/files/inotify/libinotifytools.so.0
maldetect-1.4.1/files/inotify/tlog
maldetect-1.4.1/files/inotify/inotifywait
maldetect-1.4.1/files/clean/
maldetect-1.4.1/files/clean/gzbase64.inject.unclassed
maldetect-1.4.1/files/clean/base64.inject.unclassed
maldetect-1.4.1/files/maldet
maldetect-1.4.1/files/VERSION.hash
maldetect-1.4.1/files/tmp/
maldetect-1.4.1/files/ignore_paths
maldetect-1.4.1/files/modsec.sh
maldetect-1.4.1/files/sess/
maldetect-1.4.1/files/hexstring.pl
maldetect-1.4.1/files/internals.conf
maldetect-1.4.1/files/ignore_inotify
maldetect-1.4.1/files/pub/
maldetect-1.4.1/files/ignore_file_ext
maldetect-1.4.1/files/sigs/
maldetect-1.4.1/files/sigs/hex.dat
maldetect-1.4.1/files/sigs/maldet.sigs.ver
maldetect-1.4.1/files/sigs/rfxn.hdb
maldetect-1.4.1/files/sigs/rfxn.ndb
maldetect-1.4.1/files/sigs/md5.dat
maldetect-1.4.1/files/hexfifo.pl
maldetect-1.4.1/files/conf.maldet
maldetect-1.4.1/.ca.def
maldetect-1.4.1/cron.d.pub
maldetect-1.4.1/CHANGELOG
maldetect-1.4.1/install.sh
maldetect-1.4.1/COPYING.GPL
maldetect-1.4.1/cron.daily
</code> </code>

والان سوف ندخل الى المجلد الذي يحتوي على ملفات البرنامج والذي هو هنا في مثالنا maldet-1.4.1 لاحظ انه قد يختلف اسم المجلد باختلاف الاصدار لهذا تاكد من دخولك الى المجلد الصحيح ومن ثم سوف نقوم على تنفيذ امر التركيب install ، لهذا نفذ الاوامر التالي

رمز PHP:

<code style="white-space:nowrap"> <code> cd maldetect-1.4.1
sh install.sh
</code> </code>

عند تنفيذ امر التركيب install السابق فانه سوف يتم تركيب install برنامج LMD على السيرفر SERVER وسوف تظهر نتيجة التركيب install كالتالي:

رمز PHP:

<code style="white-space:nowrap"> <code> # sh install.sh
Linux Malware Detect v1.4.1
(C) 2002-2014, R-fx Networks <proj@r-fx.org>
(C) 2014, Ryan MacDonald <ryan@r-fx.org>
inotifywait (C) 2014, Rohan McGovern <rohan@mcgovern.id.au>
This program may be freely redistributed under the terms of the GNU GPL

installation completed to /usr/local/maldetect
config file: /usr/local/maldetect/conf.maldet
exec file: /usr/local/maldetect/maldet
exec link: /usr/local/sbin/maldet
exec link: /usr/local/sbin/lmd
cron.daily: /etc/cron.daily/maldet

maldet(27190): {sigup} performing signature update check...
maldet(27190): {sigup} local signature set is version 2014014929852
maldet(27190): {sigup} latest signature set already installed
</code> </code>

وبهذا نكون قد قمنا على تركيب install برنامج Maldet على السيرفر SERVER والخطوة التالية هي ضبط اعدادات البرنامج من اجل العمل بصورة سليمة وفق المطلوب.
ضبط اعدادات LMD

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

يقوم برنامج lmd بمراقبة مجلد home الخاص بجميع المستخدمين على الخادم server بشكل يومي وفي حال اكتشف وجود اي ملف ضار سوف يقوم بايقاف حساب الاستضافة HOTING لحظة اكتشاف الملف.

الان ناتي لعملية ضبط الاعدادات
ضبط الاعدادات الاساسية

في البداية سوف نقوم على ضبط الاعدادات الاساسية وهذا يتم عن طريق تحرير الملف conf.maldet الموجود بداخل مجلد البرنامج وذلك يتم عن طريق الامر التالي


رمز PHP:

<code style="white-space:nowrap"> <code> nano /usr/local/maldetect/conf.maldet
</code> </code>

نبحث عن العبارة email_alert في الملف ونستبدل الرقم 0 بالرقم 1 بحيث تكون

رمز PHP:

<code style="white-space:nowrap"> <code> email_alert=1
</code> </code>

والذي يعني اننا نرغب من البرنامج ان يقوم بارسال رسائل بريد اليكتروني بتقارير لحالة الفحص.

نبحث عن العبارة email_subj ونقوم بتغيير عنوان الرسائل المرسلة الى البريد الاليكتروني الى اي عنوان مناسب لنا مثلا:


رمز PHP:

<code style="white-space:nowrap"> <code> email_subj="maldet alert from $(hostname)"
</code> </code>

نبحث عن العبارة email_addr ونقوم بوضع البريد الاليكتروني الذي نرغب بان نستلم رسالة بريد اليكتروني عليه بالتقارير ويمكن اضافة اكثر من بريد وذلك بوضع اشارة الفاصلة , بين كل بريد مثلا:




رمز PHP:

<code style="white-space:nowrap"> <code> email_addr="[email protected] (http://www.cloudflare.com/email-protection),[email protected] (http://www.cloudflare.com/email-protection)"
</code> </code>

نبحث عن العبارة quar_hits ونقوم باختيار الرقم 1 بدلا من 0 كالتالي

رمز PHP:

<code style="white-space:nowrap"> <code> quar_hits=1
</code> </code>

وذلك حتى يتم تحريك اي ملف يتم الكشف عنه على انه ملف ضار الى مجلد الحجر (quarantine) بدلا من ابقائه في مكانه الحالي وذلك لمزيد من الحماية

نقوم بالبحث عن العبارة quar_clean ونتاكد من ان قيمتها هي 1 كما في التالي

رمز PHP:

<code style="white-space:nowrap"> <code> quar_clean=1
</code> </code>

وذلك لنشعر البرنامج باننا نرغب بان يحاول تنظيف الملف من الاكواد الضارة ان امكنه ذلك.

نقوم بالبحث عن العبارة quar_susp ونقوم بتغييرها قيمتها لتصبح 1 بدلا من 0 كالتالي:

رمز PHP:

<code style="white-space:nowrap"> <code> quar_susp=1
</code> </code>

وذلك من اجل قيام البرنامج بايقاف حساب المستخدم (حساب السي بنل) الذي يتم اكتشاف الملفات الضارة بداخله بحيث يتم ايقافه بشكل تلقائي ووضع سبب الايقاف maldet مع رقم التقرير من اجل الاطلاع المستقبلي.

نقوم بالبحث عن العبارة quar_susp_minuid ونتاكد من ان قيمة المتغير هي 500 والرقم هذا يعني انه لن يتم ايقاف الحسابات (حسابات السي بنل) التي يقل رقم المستخدم لاصحابها عن 500 ، وبالوضع العام جميع حسابات المستخدمين العادين للسي بنل هم اعلى من الرقم 500 . تحذير حساب root هو 0 لهذا لا تقم بوضع الرقم هذا 0 تحت اي ظرف، ابقاء الرقم على 500 مفضل. كالتالي

رمز PHP:

<code style="white-space:nowrap"> <code> quar_susp_minuid=500
</code> </code>


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

رمز PHP:

<code style="white-space:nowrap"> <code> clamav_scan=1
</code> </code>

وذلك من اجل اعطاء البرنامج الفرصة لاستخدام محرك بحث ClamAV اثناء البحث عن الملفات في حال وجود ClamAV على السيرفر SERVER كونه اسرع في عملية البحث في الملفات ولكن في حال كان البرنامج ClamAV غير موجودا على السيرفر SERVER فان البرنامج سوف يستخدم اسلوبه التقليدي في البحث في الملفات وبالتالي ابقي على هذا المتغير 1 والبرنامج سوف يقرر اي محرك يستخدم بناء على ما هو موجود في السيرفر SERVER.
اضافة عمية مراقبة المستخدمين على الكرون جوب

نقوم بتحرير الكون جوب عن طريق الامر

رمز PHP:

<code style="white-space:nowrap"> <code> # crontab -e
</code> </code>

ومن ثم نضيف الامر التالي في اخر سطر في الملف

رمز PHP:

<code style="white-space:nowrap"> <code> 0 0 * * * /usr/local/maldetect/maldet --monitor users
</code> </code>

ونقوم على حفظ الملف وذلك من اجل تنفيذ هذا الامر

رمز PHP:

<code style="white-space:nowrap"> <code> /usr/local/maldetect/maldet —monitor users
</code> </code>

يوميا الساعة 12 مساء.


واخيرا الموضوع تم نقله للاستفاده من

maldet لفحص ملفات السيرفر SERVER للتاكد من عدم وجود ملفات ضارة - ويكي مشروع حماية سيرفر SERVERات الاستضافة HOTING المشتركة (http://ppplhe.projects.arabosg.org/installing-and-configuring-maldet)

وربي يحفظكم جميعا




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى