GNU/Linux >> Linux Esercitazione >  >> Linux

Come leggere il registro di controllo in Linux

In questo post vedremo come leggere i log di controllo e cosa significano ogni riga e campo.

Ad esempio, il file audit.log ha registrato 4 righe come segue:

type=SYSCALL msg=audit(1640033159.053:177988798): arch=c000003e syscall=2 success=no exit=-13 a0=7ffc736c18a0 a1=0 a2=1b6 a3=24 items=1 ppid=130071 pid=130082 auid=1001 uid=1001 gid=1002 euid=1001 suid=1001 fsuid=1001 egid=1002 sgid=1002 fsgid=1002 tty=(none) ses=318813 comm="pidstat" exe="/usr/bin/pidstat" key="access"
type=PROCTITLE msg=audit(1640033159.053:177988797): proctitle=70696473746174002D727564002D6800310033
type=CWD msg=audit(1640033159.053:177988798): cwd="/u01/app/oracle/oracle.ahf/data/repository/suptools/rac01/oswbb/oracle/oswbb"
type=PATH msg=audit(1640033159.053:177988798): item=0 name="/proc/674/io" inode=12022 dev=00:04 mode=0100400 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL

L'evento di cui sopra è costituito da quattro record, che condividono lo stesso timestamp e numero di serie ( 1640033159.053:177988797 ). I record iniziano sempre con il type= parola chiave. Ogni record è costituito da diverse coppie nome=valore separate da uno spazio bianco o da una virgola. Segue un'analisi dettagliata dell'evento di cui sopra:

Primo record

digitare=SYSCALL

Il campo tipo contiene il tipo del record. In questo esempio, il valore SYSCALL specifica che questo record è stato attivato da una chiamata di sistema al kernel. Per un elenco di tutti i possibili valori di tipo e le relative spiegazioni, vedere Tipi di record di controllo.

msg=audit(1640033159.053:177988798)

I record del campo msg:un timestamp e un ID univoco del record nel modulo audit(time_stamp:ID). Più record possono condividere lo stesso timestamp e ID se sono stati generati nell'ambito dello stesso evento di audit. Il timestamp utilizza il formato dell'ora Unix:secondi dalle 00:00:00 UTC del 1 gennaio 1970. varie coppie nome=valore specifiche dell'evento fornite dal kernel o dalle applicazioni dello spazio utente.

arch=c000003e

Il campo arch contiene informazioni sull'architettura della CPU del sistema. Il valore, c000003e, è codificato in notazione esadecimale. Durante la ricerca dei record di audit con il comando aussearch, utilizzare l'opzione -i o –interpret per convertire automaticamente i valori esadecimali nei loro equivalenti leggibili dall'uomo. Il valore c000003e viene interpretato come x86_64.

syscall=2

Il campo syscall registra il tipo di chiamata di sistema che è stata inviata al kernel. Il valore, 2, può essere confrontato con il suo equivalente leggibile nel file /usr/include/asm/unistd_64.h. In questo caso, 2 è la chiamata di sistema aperta. Si noti che l'utilità ausyscall consente di convertire i numeri di chiamata del sistema nei loro equivalenti leggibili dall'uomo. Utilizzare il comando ausyscall –dump per visualizzare un elenco di tutte le chiamate di sistema insieme ai relativi numeri. Per ulteriori informazioni, vedere la pagina man di ausyscall(8).

successo=no

Il campo di successo registra se la chiamata di sistema registrata in quel particolare evento è riuscita o meno. In questo caso, la chiamata non è andata a buon fine.

uscita=-13

Il campo di uscita contiene un valore che specifica il codice di uscita restituito dalla chiamata di sistema. Questo valore varia per le diverse chiamate di sistema. Puoi interpretare il valore nel suo equivalente leggibile con il seguente comando:

a0=7ffc736c18a0 a1=0 a2=1b6 a3=24

I campi da a0 a a3 registrano i primi quattro argomenti, codificati in notazione esadecimale, della chiamata di sistema in questo evento. Questi argomenti dipendono dalla chiamata di sistema utilizzata; possono essere interpretati dall'utility ausearch.

elementi=1

Il campo item contiene il numero di record ausiliari PATH che seguono il record syscall.

ppid=130071 pid=130082

Il campo ppid/pid registra l'ID processo padre e l'ID processo.

auid=1001 uid=1001 gid=1002 euid=1001 suid=1001 fsuid=1001 egid=1002 sgid=1002 fsgid=1002

Il campo auid registra l'ID utente di controllo, l'ID utente, l'ID gruppo, l'ID utente effettivo, l'ID utente impostato, l'ID utente filesystem, l'ID gruppo effettivo, l'ID gruppo impostato, l'ID gruppo filesystem.

tty=(nessuno) ses=318813

Il campo tty e la sessione registrano il terminale da cui è stato richiamato il processo analizzato.

