Kako provjeriti integritet datoteke ili direktorija pomoću AIDE -a na Linuxu

Kad koristite više operacijskih sustava, idealno je uvijek imati alate koji nam omogućuju održavanje centralizirane i izravne kontrole nad njim. Jedno od najosjetljivijih pitanja je nesporna sigurnost i integritet datoteka jer to jamči dostupnost i pouzdanost datoteka.

Danas će Solvetic govoriti o praktičnom alatu pod nazivom AIDE pomoću kojeg će biti moguće provjeriti integritet datoteke ili direktorija u različitim distribucijama Linuxa i tako biti sigurni u potpunu pouzdanost odabrane datoteke.

Što je AIDEAIDE ((Napredno okruženje za otkrivanje upada) je provjera integriteta datoteka i direktorija u Linux okruženjima što nam kao administratorima omogućuje održavanje posebne kontrole nad njima.
Njegov se rad sastoji od stvaranja baze podataka dizajnirane prema pravilima regularnih izraza koji su dostupni u konfiguracijskim datotekama. Nakon što se ova baza podataka inicijalizira, može se koristiti za provjeru integriteta potrebnih datoteka.

AIDE atributi datotekeAIDE je zadužen za izgradnju baze podataka od datoteka navedenih u aide.conf, a to je konfiguracijska datoteka AIDE. Baza podataka AIDE pohranjuje nekoliko atributa datoteka unutar kojih imamo:

  • vrsta datoteke
  • dozvole
  • korisnika i grupe
  • veličina datoteke
  • mtime, ctime i atime
  • veličina rasta
  • broj veza i naziv veze.

Osim toga, AIDE stvara kriptografski kontrolni zbroj ili raspršivanje svake datoteke pomoću jednog ili kombinacije sljedećih algoritama za sažetak poruka: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32, a također i atribute acl, xattr, selinux , i e2fsattrs mogu se koristiti ako su eksplicitno omogućeni u vrijeme kompajliranja.

AIDE ima nekoliko algoritama za sažetak poruka koji se koriste za provjeru integriteta datoteke. Svi uobičajeni atributi datoteke također se mogu provjeriti na nedosljednosti unutar njih. AIDE može čitati baze podataka starijih ili novijih verzija.

AIDE značajkeKorištenjem ovog alata imamo sljedeće karakteristike:

  • Podržani sažeci poruka algoritmi kao što su: md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (dodatno s libmhash: gost, haval, crc32b)
  • Podržani atributi datoteke: vrsta datoteke, dopuštenja, Inode, Uid, Gid, naziv veze, veličina, broj bloka, broj veza, Mtime, Ctime i Atime
  • Ima podršku za Posix ACL, SELinux, XAttrs i proširene atribute datotečnog sustava ako se podrška radi jednostavnosti prevodi u običan tekst i konfiguracijske datoteke baze podataka
  • Ima podršku za regularne izraze za selektivno uključivanje ili isključivanje datoteka i direktorija kako bi se mogli nadzirati
Možete komprimirati gzip bazu podataka ako je zlib podrška kompilirana u zasebnu statičku binarnu datoteku za konfiguracije nadgledanja klijent / poslužitelj.

AIDE je uključen u sljedeće UNIX distribucije

  • Debian
  • Gentoo
  • MacPorts
  • FreeBSD
  • CentOS / RedHat
  • IPCop
  • OpenSUSE

Važno je pojasniti da AIDE ne može pružiti potpunu sigurnost u promjeni datoteke, budući da se, kao i svaka druga sistemska datoteka, baza podataka i / ili binarne datoteke AIDE -a također mogu promijeniti korištenjem odgovarajućih alata.

1. Instaliranje AIDE -a na Linux


AIDE je dostupan u službenim spremištima za najpopularnije Linux distribucije, za to ga možemo instalirati pomoću upravitelja paketa u skladu s odabranim distroom na sljedeći način:
 apt install aide (Debian / Ubuntu) yum install aide CRHEL / CentOS) dnf install aide (Fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)

U ovom slučaju koristimo Ubuntu. Tamo unosimo slovo S da bismo prihvatili preuzimanje i instalaciju AIDE -a. Nakon instalacije vidjet ćemo sljedeće:

Kao što vidimo, glavna konfiguracijska datoteka je /etc/aide/aide.conf. Za pregled instalirane verzije, kao i vremenskih parametara kompilacije, možemo izvršiti sljedeće:

 pomoćnik -v

2. Pristup konfiguracijskoj datoteci AIDE Linux


