Înainte de începerea cursului
AIDE înseamnă „Advanced Intrusion Detection Environment” și este unul dintre cele mai populare sisteme de monitorizare a schimbărilor în sistemele de operare bazate pe Linux. AIDE este utilizat pentru a proteja împotriva programelor malware, viruși și pentru a detecta activități neautorizate. Pentru a verifica integritatea fișierului și a detecta intruziunile, AIDE creează o bază de date cu informații despre fișiere și compară starea curentă a sistemului cu această bază de date. AIDE ajută la reducerea timpului de investigare a incidentelor concentrându-se pe fișierele care au fost modificate.
Caracteristicile AIDE:
- Acceptă diverse atribute de fișier, inclusiv: tip de fișier, inode, uid, gid, permisiuni, număr de link-uri, mtime, ctime și atime.
- Suport pentru compresie Gzip, SELinux, XAttrs, Posix ACL și atribute ale sistemului de fișiere.
- Suportă diverși algoritmi, inclusiv md5, sha1, sha256, sha512, rmd160, crc32 etc.
- Trimiterea notificărilor prin e-mail.
În acest articol, vom analiza cum să instalați și să utilizați AIDE pentru detectarea intruziunilor pe CentOS 8.
Condiții prealabile
- Server care rulează CentOS 8, cu cel puțin 2 GB RAM.
- acces root
Noțiuni de bază
Este recomandat să actualizați mai întâi sistemul. Pentru a face acest lucru, executați următoarea comandă.
dnf update -y
După actualizare, reporniți sistemul pentru ca modificările să intre în vigoare.
Instalarea AIDE
AIDE este disponibil în depozitul implicit CentOS 8. Îl puteți instala cu ușurință rulând următoarea comandă:
dnf install aide -y
Odată ce instalarea este finalizată, puteți vizualiza versiunea AIDE utilizând următoarea comandă:
aide --version
Ar trebui să vedeți următoarele:
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"
Optiuni Disponibile aide
poate fi vizualizat astfel:
aide --help
Crearea si initializarea bazei de date
Primul lucru pe care trebuie să-l faceți după instalarea AIDE este să-l inițializați. Inițializarea constă în crearea unei baze de date (snapshot) cu toate fișierele și directoarele de pe server.
Pentru a inițializa baza de date, executați următoarea comandă:
aide --init
Ar trebui să vedeți următoarele:
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)
Comanda de mai sus va crea o nouă bază de date aide.db.new.gz
în catalog /var/lib/aide
. Poate fi văzut folosind următoarea comandă:
ls -l /var/lib/aide
Rezultat:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE nu va folosi acest nou fișier de bază de date până când nu va fi redenumit aide.db.gz
. Acest lucru se poate face după cum urmează:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Se recomandă să actualizați periodic această bază de date pentru a vă asigura că modificările sunt monitorizate corespunzător.
Puteți schimba locația bazei de date prin modificarea parametrului DBDIR
în dosar /etc/aide.conf
.
Efectuarea unui control
AIDE este acum gata să utilizeze noua bază de date. Rulați prima verificare AIDE fără a face nicio modificare:
aide --check
Această comandă va dura ceva timp pentru a se finaliza, în funcție de dimensiunea sistemului de fișiere și de cantitatea de RAM de pe server. Odată ce scanarea este finalizată, ar trebui să vedeți următoarele:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
Rezultatul de mai sus spune că toate fișierele și directoarele se potrivesc cu baza de date AIDE.
Testarea AIDE
În mod implicit, AIDE nu urmărește directorul rădăcină Apache implicit /var/www/html.
Să configuram AIDE pentru a-l vizualiza. Pentru a face acest lucru, trebuie să schimbați fișierul /etc/aide.conf
.
nano /etc/aide.conf
Adăugați linia de deasupra "/root/CONTENT_EX"
următor:
/var/www/html/ CONTENT_EX
Apoi, creați un fișier aide.txt
în catalog /var/www/html/
folosind următoarea comandă:
echo "Test AIDE" > /var/www/html/aide.txt
Acum rulați verificarea AIDE și asigurați-vă că fișierul creat este detectat.
aide --check
Ar trebui să vedeți următoarele:
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
Vedem că fișierul creat este detectat aide.txt
.
După analizarea modificărilor detectate, actualizați baza de date AIDE.
aide --update
După actualizare, veți vedea următoarele:
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
Comanda de mai sus va crea o nouă bază de date aide.db.new.gz
în catalog
/var/lib/aide/
O puteți vedea cu următoarea comandă:
ls -l /var/lib/aide/
Rezultat:
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
Acum redenumiți noua bază de date, astfel încât AIDE să folosească noua bază de date pentru a urmări modificările ulterioare. Îl puteți redenumi după cum urmează:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Rulați din nou verificarea pentru a vă asigura că AIDE utilizează noua bază de date:
aide --check
Ar trebui să vedeți următoarele:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
Automatizăm verificarea
Este o idee bună să efectuați o verificare AIDE în fiecare zi și să trimiteți raportul prin poștă. Acest proces poate fi automatizat folosind cron.
nano /etc/crontab
Pentru a rula verificarea AIDE în fiecare zi la 10:15, adăugați următoarea linie la sfârșitul fișierului:
15 10 * * * root /usr/sbin/aide --check
AIDE vă va anunța acum prin poștă. Puteți verifica e-mailul cu următoarea comandă:
tail -f /var/mail/root
Jurnalul AIDE poate fi vizualizat folosind următoarea comandă:
tail -f /var/log/aide/aide.log
Concluzie
În acest articol, ați învățat cum să utilizați AIDE pentru a detecta modificările fișierelor și a identifica accesul neautorizat la server. Pentru setări suplimentare, puteți edita fișierul de configurare /etc/aide.conf. Din motive de securitate, se recomandă stocarea bazei de date și a fișierului de configurare pe medii de stocare numai pentru citire. Mai multe informații găsiți în documentație
Sursa: www.habr.com