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/