Як встановити та використовувати AIDE (Advanced Intrusion Detection Environment) у CentOS 8

Напередодні старту курсу «Адміністратор Linux» підготували переведення цікавого матеріалу.

Як встановити та використовувати AIDE (Advanced Intrusion Detection Environment) у CentOS 8

AIDE розшифровується як “Advanced Intrusion Detection Environment” (удосконалена система виявлення вторгнень) – це одна з найпопулярніших систем моніторингу змін в операційних системах на базі Linux. 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 ГБ оперативної пам'яті.
  • root-доступ

починаємо

Спершу рекомендується оновити систему. Для цього виконайте наведену нижче команду.

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 (Advanced Intrusion Detection Environment) у 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

Виконання цієї команди займе деякий час залежно від розміру файлової системи та обсягу оперативної пам'яті на вашому сервері. Після завершення перевірки ви повинні побачити таке:

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.

Дізнатись детальніше про курс.

Джерело: habr.com

Додати коментар або відгук