comm="pidstat"

Il campo comm registra il nome della riga di comando del comando utilizzato per richiamare il processo analizzato. In questo caso, il comando cat è stato utilizzato per attivare questo evento Audit.

exe="/usr/bin/pidstat"

Il campo exe registra il percorso dell'eseguibile utilizzato per richiamare il processo analizzato.

chiave="accesso"

Il campo chiave registra la stringa definita dall'amministratore associata alla regola che ha generato questo evento nel registro di controllo.

Secondo record

digitare=PROCTITLE

Il campo tipo contiene il tipo del record. In questo esempio, il valore PROCTITLE specifica che questo record fornisce la riga di comando completa che ha attivato questo evento Audit, attivato da una chiamata di sistema al kernel.

proctitle=70696473746174002D727564002D6800310033

Il campo proctitle registra l'intera riga di comando del comando utilizzato per richiamare il processo analizzato. Il campo è codificato in notazione esadecimale per non consentire all'utente di influenzare il parser del log di controllo. Il testo viene decodificato nel comando che ha attivato questo evento di controllo. Durante la ricerca dei record Audit con il comando aussearch, utilizzare l'opzione -i o –interpret per convertire automaticamente i valori esadecimali nei loro equivalenti leggibili dall'uomo.

Terzo record

digita=CWD

Nel secondo record, il valore del campo tipo è CWD — directory di lavoro corrente. Questo tipo viene utilizzato per registrare la directory di lavoro da cui è stato eseguito il processo che ha richiamato la chiamata di sistema specificata nel primo record. Lo scopo di questo record è registrare la posizione del processo corrente nel caso in cui un percorso relativo finisca per essere catturato nel record PATH associato. In questo modo è possibile ricostruire il percorso assoluto.

msg=audit(1640033159.053:177988798)

Il campo msg contiene lo stesso timestamp e lo stesso valore ID del valore nel primo record. Il timestamp utilizza il formato dell'ora Unix:secondi dalle 00:00:00 UTC del 1 gennaio 1970.

cwd="/u01/app/oracle/oracle.ahf/data/repository/suptools/rac01/oswbb/oracle/oswbb"

Il campo cwd contiene il percorso della directory in cui è stata richiamata la chiamata di sistema.

Quarto record

digitare=PERCORSO

In questo record, il valore del campo tipo è PATH. Un evento Audit contiene un record di tipo PATH per ogni percorso passato alla chiamata di sistema come argomento.

msg=audit(1640033159.053:177988798)

Il campo msg contiene lo stesso timestamp e lo stesso valore ID del valore nel primo e nel secondo record.

elemento=0

Il campo dell'articolo indica quale articolo, del numero totale di articoli a cui si fa riferimento nel record di tipo SYSCALL, è il record corrente. Questo numero è in base zero; un valore di 0 significa che è il primo elemento.

nome="/proc/674/io"

Il campo del nome registra il percorso del file o della directory che è stato passato alla chiamata di sistema come argomento. In questo caso, era il file /proc/674/io.

inode=12022

Il campo inode contiene il numero di inode associato al file o alla directory registrata in questo evento. Il comando seguente visualizza il file o la directory associata al numero di inode 409248:

sviluppo=00:04

Il campo dev specifica l'ID minore e maggiore del dispositivo che contiene il file o la directory registrata in questo evento.

modalità=0100400

Il campo mode registra i permessi del file o della directory, codificati in notazione numerica restituita dal comando stat nel campo st_mode. Vedere la pagina man di stat(2) per ulteriori informazioni. In questo caso, 0100600 può essere interpretato come -r——–, il che significa che solo l'utente root ha i permessi di lettura per /proc/674/io.

ouid=0

Il campo ouid registra l'ID utente del proprietario dell'oggetto.

ogid=0

Il campo ogid registra l'ID del gruppo del proprietario dell'oggetto.

rdev=00:00

Il campo rdev contiene un identificatore di dispositivo registrato solo per file speciali. In questo caso, non viene utilizzato in quanto il file registrato è un file normale.

tiponome=NORMALE

Il campo objtype registra l'intento dell'operazione di ciascun record di percorso nel contesto di una determinata syscall.


Linux
  1. Come gestire i file di registro utilizzando Logrotate in Linux

  2. Come scrivere file di registro nella RAM usando Log2ram in Linux

  3. Come ruotare i file di registro Apache in Linux

  4. Come modificare il percorso del file di registro auditd /var/log/audit/audit.log

  5. Come controllare l'accesso ai file su Linux

Come visualizzare e leggere i file di registro di Linux

Come aggiungere manualmente messaggi ai file di registro del sistema Linux

Come modificare il file di registro di Sudo predefinito in Linux

Come visualizzare i file di registro Nginx su Linux

Come visualizzare i file di registro di Apache su Linux

Come disconnettere un utente da SSH in Linux