تثبيت برنامج AIDE لمراقبة التغيرات على الملفات

برنامج AIDE لمراقبة نظام لينكس


 احد طرق مراقبة النظام هي مراقبة التغيير الذي يحصل على ملفات النظام سواءً انشاء او حذف ملفات، تغيير صلاحياتها، .. الخ

يقوم برنامج AIDE وهو اختصار Advanced Intrusion Detection Environment بمراقبة ما ترغب بمراقبته من ملفات وصلاحيات.

لتثبيت برنامج AIDE نستخدم الامر التالي:

sudo apt update

sudo apt install aide

بعد ذلك نقوم بعمل الاعدادات المبدئية من خلال الملف aide.conf:

sudo nano /etc/aide/aide.conf

نقوم باضافة تعريف المتغيرات في نهاية الملف:

تعريف مراقبة الصلاحيات فقط:


PERMS = p+u+g+acl+selinux+xattrs


تعريف مراقبة محتوى الملف فقط:


CONTENT = sha256+ftype


تعريف مراقبة الصلاحيات والمحتوى ونوعية الملف:


CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs


تعريف مراقبة الصلاحيات والمحتوى:


DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256


في نهاية الموضوع سأضع جميع الحروف التي يمكن استخدامها داخل كل متغير مع تعريف معناها.


ثم نقوم باضافة المجلدات التي نرغب بمراقبتها بعد ذلك عن طريق كتابة المسار المطلوب مراقبته ثم مسافة ثم اسم المتغير الذي عرفناه مسبقا كالتالي:


/path/to/directory\..*    PERMS

/path/to/directory/       CONTENT_EX

/path/to/directory/       DATAONLY


واذا كنا نرغب بتجاهل احد الملفات نقوم باضافتها كالتالي بعد علامة التعجب! :


!/path/to/directoryToIgnore


الآن نقوم بتشغيل aide للمرة الاولى حتى يقوم بعمل صورة للملفات المطلوب مراقبتها كالتالي:

sudo aideinit

سيقوم الامر السابق بانشاء قاعدة بيانات بالملفات كافة على المسار التالي:

/var/lib/aide/aide.db.new

لتفعيل قاعدة البيانات نقوم بتغيير اسمها بحذف لاحقة new منها كالتالي:

sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

الآن يمكن بشكل دوري معرفة التغييرات التي حصلت على الملفات باستخدام الامر التالي:

sudo aide --check

وعند مراجعة التغييرات والتأكد انها طبيعية يجب تحديث قاعدة البيانات لاضافة التغييرات الجديدة وذلك بالامر التالي:

sudo aide --update


سيقوم الامر السابق بانشاء قاعدة بيانات جديدة بلاحقة .new وسنقوم كما قمنا سابقا بحذف لاحقة .new منها حتى يستخدمها البرنامج في المرات اللاحقة:


sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db

 

الأحرف التي يمكن استخدامها داخل كل متغير:


   #p:      permissions
   #ftype:  file type
   #i:      inode
   #n:      number of links
   #l:      link name
   #u:      user
   #g:      group
   #s:      size
   #b:      block count
   #m:      mtime
   #a:      atime
   #c:      ctime
   #S:      check for growing size
   #I:      ignore changed filename
   #md5:    md5 checksum
   #sha1:   sha1 checksum
   #sha256: sha256 checksum
   #sha512: sha512 checksum
   #rmd160: rmd160 checksum
   #tiger:  tiger checksum
   #haval:  haval checksum
   #crc32:  crc32 checksum
   #R:      p+ftype+i+l+n+u+g+s+m+c+md5
   #L:      p+ftype+i+l+n+u+g
   #E:      Empty group
   #>:      Growing file p+ftype+l+u+g+i+n+S
   #The following are available if you have mhash support enabled:
   #gost:   gost checksum
   #whirlpool: whirlpool checksum
   #The following are available and added to the default groups R, L and >
   #only when explicitly enabled using configure:
   #acl:    access control list
   #selinux SELinux security context
   #xattrs:  extended file attributes
   #e2fsattrs: file attributes on a second extended file system