Konfiguracijskoj datoteci AIDE možemo pristupiti izvršavanjem sljedećeg retka sa željenim uređivačem:
 nano /etc/aide/aide.conf
Vidjet ćemo sljedeće:

U ovoj datoteci nalazimo direktive koje definiraju mjesto baze podataka, mjesto izvješća, zadana pravila, direktorije ili datoteke koje treba uključiti u bazu podataka i mnoge druge.

3. Kako upravljati i razumjeti pravila AIDE

AIDE upravlja pravilima kao što su:

strDopuštenja - Dopuštenja
nBroj veza
ili= Korisnik
gGrupe
sVeličina (veličina)
bBrojanje blokova
mmtime
doVrijeme
cctime
selinuxSigurnosni kontekst Selinux -a
xattrsPrikazuje proširene atribute datoteke

Iz ovih pravila bit će moguće stvoriti prilagođena pravila u konfiguracijskoj datoteci AIDE. Na primjer, možemo stvoriti sljedeće pravilo:

 ODREDBE = p + u + g + acl + selinux + xattrs
U ovom slučaju, za kontrolu pristupa implementirano je pravilo PERMS, koje će otkriti sve promjene u datoteci ili direktorijima na temelju dopuštenja datoteka ili direktorija, korisnika, grupe, dopuštenja za kontrolu pristupa, atributa datoteke i još mnogo toga.

Drugo pravilo koje možemo primijeniti je ono koje samo provjerava sadržaj datoteke i odabranu vrstu datoteke, na primjer:

 SADRŽAJ = sha256 + ftype
Ako želimo provjeriti prošireni sadržaj, vrstu datoteke i pristup, možemo stvoriti pravilo poput:
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Pravilo koje nam pomaže otkriti promjene u direktoriju samo na razini podataka je:
 DATAONLY = p + n + u + g + s + acl + selinux + xattrs + sha256
Ova se pravila moraju dodati pri dnu konfiguracijske datoteke AIDE:

Spremamo promjene pomoću tipki Ctrl + O i izlazimo pomoću Ctrl + X.

4. Kako definirati pravila za pregled AIDE datoteka i direktorija


S AIDE -om će također biti moguće stvoriti pravila za određene datoteke ili direktorije za analizu. Za to ponovno pristupamo /etc/aide/aide.conf putu i možemo stvoriti sljedeća pravila:
 / root / \… * PERMS (Ovo pravilo provjerava dopuštenja u korijenskom direktoriju) / root / CONTENT_EX (Ovo pravilo provjerava sve datoteke u root -u prije bilo kakve promjene) / etc / DATAONLY (Ovo pravilo omogućuje nam da otkrijemo bilo koju promjenu u direktoriju /itd)

Promjene možemo spremiti u konfiguracijsku datoteku AIDE.

5. Kako koristiti AIDE za provjeru datoteka i integriteta direktorija u Linuxu


Nakon što su definirana pravila koja će se koristiti s AIDE -om, sljedeći korak bit će izgradnja baze podataka prema provjerama koje će se provoditi pomoću parametra --init.

Sljedećom naredbom stvorit će se baza podataka koja sadrži sve datoteke koje definiramo u konfiguracijskoj datoteci AIDE:

 Pomoćnik -init

Nakon što to učinite, prije nego nastavite, promijenite naziv baze podataka u /var/lib/aide/aide.db.gz, za to možemo upotrijebiti sljedeću naredbu:

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Preporučuje se premještanje ove baze podataka na sigurno mjesto, ali moramo biti sigurni da ažuriramo konfiguracijsku datoteku kako bi se odatle mogla čitati.

Zatim moramo sastaviti novu konfiguracijsku datoteku Aide. Izvršavamo sljedeću naredbu:

 update-aide.conf
Sada ćemo kopirati ovu novu datoteku u direktorij / etc / aide:
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Nakon što je baza podataka stvorena, možemo provjeriti integritet datoteka i direktorija pomoću zastavice -check:
 pomoćnik -provjera

6. Kako ocijeniti AIDE


Kako bismo testirali rad AIDE -a, izvršit ćemo sljedeće retke:
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
S njima stvaramo novi direktorij i datoteke na sustavu. Kasnije izvršavamo sljedeći redak za njegovu validaciju i provjeru:
 Pomoćnik -provjera
Rezultat će biti sljedeći:

Tamo možemo vidjeti da se u datoteci nalazi razlika i ukazuje na vrstu radnje, dodavanje, brisanje ili promjenu.
Na taj je način AIDE koristan alat za utvrđivanje u stvarnom vremenu promjena koje su se dogodile u sustavu.

wave wave wave wave wave