Kako poizvedovati po dnevnikih revizije z uporabo orodja za iskanje na CentOS/RHEL


V zadnjem članku smo razložili, kako lahko s pomočjo pripomočka auditd revidiramo sistem RHEL ali CentOS. Revizijski sistem (auditd) je celovit sistem beleženja in v tem primeru ne uporablja sistema syslog. Priložen je tudi nabor orodij za upravljanje sistema revizije jedra ter iskanje in izdelavo poročil iz informacij v datotekah dnevnika.

V tej vadnici vam bomo razložili, kako z orodjem za iskanje uporabiti podatke iz dnevniških datotek auditd v distribucijah Linux, ki temeljijo na RHEL in CentOS.

Kot smo že omenili, ima revizijski sistem demon nadzornega prostora uporabniškega prostora (auditd), ki zbira informacije, povezane z varnostjo, na podlagi vnaprej konfiguriranih pravil iz jedra in ustvarja vnose v dnevniški datoteki.

ausearch je preprosto orodje ukazne vrstice, ki se uporablja za iskanje datotek dnevnika revizijskih demonov na podlagi dogodkov in različnih iskalnih kriterijev, kot so identifikator dogodka, identifikator ključa, arhitektura procesorja, ime ukaza, ime gostitelja, ime skupine ali ID skupine, syscall, sporočila in še več. Sprejema tudi surove podatke iz stdina.

Ausearch privzeto poišče datoteko /var/log/audit/audit.log, ki si jo lahko ogledate tako kot katero koli drugo besedilno datoteko.

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

Na zgornjem posnetku zaslona lahko vidite veliko podatkov iz dnevniške datoteke, zaradi česar je težko dobiti posebne informacije, ki vas zanimajo.

Zato potrebujete analizo, ki omogoča močnejše in učinkovitejše iskanje informacij z uporabo naslednje sintakse.

# ausearch [options]

Zastavica -p se uporablja za posredovanje ID-ja procesa.

# ausearch -p 2317

Tu morate uporabiti možnost -m za prepoznavanje določenih sporočil in -sv za določitev vrednosti uspeha.

# ausearch -m USER_LOGIN -sv no 

-Ua se uporablja za posredovanje uporabniškega imena.

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

Če želite iskati dejanja, ki jih določen uporabnik izvede iz določenega časovnega obdobja, uporabite -ts za začetni datum/čas in -te za določitev končnega datuma/časa, kot sledi ( upoštevajte, da lahko namesto dejanskih časovnih formatov uporabite besede, kot so zdaj, nedavno, danes, včeraj, ta teden, teden nazaj, ta mesec, letos, pa tudi kontrolna točka).

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

Več primerov iskanja dejanj določenega uporabnika v sistemu.

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

Če želite pregledati vse sistemske spremembe, povezane z uporabniškimi računi, skupinami in vlogami; določite različne vrste sporočil, ločenih z vejicami, kot v spodnjem ukazu (poskrbite za seznam, ločen z vejicami, med vejico in naslednjim elementom ne puščajte prostora):

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

Upoštevajte spodnje pravilo revizije, ki bo beležilo vse poskuse dostopa do podatkovne baze uporabniških računov/etc/passwd ali spreminjanja.

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

Zdaj poskusite odpreti zgornjo datoteko za urejanje in jo zapreti, kot sledi.

# vi /etc/passwd

Samo zato, ker veste, da je bil o tem posnet vnos dnevnika, bi si zadnje ukaze datoteke z ukazom rep lahko ogledali na naslednji način:

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

Kaj pa, če je bilo pred kratkim zabeleženih več drugih dogodkov, bi bilo težko najti posebne informacije, vendar z ausearch lahko podate zastavico -k z vrednostjo ključa, ki ste jo določili v revizijskem pravilu, da si ogledate vse dnevniška sporočila o dogodkih, povezanih z dostopom ali spreminjanjem datoteke /etc /passwd.

Tu bodo prikazane tudi spremembe konfiguracije, ki določajo pravila revizije.

# ausearch -k passwd_changes | less

Za več informacij in možnosti uporabe preberite priročno stran za uporabnika:

# man ausearch

Če želite izvedeti več o reviziji sistema Linux in upravljanju dnevnikov, preberite naslednje članke.

  1. Petiti - odprtokodno orodje za analizo dnevnika za Linux SysAdmins
  2. Nadzirajte dnevniške strežnike v realnem času z orodjem\"Log.io" na RHEL/CentOS 7/6
  3. Kako nastaviti in upravljati sukanje dnevnika z uporabo Logrotate v Linuxu
  4. lnav - Oglejte si in analizirajte dnevnike Apache s terminala Linux

V tej vadnici smo opisali, kako uporabiti ausearch za pridobivanje podatkov iz datoteke dnevnika auditd na RHEL in CentOS. Če imate kakršna koli vprašanja ali razmišljanja, nas kontaktirajte v razdelku s komentarji.

V naslednjem članku bomo razložili, kako ustvariti poročila iz revizijskih dnevniških datotek z uporabo aureporta v RHEL/CentOS/Fedora.