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

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 – це її ініціалізувати. Ініціалізація полягає у створенні бази даних (знімка) всіх файлів та каталогів сервера.
Для ініціалізації бази даних виконайте таку команду:
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. З метою безпеки рекомендується зберігати базу даних та конфігураційний файл на носії, доступному лише для читання. Додаткову інформацію можна отримати у документації .
Джерело: habr.com
