Hvordan sjekke fil- eller katalogintegritet med AIDE på Linux

Når du bruker flere operativsystemer, er det ideelt å alltid ha verktøy som lar oss opprettholde sentralisert og direkte kontroll over det. Et av de mest delikate problemene er utvilsomt sikkerheten og integriteten til filene, da dette garanterer tilgjengeligheten og påliteligheten til filene.

I dag vil Solvetic snakke om et praktisk verktøy kalt AIDE, der det vil være mulig å kontrollere integriteten til en fil eller katalog i de forskjellige Linux -distribusjonene og dermed være sikker på fullstendig pålitelighet av den valgte filen.

Hva er AIDEAIDE ((Advanced Intrusion Detection Environment) er en fil- og katalogintegritetskontroll i Linux -miljøer som lar oss som administratorer opprettholde spesifikk kontroll over dem.
Driften består av å opprette en database designet fra de vanlige uttrykksreglene som er tilgjengelige i konfigurasjonsfilene. Når denne databasen er initialisert, kan den brukes til å verifisere integriteten til de nødvendige filene.

AIDE -filattributterAIDE er ansvarlig for å bygge databasen fra filene som er angitt i aide.conf, som er AIDE -konfigurasjonsfilen. AIDE -databasen lagrer flere filattributter der vi har:

  • filtype
  • tillater
  • bruker og gruppe
  • filstørrelse
  • mtime, ctime og atime
  • vekststørrelse
  • antall lenker og lenkenavn.

I tillegg oppretter AIDE en kryptografisk kontrollsum eller hash for hver fil ved hjelp av en eller en kombinasjon av følgende meldingsfordelingsalgoritmer: sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32, og også acl -attributtene, xattr, selinux og e2fsattrs kan brukes når de eksplisitt er aktivert på kompileringstidspunktet.

AIDE har flere meldingsfordelingsalgoritmer som brukes til å bekrefte filens integritet. Alle de vanlige filattributtene kan også kontrolleres for inkonsekvenser i den. AIDE kan lese databaser med eldre eller nyere versjoner.

AIDE -funksjonerVed å bruke dette verktøyet har vi følgende egenskaper:

  • Meldingsfordelte algoritmer som: md5, sha1, rmd160, tigger, crc32, sha256, sha512, boblebad (i tillegg med libmhash: gost, haval, crc32b)
  • Filattributter som støttes: Filtype, Tillatelser, Inode, Uid, Gid, Linknavn, Størrelse, Blokknummer, Antall koblinger, Mtime, Ctime og Atime
  • Den har støtte for Posix ACL, SELinux, XAttrs og utvidede filsystemattributter hvis støtten er samlet for ren tekst og databasekonfigurasjonsfiler
  • Den har støtte for vanlig uttrykk for å selektivt inkludere eller ekskludere filer og kataloger for å bli overvåket
Du kan komprimere gzip -databasen hvis zlib -støtten er samlet til en egen statisk binær for klient / server -overvåkingskonfigurasjoner.

AIDE er inkludert i følgende UNIX -distribusjoner

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

Det er viktig å presisere at AIDE ikke kan gi absolutt sikkerhet for endringen i en fil, siden som alle andre systemfiler, kan databasen og / eller binærene til AIDE også endres ved hjelp av passende verktøy.

1. Installere AIDE på Linux


AIDE er tilgjengelig i offisielle lagre for de mest populære Linux -distribusjonene, for dette kan vi installere det ved hjelp av en pakkebehandling i henhold til den valgte distroen slik:
 apt install aide (Debian / Ubuntu) yum install aide CRHEL / CentOS) dnf install aide (Fedora) zypper install aide (OpenSUSE) emerge aide (Gentoo)

I dette tilfellet bruker vi Ubuntu. Der skriver vi inn bokstaven S for å godta nedlasting og installasjon av AIDE. Når den er installert, ser vi følgende:

Som vi kan se, er hovedkonfigurasjonsfilen /etc/aide/aide.conf. For å se den installerte versjonen, samt parametrene for kompileringstid, kan vi utføre følgende:

 assistent -v

2. Tilgang til AIDE Linux -konfigurasjonsfilen


