نحوه نصب و استفاده از AIDE (محیط تشخیص نفوذ پیشرفته) در CentOS 8

قبل از شروع دوره "مدیر لینوکس" ترجمه ای از مطالب جالب را آماده کرده ایم.

نحوه نصب و استفاده از AIDE (محیط تشخیص نفوذ پیشرفته) در CentOS 8

AIDE مخفف عبارت Advanced Intrusion Detection Environment است و یکی از محبوب ترین سیستم ها برای نظارت بر تغییرات در سیستم عامل های مبتنی بر لینوکس است. AIDE برای محافظت در برابر بدافزارها، ویروس ها و شناسایی فعالیت های غیرمجاز استفاده می شود. برای تایید یکپارچگی فایل و تشخیص نفوذ، AIDE یک پایگاه داده از اطلاعات فایل ایجاد می کند و وضعیت فعلی سیستم را با این پایگاه داده مقایسه می کند. AIDE با تمرکز بر فایل‌هایی که اصلاح شده‌اند، به کاهش زمان بررسی حادثه کمک می‌کند.

ویژگی های AIDE:

  • از ویژگی های فایل مختلف، از جمله: نوع فایل، inode، uid، gid، مجوزها، تعداد لینک ها، mtime، ctime و atime پشتیبانی می کند.
  • پشتیبانی از فشرده سازی Gzip، SELinux، XAttrs، Posix ACL و ویژگی های سیستم فایل.
  • پشتیبانی از الگوریتم های مختلف از جمله md5، sha1، sha256، sha512، rmd160، crc32 و غیره.
  • ارسال اعلان ها از طریق ایمیل.

در این مقاله نحوه نصب و استفاده از AIDE برای تشخیص نفوذ در CentOS 8 را بررسی خواهیم کرد.

پیش نیازها

  • سروری که CentOS 8 را اجرا می کند، با حداقل 2 گیگابایت رم.
  • دسترسی ریشه

شروع کار

توصیه می شود ابتدا سیستم را به روز کنید. برای این کار دستور زیر را اجرا کنید.

dnf update -y

پس از به روز رسانی، سیستم خود را مجددا راه اندازی کنید تا تغییرات اعمال شوند.

نصب AIDE

AIDE در مخزن پیش‌فرض CentOS 8 موجود است. با اجرای دستور زیر می‌توانید آن را به راحتی نصب کنید:

dnf install aide -y

پس از اتمام نصب، می توانید نسخه AIDE را با استفاده از دستور زیر مشاهده کنید:

aide --version

شما باید موارد زیر را ببینید:

Aide 0.16

Compiled with the following options:

WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

گزینه های موجود aide را می توان به صورت زیر مشاهده کرد:

aide --help

نحوه نصب و استفاده از AIDE (محیط تشخیص نفوذ پیشرفته) در CentOS 8

ایجاد و مقداردهی اولیه پایگاه داده

اولین کاری که باید بعد از نصب AIDE انجام دهید، مقداردهی اولیه آن است. مقداردهی اولیه شامل ایجاد یک پایگاه داده (عکس فوری) از تمام فایل ها و دایرکتوری های روی سرور است.

برای مقداردهی اولیه پایگاه داده، دستور زیر را اجرا کنید:

aide --init

شما باید موارد زیر را ببینید:

Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:	49472

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : 4N79P7hPE2uxJJ1o7na9sA==
  SHA1     : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
  RMD160   : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
  TIGER    : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
  SHA256   : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
             xWXT2iaEHgQ=
  SHA512   : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
             uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
             nDw6lgDNI/ls2esijukliQ==


End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)

دستور بالا یک پایگاه داده جدید ایجاد می کند aide.db.new.gz در کاتالوگ /var/lib/aide. با استفاده از دستور زیر قابل مشاهده است:

ls -l /var/lib/aide

یافته ها:

total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz

AIDE از این فایل پایگاه داده جدید تا زمانی که نام آن به تغییر نام داده نشود استفاده نخواهد کرد aide.db.gz. این میتواند بصورت زیر انجام شود:

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

