Come utilizzare il sistema di audit in CentOS 7

Quando i nostri ruoli e le nostre funzioni comportano la gestione di tutti gli elementi dell'infrastruttura aziendale, sia a livello di rete che di sistema, dobbiamo disporre di strumenti utili per monitorare, tracciare gli eventi e garantire il rendimento ottimale di tutte le sue componenti.

Oggi esamineremo come implementare e utilizzare il sistema di auditing di Linux, uno strumento per molti sconosciuto. Sappiamo che esistono utilità di terze parti che ci consentono di gestire diversi parametri all'interno del sistema, ma questa utilità va oltre ciò di cui abbiamo bisogno e esamineremo perché.

Per questo tutorial analizzeremo l'utilità su un ambiente CentOS 7.

1. Conoscere il sistema di audit di Linux


Con il sistema di audit possiamo essere aggiornati sulle informazioni di sicurezza essenziali nel nostro sistema.

Il sistema di audit ci fornisce report su tutti gli eventi che si verificano nel sistema in base a regole predefinite; È importante chiarire che con il sistema di audit non aggiungiamo sicurezza a CentOS 7 ma ci permette di analizzare quali difetti ha il sistema per intraprendere azioni correttive su di esso.

Informazioni in grado di analizzare

  • Modifiche al database, ad esempio modifiche al percorso / etc / passwd.
  • Il sistema di audit fornisce data, ora e tipo di evento.
  • Tenta di importare o esportare informazioni all'interno del sistema.
  • Meccanismi di autenticazione dell'utente.
  • Tutte le modifiche per controllare le modifiche e i tentativi di accedere ai registri di controllo, tra gli altri.

2. Verificare l'installazione del sistema di audit


All'interno del sistema di audit abbiamo due importanti schemi da tenere in considerazione:

1. Il nucleo del sistema di audit prende tutti gli eventi elaborati dall'utente e invia queste informazioni al demone di audit.

2. Il demone di controllo prende queste informazioni e crea i record.

Il sistema di audit gestisce due pacchetti: audit audit-libsQuesti sono installati per impostazione predefinita in CentOS 7, possiamo verificarne l'installazione utilizzando il seguente comando:

 sudo yum list audit audit-libs

Nel caso in cui non li abbiamo, possiamo installare il sistema di auditing utilizzando il seguente comando:

 sudo yum install audit
Una volta installati dobbiamo vedere il seguente testo:
 Pacchetti installati audit.x86_64 audit-libs.x86_64
Passiamo alla configurazione del sistema.

3. Configura il sistema di controllo in CentOS 7


Dopo aver verificato che abbiamo i pacchetti richiesti, modificheremo la configurazione del file auditd.conf ed è in questo file che abbiamo la possibilità di configurare i registri, gli eventi e altro. Per accedere a questo file utilizzeremo il seguente comando:
 sudo nano /etc/audit/auditd.conf
Verrà visualizzata la seguente finestra:

Parametri più importanti

  • num_logs: Permette di definire il numero di log da registrare nell'apparecchiatura.
  • max_log_file: Usando questo parametro possiamo definire la dimensione massima di un log.
  • space_left: Possiamo impostare la quantità di spazio libero su disco.
  • disk_full_action: Possiamo definire una certa azione per quando il disco è pieno.

Come possiamo vedere possiamo regolare vari parametri. Ad esempio, se vogliamo che il numero di log sia 12, cancelliamo semplicemente il valore predefinito (5) e aggiungiamo quello desiderato (12). Se vogliamo cambiare la dimensione dei log a 20, cambiamo semplicemente il valore predefinito (6) con quello richiesto (20).

Salviamo le modifiche utilizzando la combinazione Ctrl + O e usciamo dall'editor usando la combinazione Ctrl + X. Una volta elaborate le modifiche, dobbiamo riavviare il servizio di audit utilizzando il comando:

 sudo service auditd restart
NotaSe vogliamo modificare i parametri delle regole, dobbiamo modificare il file audit.rules utilizzando il seguente comando:
 /etc/audit/rules.d/audit.rules

4. Comprendere i registri di controllo del sistema in CentOS 7


Per impostazione predefinita, il sistema di controllo memorizza tutti gli eventi che si sono verificati in CentOS nel percorso /var/log/audit/audit.log e questi file contengono molte informazioni e codice che potrebbero non essere così facili da capire per molti di noi, ma Solvetic si occupa di riassumere un po' questi file.

Per dimostrare come funziona il sistema di auditing abbiamo creato una regola chiamata sshconfigchange e può essere creata utilizzando il seguente comando:

 sudo auditctl -w / etc / ssh / sshd_config -p rwxa -k sshconfigchange
Per vedere la regola usiamo la seguente sintassi:
 sudo cat / etc / ssh / sshd_config

Ora vedremo il registro creato dallo strumento di controllo del sistema inserendo quanto segue:

 sudo nano /var/log/audit/audit.log

Faremo affidamento su tre (3) documenti anagrafici:

  • SYSCALL
  • CWD
  • IL PERCORSO

