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
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.confVidjet ć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 + xattrsU 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 + ftypeAko ž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 + xattrsPravilo koje nam pomaže otkriti promjene u direktoriju samo na razini podataka je:
DATAONLY = p + n + u + g + s + acl + selinux + xattrs + sha256Ova 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.gzPreporuč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.confSada ćemo kopirati ovu novu datoteku u direktorij / etc / aide:
cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.confNakon š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 / testsolvetic1S njima stvaramo novi direktorij i datoteke na sustavu. Kasnije izvršavamo sljedeći redak za njegovu validaciju i provjeru:
Pomoćnik -provjeraRezultat ć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.