توصیه می شود برای اطمینان از اینکه تغییرات به درستی نظارت می شوند، این پایگاه داده را به صورت دوره ای به روز کنید.

با تغییر پارامتر می توانید مکان پایگاه داده را تغییر دهید DBDIR در پرونده /etc/aide.conf.

اجرای اسکن

AIDE اکنون آماده استفاده از پایگاه داده جدید است. اولین بررسی AIDE را بدون ایجاد هیچ تغییری اجرا کنید:

aide --check

این دستور بسته به اندازه فایل سیستم و مقدار RAM سرور شما مدتی طول می کشد تا تکمیل شود. پس از اتمام اسکن، باید موارد زیر را مشاهده کنید:

Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

خروجی بالا می گوید که همه فایل ها و دایرکتوری ها با پایگاه داده AIDE مطابقت دارند.

تست AIDE

به طور پیش فرض، AIDE دایرکتوری ریشه پیش فرض Apache را ردیابی نمی کند /var/www/html. بیایید AIDE را برای مشاهده آن پیکربندی کنیم. برای این کار باید فایل را تغییر دهید /etc/aide.conf.

nano /etc/aide.conf

خط بالا را اضافه کنید "/root/CONTENT_EX" موارد زیر:

/var/www/html/ CONTENT_EX

بعد، یک فایل ایجاد کنید aide.txt در کاتالوگ /var/www/html/با استفاده از دستور زیر:

echo "Test AIDE" > /var/www/html/aide.txt

اکنون چک AIDE را اجرا کرده و مطمئن شوید که فایل ایجاد شده شناسایی شده است.

aide --check

شما باید موارد زیر را ببینید:

Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

می بینیم که فایل ایجاد شده شناسایی می شود aide.txt.
پس از تجزیه و تحلیل تغییرات شناسایی شده، پایگاه داده AIDE را به روز کنید.

aide --update

پس از به روز رسانی موارد زیر را مشاهده خواهید کرد:

Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

دستور بالا یک پایگاه داده جدید ایجاد می کند aide.db.new.gz در کاتالوگ

/var/lib/aide/

با دستور زیر می توانید آن را ببینید:

ls -l /var/lib/aide/

یافته ها:

total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz

اکنون نام پایگاه داده جدید را دوباره تغییر دهید تا AIDE از پایگاه داده جدید برای پیگیری تغییرات بیشتر استفاده کند. می توانید نام آن را به صورت زیر تغییر دهید:

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

چک را دوباره اجرا کنید تا مطمئن شوید که AIDE از پایگاه داده جدید استفاده می کند:

aide --check

شما باید موارد زیر را ببینید:

Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

ما چک را خودکار می کنیم

این ایده خوبی است که هر روز یک چک AIDE انجام دهید و گزارش را پست کنید. این فرآیند را می توان با استفاده از cron خودکار کرد.

nano /etc/crontab

برای اجرای چک AIDE هر روز در ساعت 10:15، خط زیر را به انتهای فایل اضافه کنید:

15 10 * * * root /usr/sbin/aide --check

AIDE اکنون از طریق پست به شما اطلاع خواهد داد. می توانید ایمیل خود را با دستور زیر بررسی کنید:

tail -f /var/mail/root

گزارش AIDE را می توان با استفاده از دستور زیر مشاهده کرد:

tail -f /var/log/aide/aide.log

نتیجه

در این مقاله، نحوه استفاده از AIDE برای تشخیص تغییرات فایل و شناسایی دسترسی های غیرمجاز به سرور را یاد گرفتید. برای تنظیمات بیشتر، می توانید فایل پیکربندی /etc/aide.conf را ویرایش کنید. به دلایل امنیتی، توصیه می شود پایگاه داده و فایل پیکربندی را در رسانه های فقط خواندنی ذخیره کنید. اطلاعات بیشتر را می توان در مستندات یافت AIDE Doc.

درباره دوره بیشتر بدانید.

منبع: www.habr.com

اضافه کردن نظر