Ricerca nel sito web

Come controllare il processo Linux utilizzando "autrace" su CentOS/RHEL


Questo articolo è la nostra serie in corso sull'auditing di Linux, nei nostri ultimi tre articoli abbiamo spiegato come controllare i sistemi Linux (CentOS e RHEL), interrogare i registri di audit utilizzando ausearch e generare rapporti utilizzando l'utilità aureport.

In questo articolo spiegheremo come controllare un determinato processo utilizzando l'utilità autrace, dove analizzeremo un processo tracciando le chiamate di sistema effettuate da un processo.

Leggi anche: Come tracciare l'esecuzione dei comandi nello script di shell con Shell Tracing

Cos'è l'autrace?

autrace è un'utilità della riga di comando che esegue un programma fino alla sua chiusura, proprio come strace; aggiunge le regole di controllo per tracciare un processo e salva le informazioni di controllo nel file /var/www/audit/audit.log. Affinché funzioni (ovvero prima di eseguire il programma selezionato), è necessario prima eliminare tutte le regole di controllo esistenti.

La sintassi per l'utilizzo di autrace è mostrata di seguito e accetta solo un'opzione, -r che limita le chiamate di sistema raccolte a quelle necessarie per valutare l'utilizzo delle risorse del processo:

autrace -r program program-args

Attenzione: Nella pagina man di autrace, la sintassi è la seguente, che in realtà è un errore di documentazione. Perché utilizzando questo modulo, il programma che esegui presuppone che tu stia utilizzando una delle sue opzioni interne, risultando così in un errore o eseguendo l'azione predefinita abilitata dall'opzione.

autrace program -r program-args

Se sono presenti regole di controllo, autrace mostra il seguente errore.

autrace /usr/bin/df

Per prima cosa elimina tutte le regole auditd con il seguente comando.

auditctl -D

Quindi procedi con l'esecuzione di autrace con il tuo programma di destinazione. In questo esempio, stiamo tracciando l'esecuzione del comando df, che mostra l'utilizzo del filesystem.

autrace /usr/bin/df -h

Dallo screenshot qui sopra, puoi trovare tutte le voci di registro relative alla traccia, dal file di registro di controllo utilizzando l'utilità ausearch come segue.

ausearch -i -p 2678

Dove l'opzione:

  • -i – abilita l'interpretazione dei valori numerici in testo.
  • -p – passa l'ID del processo da cercare.

Per generare un rapporto sui dettagli della traccia, puoi creare una riga di comando di ausearch e aureport come questa.

ausearch -p 2678 --raw | aureport -i -f

Dove :

  • --raw – dice ad ausearch di fornire input grezzi ad aureport.
  • -f – abilita la segnalazione di file e socket af_unix.
  • -i – consente di interpretare i valori numerici in testo.

E utilizzando il comando seguente, limitiamo le chiamate di sistema raccolte a quelle necessarie per analizzare l'utilizzo delle risorse del processo df.

autrace -r /usr/bin/df -h

Supponendo che tu abbia tracciato un programma nell'ultima settimana; il che significa che ci sono molte informazioni scaricate nei registri di controllo. Per produrre un report solo per i record odierni, utilizza il flag -ts ausearch per specificare la data/ora di inizio della ricerca:

ausearch -ts today -p 2678 --raw | aureport -i -f

Questo è tutto! in questo modo puoi tracciare e controllare specifici processi Linux utilizzando lo strumento autrace, per maggiori informazioni controlla le pagine man.

Puoi anche leggere queste utili guide correlate:

  1. Sysdig: un potente strumento di monitoraggio e risoluzione dei problemi del sistema per Linux
  2. BCC: strumenti di tracciamento dinamico per il monitoraggio delle prestazioni Linux, la rete e altro ancora
  3. 30 utili esempi di comandi "ps" per il monitoraggio dei processi Linux
  4. CPUTool: limita e controlla l'utilizzo della CPU di qualsiasi processo in Linux
  5. Trova i principali processi in esecuzione in base al maggiore utilizzo di memoria e CPU in Linux

È tutto per ora! Puoi porre domande o condividere pensieri su questo articolo tramite il commento in basso. Nel prossimo articolo descriveremo come configurare PAM (Pluggable Authentication Module) per il controllo dell'input TTY per utenti specifici CentOS/RHEL.