Sådan forespørges auditlogfiler ved hjælp af ausearch-værktøjet på CentOS/RHEL


I vores sidste artikel har vi forklaret, hvordan man reviderer RHEL eller CentOS-systemet ved hjælp af auditd-værktøjet. Auditsystemet (auditd) er et omfattende logningssystem og bruger ikke syslog for den sags skyld. Det leveres også med et værktøjssæt til styring af kerneovervågningssystemet samt søgning og produktion af rapporter fra oplysninger i logfilerne.

I denne vejledning forklarer vi, hvordan du bruger ausearch-værktøjet til at hente data fra auditd-logfiler på en RHEL- og CentOS-baseret Linux-distribution.

Som vi nævnte tidligere har auditsystemet en bruger-space audit-dæmon (auditd), der samler sikkerhedsrelaterede oplysninger baseret på forudkonfigurerede regler fra kernen og genererer poster i en logfil.

ausearch er et simpelt kommandolinjeværktøj, der bruges til at søge i loggfiler til revisionsdemonen baseret på begivenheder og forskellige søgekriterier såsom hændelsesidentifikator, nøgleidentifikator, CPU-arkitektur, kommandonavn, værtsnavn, gruppenavn eller gruppe-id, syscall, meddelelser og videre. Det accepterer også rådata fra stdin.

Ausearch forespørger som standard filen /var/log/audit/audit.log, som du kan se ligesom enhver anden tekstfil.

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

Fra skærmbilledet ovenfor kan du se masser af data fra logfilen, hvilket gør det vanskeligt at få specifikke oplysninger af interesse.

Derfor har du brug for ausearch, som muliggør søgning på information på en mere kraftfuld og effektiv måde ved hjælp af følgende syntaks.

# ausearch [options]

Flagget -p bruges til at videregive et proces-id.

# ausearch -p 2317

Her skal du bruge indstillingen -m til at identificere specifikke meddelelser og -sv til at definere succesværdien.

# ausearch -m USER_LOGIN -sv no 

-Ua bruges til at videregive et brugernavn.

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

For at forespørge handlinger udført af en bestemt bruger fra en given tidsperiode skal du bruge -ts til startdato/tid og -te til at specificere slutdato/tid som følger ( bemærk, at du kan bruge ord som nu, nylig, i dag, i går, denne uge, uge siden, denne måned, i år samt kontrolpunkt i stedet for faktiske tidsformater).

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

Flere eksempler på søgning efter handlinger fra en given bruger på systemet.

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

Hvis du vil gennemgå alle systemændringer, der har at gøre med brugerkonti, grupper og roller; angiv forskellige kommaseparerede meddelelsestyper som i kommandoen nedenfor (pas på den kommaseparerede liste, lad ikke mellemrum være mellem et komma og det næste element):

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

Overvej revisionsreglen nedenfor, som logger ethvert forsøg på at få adgang til eller ændre/etc/passwd-brugerkontodatabasen.

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

Prøv nu at åbne ovenstående fil til redigering og lukke den som følger.

# vi /etc/passwd

Bare fordi du ved, at der er registreret en logpost om dette, vil du muligvis se de sidste dele af logfilen med halen-kommandoen som følger:

# tail /var/log/audit/audit.log

Hvad hvis der er registreret flere andre begivenheder for nylig, at finde de specifikke oplysninger ville være så vanskelige, men ved hjælp af ausearch kan du videregive -k -flagget med den nøgleværdi, du har angivet i revisionsreglen for at se alle logmeddelelser om begivenheder, der har at gøre med adgang til eller ændring af/etc/passwd-fil.

Dette viser også de konfigurationsændringer, der er foretaget, og som definerer revisionsreglerne.

# ausearch -k passwd_changes | less

For mere information og anvendelsesmuligheder, læs den manuelle side for søgning:

# man ausearch

Hvis du vil vide mere om Linux-systemrevision og loghåndtering, skal du læse disse følgende relaterede artikler.

  1. Petiti - Et open source loganalyseværktøj til Linux SysAdmins
  2. Overvåg serverlogfiler i realtid med "Log.io" -værktøjet på RHEL/CentOS 7/6
  3. Sådan opsættes og styres logrotation ved hjælp af Logrotate i Linux
  4. lnav - Se og analyser Apache-logfiler fra en Linux-terminal

I denne vejledning beskrev vi, hvordan man bruger ausearch til at hente data fra en auditd-logfil på RHEL og CentOS. Hvis du har spørgsmål eller tanker at dele, så brug kommentarsektionen for at nå os.

I vores næste artikel forklarer vi, hvordan du opretter rapporter fra auditlogfiler ved hjælp af aureport i RHEL/CentOS/Fedora.