Hvordan spørre etter revisjonslogger ved å bruke 'ausearch'-verktøyet på CentOS/RHEL


I vår siste artikkel har vi forklart hvordan du reviderer RHEL- eller CentOS-system ved å bruke auditd-verktøyet. Revisjonssystemet (auditd) er et omfattende loggingssystem og bruker ikke syslog for den saks skyld. Den kommer også med et verktøysett for å administrere kjernerevisjonssystemet samt søke og produsere rapporter fra informasjon i loggfilene.

I denne opplæringen vil vi forklare hvordan du bruker ausearch-verktøyet for å hente data fra auditd-loggfiler på en RHEL- og CentOS-basert Linux-distribusjon.

Les også: 4 gode loggovervåkings- og administrasjonsverktøy for åpen kildekode for Linux

Som vi nevnte tidligere, har revisjonssystemet en brukerplass revisjonsdaemon (auditd) som samler sikkerhetsrelatert informasjon basert på forhåndskonfigurerte regler, fra kjernen og genererer oppføringer i en loggfil.

Hva er ausearch?

ausearch er et enkelt kommandolinjeverktøy som brukes til å søke i revisjonsdaemon-loggfilene basert på hendelser og forskjellige søkekriterier som hendelsesidentifikator, nøkkelidentifikator, CPU-arkitektur, kommandonavn, vertsnavn, gruppenavn eller gruppe-ID , syscall, meldinger og mer. Den aksepterer også rådata fra stdin.

Som standard spør ausearch etter /var/log/audit/audit.log-filen, som du kan se akkurat som alle andre tekstfiler.

cat /var/log/audit/audit.log
OR
cat /var/log/audit/audit.log | less

Fra skjermbildet ovenfor kan du se massevis av data fra loggfilen som gjør det vanskelig å få spesifikk informasjon av interesse.

Derfor trenger du ausearch, som gjør det mulig å søke etter informasjon på en kraftigere og mer effektiv måte ved å bruke følgende syntaks.

ausearch [options]

Sjekk kjørende prosesslogger i revisjonsloggfil

-p-flagget brukes til å sende en prosess-ID.

ausearch -p 2317

Sjekk mislykkede påloggingsforsøk i revisjonsloggfil

Her må du bruke -m-alternativet for å identifisere spesifikke meldinger og -sv for å definere suksessverdien.

ausearch -m USER_LOGIN -sv no 

Finn brukeraktivitet i revisjonsloggfil

-ua brukes til å sende et brukernavn.

ausearch -ua tecmint
OR
ausearch -ua tecmint -i	# enable interpreting of numeric entities into text.

For å spørre etter handlinger utført av en bestemt bruker fra en gitt tidsperiode, bruk -ts for startdato/tid og -te for å spesifisere sluttdato/tid som følger ( Vær oppmerksom på at du kan bruke ord som nå, nylig, i dag, i går, denne uken, uke siden, denne måneden, i år samt sjekkpunkt i stedet for faktiske tidsformater).

ausearch -ua tecmint -ts yesterday -te now -i 

Flere eksempler på søk etter handlinger av en gitt bruker på systemet.

ausearch -ua 1000 -ts this-week -i
ausearch -ua tecmint -m USER_LOGIN -sv no -i

Finn endringer i brukerkontoer, grupper og roller i revisjonslogger

Hvis du vil gjennomgå alle systemendringer som har med brukerkontoer, grupper og roller å gjøre; spesifiser ulike kommaseparerte meldingstyper som i kommandoen nedenfor (ta vare på den kommaseparerte listen, la det ikke være mellomrom mellom et komma og neste element):

ausearch -m ADD_USER,DEL_USER,USER_CHAUTHTOK,ADD_GROUP,DEL_GROUP,CHGRP_ID,ROLE_ASSIGN,ROLE_REMOVE  -i

Søk i revisjonsloggfil med nøkkelverdi

Vurder revisjonsregelen nedenfor som vil logge alle forsøk på å få tilgang til eller endre /etc/passwd brukerkontodatabasen.

auditctl -w /etc/passwd -p rwa -k passwd_changes

Prøv nå å åpne filen ovenfor for redigering og lukk den, som følger.

vi /etc/passwd

Bare fordi du vet at det er registrert en loggoppføring om dette, vil du muligens se de siste delene av loggfilen med halekommandoen som følger:

tail /var/log/audit/audit.log

Hva om flere andre hendelser nylig har blitt registrert, ville det være så vanskelig å finne den spesifikke informasjonen, men ved å bruke ausearch kan du sende -k-flagget med nøkkelverdien du spesifiserte i revisjonsregelen for å se alle loggmeldinger angående hendelser som har å gjøre med tilgang til eller endring av /etc/passwd-fil.

Dette vil også vise konfigurasjonsendringene som definerer revisjonsreglene.

ausearch -k passwd_changes | less

For mer informasjon og bruksalternativer, les ausearch-man-siden:

man ausearch

For å vite mer om Linux-systemrevisjon og loggadministrasjon, les disse følgende relaterte artiklene.

  1. Petiti – Et verktøy for åpen kildekodelogganalyse for Linux SysAdmins
  2. Overvåk server logger inn sanntid med «Log.io»-verktøyet på RHEL/CentOS 7/6
  3. Hvordan sette opp og administrere loggrotasjon ved å bruke Logrotate i Linux
  4. lnav – Se og analyser Apache-logger fra en Linux-terminal

I denne opplæringen beskrev vi hvordan du bruker ausearch for å hente data fra en revisjonsloggfil på RHEL og CentOS. Hvis du har spørsmål eller tanker å dele, bruk kommentarfeltet for å nå oss.

I vår neste artikkel vil vi forklare hvordan du lager rapporter fra revisjonsloggfiler ved å bruke aureport i RHEL/CentOS/Fedora.