Преди началото на курса
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 GB RAM.
- 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
Изпълнението на тази команда ще отнеме известно време в зависимост от размера на вашата файлова система и количеството 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. От съображения за сигурност се препоръчва базата данни и конфигурационният файл да се съхраняват на носител само за четене. Повече информация можете да намерите в документацията
Източник: www.habr.com