Vi får tilgang til AIDE -konfigurasjonsfilen ved å kjøre følgende linje med ønsket editor:
 nano /etc/aide/aide.conf
Vi vil se følgende:

I denne filen finner vi direktiver som definerer plasseringen av databasen, plasseringen av rapporten, standardreglene, katalogene eller filene som skal inkluderes i databasen, og mange flere.

3. Hvordan håndtere og forstå AIDE -regler

AIDE administrerer regler som:

sTillatelser - Tillatelser
nAntall lenker
eller= Bruker
gGrupper
sStørrelse (størrelse)
bBlokkertall
mmtime
tilen gang
cctime
selinuxSelinux sikkerhetskontekst
xattrsViser de utvidede attributtene til en fil

Fra disse reglene vil det være mulig å opprette tilpassede regler i AIDE -konfigurasjonsfilen. For eksempel kan vi lage følgende regel:

 PERMS = p + u + g + acl + selinux + xattrs
I dette tilfellet er PERMS -regelen implementert for tilgangskontroll, som vil oppdage eventuelle endringer i filen eller katalogene basert på fil- eller katalogtillatelser, bruker, gruppe, tilgangskontrolltillatelser, filattributter og mer.

En annen regel som vi kan implementere er en som bare sjekker innholdet i filen og den valgte filtypen, for eksempel:

 INNHOLD = sha256 + ftype
Hvis vi vil bekrefte det utvidede innholdet, filtypen og tilgangen, kan vi opprette en regel som:
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
En regel som hjelper oss med å oppdage endringer i katalogen bare på datanivå er:
 DATAONLY = p + n + u + g + s + acl + selinux + xattrs + sha256
Disse reglene må legges til nederst i AIDE -konfigurasjonsfilen:

Vi lagrer endringene med Ctrl + O -tastene og avslutter med Ctrl + X.

4. Hvordan definere regler for visning av AIDE -filer og kataloger


Med AIDE vil det også være mulig å lage regler for bestemte filer eller kataloger som skal analyseres. For dette får vi tilgang til /etc/aide/aide.conf banen igjen, og vi kan lage følgende regler:
 / root / \ … * PERMS (Denne regelen sjekker tillatelsene i rotkatalogen) / root / CONTENT_EX (Denne regelen sjekker alle filene i roten før eventuelle endringer) / etc / DATAONLY (Denne regelen lar oss oppdage eventuelle endringer i katalogen /etc)

Vi kan lagre endringene i AIDE -konfigurasjonsfilen.

5. Hvordan bruke AIDE til å bekrefte filer og katalogintegritet i Linux


Når reglene som skal brukes med AIDE er definert, vil neste trinn være å bygge databasen mot kontrollene som vil bli utført ved hjelp av parameteren --init.

Med følgende kommando opprettes en database som inneholder alle filene vi definerer i AIDE -konfigurasjonsfilen:

 Hjelper -init

Når dette er gjort, fortsett å endre navnet på databasen til /var/lib/aide/aide.db.gz før du fortsetter, for dette kan vi bruke følgende kommando:

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Det anbefales å flytte denne databasen til et trygt sted, men vi må sørge for å oppdatere konfigurasjonsfilen slik at den kan leses derfra.

Deretter må vi kompilere en ny Aide -konfigurasjonsfil. Vi utfører følgende kommando:

 update-aide.conf
Nå vil vi kopiere denne nye filen til / etc / aide -katalogen:
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Etter at databasen er opprettet, kan vi kontrollere integriteten til filene og katalogene ved å bruke -sjekk -flagget:
 assistent -sjekk

6. Hvordan evaluere AIDE


For å teste driften av AIDE utfører vi følgende linjer:
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
Med dem lager vi en ny katalog og filer på systemet. Senere utfører vi følgende linje for validering og bekreftelse:
 Hjelp -sjekk
Resultatet blir følgende:

Der kan vi se at det finnes en forskjell i filen og angir hvilken type handling det var, tillegg, sletting eller endring.
På denne måten er AIDE et nyttig verktøy for å bestemme endringene som har skjedd i systemet i sanntid.

wave wave wave wave wave