Hvordan sjekke integriteten til fil og katalog ved å bruke "AIDE" i Linux


I vår megaveiledning for herding og sikring av CentOS 7, under avsnittet «beskytt systemet internt», er et av de nyttige sikkerhetsverktøyene vi listet opp for intern systembeskyttelse mot virus, rootkits, skadelig programvare og gjenkjenning av uautoriserte aktiviteter er AIDE.

AIDE (Advanced Intrusion Detection Environment) er et lite, men kraftig, gratis åpen kildekode-inntrengningsdeteksjonsverktøy, som bruker forhåndsdefinerte regler for å sjekke fil- og katalogintegritet i Unix-lignende operativsystemer som Linux. Det er en uavhengig statisk binær for forenklede klient/server-overvåkingskonfigurasjoner.

Den er rik på funksjoner: bruker ren tekst konfigurasjonsfiler og database som gjør den enkel å bruke; støtter flere meldingssammendragsalgoritmer som, men ikke begrenset til, md5, sha1, rmd160, tiger; støtter vanlige filattributter; støtter også kraftige regulære uttrykk for selektivt å inkludere eller ekskludere filer og kataloger som skal skannes.

Den kan også kompileres med eksepsjonell støtte for Gzip-komprimering, Posix ACL, SELinux, XAttrs og Extended filsystemattributter.

Aide fungerer ved å lage en database (som ganske enkelt er et øyeblikksbilde av utvalgte deler av filsystemet), fra reglene for regulære uttrykk definert i konfigurasjonsfilen(e). Når denne databasen er initialisert, kan du verifisere integriteten til systemfilene mot den. Denne veiledningen viser hvordan du installerer og bruker aide i Linux.

Hvordan installere AIDE i Linux

Aide er pakket i offisielle depoter for vanlige Linux-distribusjoner, for å installere den, kjør kommandoen for distribusjonen din ved hjelp av en pakkebehandling.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Etter installering er hovedkonfigurasjonsfilen /etc/aide.conf. For å se den installerte versjonen samt kompileringstidsparametere, kjør kommandoen nedenfor på terminalen din:

aide -v
Eksempelutgang
Aide 0.14

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Du kan åpne konfigurasjonen ved å bruke din favorittredigerer.

vi /etc/aide.conf

Den har direktiver som definerer databaseplassering, rapportplassering, standardregler, kataloger/filer som skal inkluderes i databasen.

Forstå standard hjelperegler

Ved å bruke standardreglene ovenfor kan du for eksempel definere nye egendefinerte regler i aide.conf-filen.

PERMS = p+u+g+acl+selinux+xattrs

PERMS-regelen brukes kun for tilgangskontroll, den vil oppdage eventuelle endringer i fil eller kataloger basert på fil-/katalogtillatelser, bruker, gruppe, tilgangskontrolltillatelser, SELinux-kontekst og filattributter.

Dette vil kun sjekke filinnhold og filtype.

CONTENT = sha256+ftype

Dette er en utvidet versjon av den forrige regelen, den kontrollerer utvidet innhold, filtype og tilgang.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

KUN DATA-regelen nedenfor vil hjelpe med å oppdage endringer i data i alle filer/kataloger.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Definere regler for å se på filer og kataloger

Når du har definert regler, kan du spesifisere filen og katalogene du vil se. Med tanke på PERMS-regelen ovenfor, vil denne definisjonen sjekke tillatelser for alle filer i rotkatalogen.

/root/\..*  PERMS

Dette vil sjekke alle filene i /root-katalogen for eventuelle endringer.

/root/   CONTENT_EX

For å hjelpe deg med å oppdage endringer i data i alle filer/kataloger under /etc/, bruk denne.

/etc/   DATAONLY 

Bruke AIDE for å sjekke fil- og katalogintegritet i Linux

Start med å bygge en database mot kontrollene som skal utføres ved å bruke --init flagg. Dette forventes å gjøres før systemet kobles til et nettverk.

Kommandoen nedenfor vil opprette en database som inneholder alle filene du valgte i konfigurasjonsfilen.

aide --init

Gi deretter nytt navn til databasen til /var/lib/aide/aide.db.gz før du fortsetter, med denne kommandoen.

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Det anbefales å flytte databasen til en sikker plassering, muligens i et skrivebeskyttet medium eller på andre maskiner, men sørg for at du oppdaterer konfigurasjonsfilen for å lese den derfra.

Etter at databasen er opprettet, kan du nå sjekke integriteten til filene og katalogene ved å bruke --check-flagget.

aide --check

Den vil lese øyeblikksbildet i databasen og sammenligne det med filene/katalogene som ble funnet på systemdisken. Hvis den finner endringer på steder som du kanskje ikke forventer, genererer den en rapport som du deretter kan se gjennom.

Siden det ikke er gjort endringer i filsystemet, vil du kun få en utgang som ligner den ovenfor. Prøv nå å lage noen filer i filsystemet, i områder definert i konfigurasjonsfilen.

vi /etc/script.sh
touch all.txt

Kjør deretter en sjekk en gang til, som skal rapportere filene som er lagt til ovenfor. Utdataene til denne kommandoen avhenger av delene av filsystemet du konfigurerte for kontroll, det kan være lang overtid.

aide --check

Du må kjøre hjelpekontroller regelmessig, og i tilfelle endringer i allerede valgte filer eller tillegg av nye fildefinisjoner i konfigurasjonsfilen, oppdater alltid databasen ved å bruke --update-alternativet:

aide --update

Etter å ha kjørt en databaseoppdatering, for å bruke den nye databasen for fremtidige skanninger, må du alltid gi den nytt navn til /var/lib/aide/aide.db.gz:

mv /var/lib/aide/aide.db.new.gz  /var/lib/aide/aide.db.gz

Det er alt for nå! Men vær oppmerksom på disse viktige punktene:

  • Et kjennetegn ved de fleste inntrengningsdeteksjonssystemer AIDE inkludert, er at de ikke vil gi løsninger på de fleste sikkerhetshull i et system. De hjelper imidlertid med å lette inntrengningsresponsprosessen ved å hjelpe systemadministratorer med å undersøke eventuelle endringer i systemfiler/kataloger. Så du bør alltid være på vakt og fortsette å oppdatere gjeldende sikkerhetstiltak.
  • Det anbefales på det sterkeste å holde den nyopprettede databasen, konfigurasjonsfilen og AIDE-binæren på et sikkert sted som skrivebeskyttet media (mulig hvis du installerer fra kilden).
  • For ytterligere sikkerhet bør du vurdere å signere konfigurasjonen og/eller databasen.

For ytterligere informasjon og konfigurasjoner, se man-siden eller sjekk ut AIDE-hjemmesiden: http://aide.sourceforge.net/