Questi file sono composti come segue:

  • Parola chiave: si riferisce al nome del processo (PATH, CWD, ecc.)
  • Timestamp: Si riferisce alla data e all'ora (1469708505.235)
  • andare: è costituito dall'ID dell'evento in questione (153)

Evento SYSCALL
SYSCALL si riferisce al messaggio generato da una chiamata del kernel dal sistema di auditing, campo msg = audit (1469708505.235:153):

Nel timestamp e campo ID vediamo che questi tre record hanno lo stesso valore (1469708505.235: 153) che indica che questi tre record sono stati archiviati con lo stesso evento di controllo.

Il campo ad arco si riferisce all'architettura della macchina, in questo caso 40000003 indica che è i386, se fosse il valore c000003e farebbe riferimento a una macchina x86_64.

Il Campo Syscall indica il tipo di chiamata che è stata inviata al sistema. Il valore può variare, in questo caso è 5. Possiamo usare il comando sudo ausyscall 5 per vedere lo stato del servizio (Open).

Ci sono più di 300 valori, se vogliamo vedere cosa significano i valori in generale possiamo usare il comando:

 sudo ausyscall -dump
E vedremo tutti i valori e il loro significato:

Il Campo di successo Ci dice se la chiamata all'evento ha avuto successo o meno, sì o no. Possiamo individuare l'evento SYSCALL e scorrere a sinistra per vedere altri rapporti inclusi.

Il campo uid si riferisce all'utente che ha avviato il servizio di audit, in questo caso è uid = 0.

Il campo di comunicazione si riferisce al comando che è stato utilizzato per visualizzare il messaggio, quindi vediamo che appare come comm = "cat".

Il campo exe Indica il percorso del comando che ha generato l'evento di audit, possiamo vedere in questo esempio che è exe = "/usr/bin/cat".

Evento CWD
Nell'evento CWD possiamo notare che non ci sono le stesse informazioni di SYSCALL, qui abbiamo la directory usata per salvare gli eventi, CWD- Current Working Directory, quindi vediamo il valore cwd = ”/home/solvetic”.

Evento PATH
Nell'ultimo evento, PATH, vediamo che il campo nome che fa riferimento al file o alla directory che è stato utilizzato per creare l'audit, in questo caso vediamo quanto segue: name = "/etc/ssh/sshd_config".

5. Cerca eventi di controllo per eventi specifici


Uno dei modi più interessanti in cui possiamo cercare un evento in CentOS 7 è utilizzare la sintassi:
 sudo ausearch -m Event_name --start today -i
Questo comando ci consente di filtrare un determinato evento e di non dover cercare l'intero file di eventi poiché è esteso. In questo caso, cercheremo tutti gli eventi associati al login, quindi inseriremo quanto segue:
 sudo ausearch -m LOGIN --inizia oggi -i
Il risultato ottenuto sarà il seguente:

È anche possibile filtrare la ricerca per ID evento per questo utilizzeremo la seguente sintassi:

 sudo ausearch -a Event_ID
Successivamente vedremo come generare report.

6. Genera rapporti di audit


Uno dei modi in cui possiamo gestire meglio gli eventi è con un report dettagliato su ciò che accade in CentOS 7 e con il sistema di audit possiamo generare report semplici e chiari da capire per aiutarci nella nostra gestione. Per questo useremo il comando:
 sudo aureport -x -summary
E vedremo il risultato ottenuto:

La prima colonna che vediamo indica il numero di volte che il comando è stato eseguito e la seconda colonna indica quale comando è stato eseguito. Allo stesso modo possiamo generare un report con gli eventi falliti utilizzando il comando:

 sudo aureport --failed

Se vogliamo generare un report con i nomi utente e le chiamate di sistema utilizzeremo il comando:

 sudo aureport -f -i

7. Come analizzare i processi individualmente


È possibile che a volte dobbiamo analizzare i processi individualmente e non un'intera directory, per questo useremo autrace, questo strumento ci consente di monitorare le chiamate di sistema a un particolare processo. I risultati di autrace sono memorizzati nel percorso:
 /var/log/audit/audit.log
Ad esempio analizzeremo il percorso/bin/data, per questo useremo quanto segue:
 sudo autrace / bin / date

Vediamo che è stato creato l'evento con ID 16541. Ora procediamo ad inserire il seguente comando per vedere il riepilogo dell'evento:

 udo ausearch -p 16541 --raw | aureport -f -i

In questo modo possiamo analizzare i file singolarmente. Nel seguente link possiamo vedere tutti i tipi di record che possono essere controllati dal sistema di audit in CentOS 7.

In questo modo vediamo come il sistema di audit in CentOS 7 può aiutarci a gestire e supervisionare gli eventi che si verificano nei nostri computer e quindi assicurarci di avere un sistema sicuro, stabile e ottimale.

Infine, vi lasciamo un tutorial sullo strumento gratuito WinAudit, per eseguire audit in Windows:

Audit con WinAudit

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave