AUSEARCH(8)

NUME
ausearch - un instrument pentru interogarea jurnalelor demonului de audit

SINOPSIS
ausearch [opțiuni]

DESCRIERE
ausearch este un instrument care poate interoga jurnalele demonului de audit pe baza evenimentelor, în funcție de diferite criterii de căutare. Utilitarul ausearch poate accepta și intrări de la intrarea standard, atâta timp cât intrarea este reprezentată de datele brute din jurnal. Fiecare opțiune de linie de comandă dată formează o instrucțiune „ȘI”. De exemplu, căutarea cu -m și -ui înseamnă returnarea evenimentelor care au atât tipul solicitat, cât și ID-ul utilizatorului dat. O excepție o constituie opțiunile -m și -n; într-o căutare sunt permise mai multe tipuri de înregistrări și noduri, care vor returna orice nod și înregistrare ce coincid.

De asemenea, trebuie menționat că fiecare excursie syscall din spațiul utilizatorului în nucleu și înapoi în spațiul utilizatorului are un ID de eveniment unic. Orice eveniment audiabil declanșat în timpul acestei excursii are același ID, astfel încât acestea să poată fi corelate.

Diferite părți ale nucleului pot adăuga înregistrări suplimentare. De exemplu, un eveniment de audit pe apelul de sistem „open” va determina nucleul să emită și o înregistrare PATH cu numele fișierului. Utilitarul ausearch va prezenta toate înregistrările care alcătuiesc un eveniment împreună. Acest lucru ar putea însemna că, chiar dacă căutați un anumit tip de înregistrare, evenimentele rezultate pot conține înregistrări SYSCALL.

De asemenea, rețineți că nu toate tipurile de înregistrări conțin informațiile solicitate. De exemplu, o înregistrare PATH nu conține un nume de gazdă sau un loginuid.

OPȚIUNI

-a, --event id-eveniment-audit
    Caută un eveniment pe baza ID-ului de eveniment id-eveniment-audit dat. Mesajele încep întotdeauna cu ceva precum msg=audit(1116360555.329:2401771). ID-ul evenimentului este numărul care urmează după „:”. Toate evenimentele de audit înregistrate din apelul de sistem al unei aplicații au același ID de eveniment de audit. Un al doilea apel de sistem efectuat de aceeași aplicație va avea un ID de eveniment diferit. În acest fel, ele sunt unice.

--arch CPU
    Caută evenimente pe baza unei arhitecturi CPU specifice. Dacă nu cunoașteți arhitectura mașinii dvs., dar doriți să utilizați tabelul syscall pe 32 de biți și mașina dvs. acceptă 32 de biți, puteți utiliza, de asemenea, b32 pentru arhitectură. Același lucru se aplică și tabelului syscall pe 64 de biți, puteți utiliza b64. Arhitectura mașinii dvs. poate fi găsită executând comanda „uname -m”.

-c, --comm nume-comun
    Caută un eveniment pe baza numelui nume-comun dat. Numele comun este numele executabilului din structura sarcinii.

--debug
    Scrie evenimentele incorect formatate care sunt omise la ieșirea de erori standard.

--checkpoint fișier-punct_verificare
    Verifică ieșirea între invocările succesive ale ausearch, astfel încât numai evenimentele care nu au fost afișate anterior să fie afișate în invocările ulterioare.

    Un eveniment auditd este alcătuit din una sau mai multe înregistrări. La procesarea evenimentelor, ausearch definește evenimentele ca fiind complete sau incomplete. Un eveniment complet este fie un eveniment cu o singură înregistrare, fie unul al cărui moment de producere a avut loc cu 2 secunde în urmă față de evenimentul procesat în prezent.

    Un punct de verificare se realizează prin înregistrarea ultimei ieșiri a evenimentului finalizat împreună cu numărul dispozitivului și nodul-i al fișierului în care a apărut ultimul eveniment finalizat în fișier-punct_verificare. La o invocare ulterioară, ausearch va încărca aceste date de punct de verificare și, pe măsură ce procesează fișierele jurnal, va elimina toate evenimentele finalizate până când va găsi unul care corespunde punctului de verificare. În acest moment, va începe să afișeze evenimentele finalizate.

    Dacă fișierul sau ultimul eveniment verificat nu sunt găsite, va apărea una dintre numeroasele erori și ausearch se va închide. Consultați EXIT STATUS pentru detalii.

--eoe-timeout secunde
    Stabilește timpul de expirare pentru analizarea sfârșitului evenimentului. Pentru detalii, consultați end_of_event_timeout în auditd.conf(5). Rețineți că stabilirea acestei valori va suprascrie orice valoare configurată găsită în „/etc/auditd/auditd.conf”.

-e, --exit cod-ieșire_sau_errno
    Caută un eveniment pe baza apelului de sistem dat cod de ieșire sau errno.

--escape opțiune
    Această opțiune determină dacă ieșirea este eludapată pentru a face conținutul mai sigur pentru anumite utilizări. Opțiunile sunt raw , tty , shell și shell_quote. Fiecare mod include caracterele modului precedent și eludează mai multe caractere. Adică shell include toate caracterele eludate de tty și adaugă altele. tty este opțiunea implicită.

--extra-keys
    Când modul format este csv, această opțiune va adăuga o coloană finală cu informații cheie, dacă acestea există pentru eveniment. Acest lucru se va întâmpla numai în cazul înregistrărilor SYSCALL care au fost rezultatul declanșării unei reguli de audit care definește o cheie.

--extra-labels
    Când modul format este csv, această opțiune va adăuga coloane cu informații despre etichetele subiectului și obiectului, dacă acestea există.

--extra-obj2
    Când modul format este csv, această opțiune va adăuga coloane cu informații despre un al doilea obiect, dacă acesta există. Este rar ca un al doilea obiect să facă parte dintr-un înregistrare. Câteva exemple sunt atunci când un fișier este redenumit sau când un dispozitiv este montat pe o rută.

--extra-time
    Când modul format este csv, această opțiune va adăuga coloane cu informații despre timpul defalcat pentru a facilita crearea de subseturi.

-f, --file nume-fișier
    Caută un eveniment pe baza fișierului nume-fișier dat. Argumentul va corespunde atât fișierelor normale, cât și soclurilor af_unix.

--format opțiune
    Evenimentele care corespund criteriilor de căutare sunt formatate utilizând această opțiune. Formatele acceptate sunt: raw, default, interpret, csv și text. Opțiunea raw este descrisă în secțiunea dedicată opțiunii liniei de comandă --raw. Opțiunea default este cea pe care o obțineți atunci când nu sunt transmise opțiuni de formatare. Aceasta include o linie ca separator vizual care indică marca temporală, urmată de înregistrările evenimentului. Opțiunea interpret este explicată în secțiunea dedicată opțiunii liniei de comandă -i. Opțiunea csv afișează rezultatele căutării ca un eveniment normalizat în format CSV (comma separated value - valori separate prin virgule), potrivit pentru importul în programe analitice. Opțiunea text transformă evenimentul într-o propoziție în limba engleză, mai ușor de înțeles decât alte opțiuni, dar cu prețul pierderii detaliilor. În majoritatea cazurilor, acest lucru este perfect acceptabil, deoarece evenimentul original păstrează toate informațiile originale.

-ga, --gid-all id-grup
    Caută un eveniment cu ID-ul grupului efectiv sau cu ID-ul grupului care corespunde cu ID-ul grupului dat.

-ge, --gid-effective id-grup-efectiv
    Căutați un eveniment cu ID-ul id-grup-efectiv sau numele grupului dat.

-gi, --gid id-grup
    Caută un eveniment cu ID-ul de grup sau numele de grup dat.

-h, --help
    Ajutor

-hn, --host nume-gazdă
    Caută un eveniment cu numele de gazdă nume gazdă dat. Numele gazdei poate fi fie un nume de gazdă, un nume de domeniu complet calificat sau o adresă de rețea numerică. Nu se încearcă rezolvarea adreselor numerice în nume de domeniu sau alias. Această căutare corelează de obicei cu câmpul «addr» (adresa) sau «host» (gazda) al evenimentelor de audit. A se vedea și comanda „--node”, care caută în câmpul «node» (nod).

-i, --interpret
    Interpretează entitățile numerice în text. De exemplu, uid este convertit în numele contului. Dacă jurnalele de audit nu sunt îmbogățite, conversia se face utilizând resursele curente ale mașinii pe care se execută căutarea. Dacă ați redenumit conturile sau nu aveți aceleași conturi pe mașina dvs., puteți obține rezultate înșelătoare. Dacă jurnalele sunt îmbogățite, se utilizează datele suplimentare pentru a efectua conversia. Acest lucru permite raportarea precisă a jurnalelor, chiar și atunci când se execută pe o mașină diferită de cea de unde provin jurnalele originale.

-if, --input nume-fișier | director
    Utilizează fișierul sau directorul specificat în locul jurnalelor. Acest lucru facilitează analiza în cazul în care jurnalele au fost mutate pe un alt calculator sau doar o parte din jurnal a fost salvată. Lungimea rutei este limitată la 4064 octeți.

--input-logs
    Utilizează locația fișierului jurnal din auditd.conf ca intrare pentru căutare. Acest lucru este necesar dacă utilizați ausearch dintr-o sarcină cron.

--just-one
    Oprește după emiterea primului eveniment care corespunde criteriilor de căutare.

-k, --key șir-cheie
    Caută un eveniment pe baza șirului șir-cheie dat.

-l, --line-buffered
    Golește ieșirea pe fiecare linie. Foarte util atunci când ieșirea standard este conectată la o conductă și strategia implicită de stocare în bloc în memoria tampon nu este de dorit. Poate afecta performanța.

-m, --message tip-mesaj | listă-tip-mesaj-separate-prin-virgule
    Caută un eveniment care corespunde tipului de mesaj tip-mesaj; (tipurile de mesaje sunt cunoscute și sub denumirea de tipuri de înregistrări). De asemenea, puteți introduce o listă de tipuri de mesaje separate prin virgule sau mai multe tipuri de mesaje individuale, fiecare cu propria opțiune -m. Există un tip de mesaj ALL care nu există în jurnalele reale. Acesta vă permite să obțineți toate mesajele din sistem. Lista tipurilor de mesaje valide este lungă. Programul va afișa lista ori de câte ori nu se transmite niciun tip de mesaj cu acest parametru. Tipul de mesaj poate fi text sau numeric. Dacă introduceți o listă, aceasta poate conține numai virgule și fără spații între elemente.

-n, --node
    Caută evenimente provenite de la o anumită mașină. Sunt permise mai multe noduri, iar dacă vreunul dintre noduri se potrivește, evenimentul este identificat. Această căutare utilizează câmpul nod din evenimentele de audit. A se vedea și comanda „--host”, care caută evenimente legate de informațiile despre gazdă în traseul de audit.

-o, --object șir-context_SE-Linux
    Caută evenimentul cu șir-context_SE-Linux (obiect) care corespunde șirului.

-p, --pid id-proces
    Caută un eveniment care corespunde ID-ului de proces id-proces dat.

-pp, --ppid id-proces-părinte
    Caută un eveniment care corespunde ID-ului procesului părinte id-proces-părinte dat.

-r, --raw
    Ieșirea este complet neformatată. Acest lucru este util pentru extragerea înregistrărilor într-un fișier care poate fi interpretat în continuare de instrumentele de audit sau atunci când se transferă către alte instrumente de audit.

-sc, --syscall nume_sau_valoare-syscall
    Caută un eveniment care corespunde cu syscall dat. Puteți introduce fie valoarea numerică syscall, fie numele syscall. Dacă introduceți numele syscall, se va utiliza tabelul syscall pentru mașina pe care o utilizați.

-se, --context șir-context_SE-Linux
    Caută evenimente cu șir-context_SE-Linux/subiect sau șir-context_SE-Linux/obiect care corespund șirului dat.

--session ID-sesiune-conectare
    Caută evenimente care corespund ID-ului sesiunii de conectare dat. Acest atribut al procesului este stabilit când un utilizator se conectează și poate lega orice proces de o anumită conectare a utilizatorului.

-su, --subject șir-context_SE-Linux
    Caută evenimentul cu șir-context_SE-Linux (subiect) care corespunde șirului.

-sv, --success valoare-succes
    Caută un eveniment care corespunde valorii valoare-succes date. Valorile admise sunt yes și no.

-te, --end [data-sfârșit] [ora-sfârșit]
    Caută evenimente cu marcaje temporale egale sau anterioare orei de încheiere specificate. Formatul orei de încheiere depinde de configurația regională. Puteți verifica formatul configurației regionale executând date '+%x'). Dacă data este omisă, se presupune today. Dacă ora este omisă, se presupune now. Utilizați ora în format de 24 de ore în loc de AM sau PM pentru a specifica ora. Un exemplu de dată utilizând configurația regională en_US.utf8 este 09/03/2009. Un exemplu de oră este 18:00:00. Formatul de dată acceptat este influențat de variabila de mediu LC_TIME.

    De asemenea, puteți utiliza cuvintele: now (acum), recent (recent), this-hour (această oră), boot (pornire), today (astăzi), yesterday (ieri), this-week (săptămâna aceasta), week-ago (săptămâna trecută), this-month (luna aceasta), this-year (anul acesta). Now înseamnă începând de acum. Recent înseamnă acum 10 minute. Boot înseamnă ora exactă, la secundă, la care sistemul a fost pornit ultima dată. Today înseamnă acum. Yesterday înseamnă 1 secundă după miezul nopții din ziua precedentă. This-week înseamnă începând cu 1 secundă după miezul nopții din ziua 0 a săptămânii determinate de configurația regională (vedeți localtime). Week-ago înseamnă 1 secundă după miezul nopții exact acum 7 zile. This-month înseamnă 1 secundă după miezul nopții în ziua 1 a lunii. This-year înseamnă 1 secundă după miezul nopții în prima zi a primei luni.

-ts, --start [data-început] [ora-început]
    Caută evenimente cu marcaje temporale egale sau ulterioare datei de începere specificate. Formatul datei de începere depinde de configurația regională. Puteți verifica formatul configurației regionale executând date '+%x'). Dacă data este omisă, se presupune today (astăzi). Dacă ora este omisă, se presupune midnight (miezul nopții). Utilizați ora în format de 24 de ore în loc de AM sau PM pentru a specifica ora. Un exemplu de dată utilizând configurația regională en_US.utf8 este 09/03/2009. Un exemplu de oră este 18:00:00. Formatul de dată acceptat este influențat de variabila de mediu LC_TIME.

    De asemenea, puteți utiliza cuvintele: now (acum), recent (recent), this-hour (această oră), boot (pornire), today (astăzi), yesterday (ieri), this-week (săptămâna aceasta), week-ago (săptămâna trecută), this-month (luna aceasta), this-year (anul acesta). Now înseamnă începând de acum. Recent înseamnă acum 10 minute. Boot înseamnă ora exactă, la secundă, la care sistemul a fost pornit ultima dată. Today înseamnă acum. Yesterday înseamnă 1 secundă după miezul nopții din ziua precedentă. This-week înseamnă începând cu 1 secundă după miezul nopții din ziua 0 a săptămânii determinate de configurația regională (vedeți localtime). Week-ago înseamnă 1 secundă după miezul nopții exact acum 7 zile. This-month înseamnă 1 secundă după miezul nopții în ziua 1 a lunii. This-year înseamnă 1 secundă după miezul nopții în prima zi a primei luni.

    checkpoint înseamnă că ausearch va utiliza marca temporală găsită într-un fișier de puncte de verificare valid, ignorând nodul-i, dispozitivul, seria, nodul și tipul de eveniment înregistrate, care se găsesc, de asemenea, într-un fișierde puncte de verificare (checkpoint). În esență, aceasta este acțiunea de recuperare în cazul în care o invocare a ausearch cu o opțiune „checkpoint” (de punct de verificare) eșuează cu o stare de ieșire de 10, 11 sau 12. Ar putea fi utilizată într-un script shell, de exemplu:

    ausearch --checkpoint /etc/audit/auditd_checkpoint.txt -i
    _au_status=$?
    if test ${_au_status} eq 10 -o ${_au_status} eq 11 -o ${_au_status} eq 12
    then
      ausearch --checkpoint /etc/audit/auditd_checkpoint.txt --start checkpoint -i
    fi

-tm, --terminal terminal
    Caută un eveniment care corespunde valorii terminal date. Unii demoni, precum cron și atd, utilizează numele demonului pentru terminal.

-ua, --uid-all id-utilizator
    Caută un eveniment cu ID-ul utilizatorului, ID-ul utilizatorului efectiv sau ID-ul utilizatorului de conectare (auid) care corespunde cu ID-ul utilizatorului dat.

-ue, --uid-effective id-utilizator-efectiv
    Caută un eveniment cu ID-ul de utilizator efectiv id-utilizator-efectiv dat.

-ui, --uid id-utilizator
    Caută un eveniment cu ID-ul de utilizator id-utilizator dat.

-ul, --loginuid id-autentificare
    Caută un eveniment cu ID-ul de utilizator id-autentificare dat. Toate programele de intrare care sunt „PAMificate” trebuie configurate cu pam_loginuid necesar pentru sesiune, pentru ca căutarea pe loginuid (auid) să fie precisă.

-uu, --uuid uuid-invitat
    Caută un eveniment cu UUID-ul invitatului dat.

-v, --version
    Afișează versiunea și iese

-vm, --vm-name nume-invitat
    Caută un eveniment cu numele de invitat nume-invitat dat.

-w, --word
    Potrivirile bazate pe șiruri trebuie să corespundă întregului cuvânt. Această categorie de potriviri include: nume de fișier, nume de gazdă, terminal, chei și context SE Linux.

-x, --executable executabil
    Caută un eveniment care corespunde numelui executabilui dat.

STARE DE IEȘIRE

0   dacă totul este OK,

1   dacă nu se găsește nimic, sau erori de argument sau erori minore de acces/citire a fișierelor,

10  date de control nevalide găsite în fișierul punctelor de verificări,

11  eroare la procesarea punctului de verificare,

12  evenimentul punctului de verificare nu a fost găsit în fișierul jurnal corespunzător

NOTĂ
Opțiunea de timp de pornire este o funcție convenabilă și are limitări. Timpul calculat se bazează pe ora actuală minus /proc/uptime. Dacă după pornire ceasul sistemului a fost ajustat, poate prin ntp, atunci calculul poate fi greșit. În acest caz, va trebui să specificați ora complet. Puteți verifica data+ora care trebuie utilizată rulând:

date -d "`cut -f1 -d. /proc/uptime` seconds ago"

EXEMPLE
Caută un utilizator specific:
# ausearch --start today --loginuid john -i

Verifică jurnalul SELinux pentru a vedea dacă au existat refuzuri astăzi.
# ausearch --start today -m avc -i

Afișează orice jurnal SELinux recent
# ausearch -m avc,user_avc,selinux_err,user_selinux_err -i -ts recent

Jurnale de ieșire în format text
# ausearch --start today --format text

Evenimente TTY de ieșire interpretate și eludate shelln
# ausearch --start today -m TTY -i --escape shell_quote

CONSULTAȚI ȘI
auditd(8), auditd.conf(5), aureport(8), pam_loginuid(8).

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.