Come controllare Linux con lo strumento Auditd e Ausearch

In qualità di amministratori di sistema, personale di supporto del gruppo o semplicemente come misura per mantenere i migliori livelli di controllo sia del server che dei computer client dell'organizzazione, verifica costantemente il sistema operativo per essere un passo avanti rispetto ai guasti che possono verificarsi e preservare così l'integrità e la disponibilità del sistema, nonché i suoi ruoli, servizi ed elementi in esso memorizzati.

Che cos'è un audit LinuxQuando parliamo di un sistema di auditing in un ambiente Linux, stiamo parlando di un meccanismo che fornisce un modo per tenere traccia delle informazioni rilevanti per la sicurezza in detto sistema operativo.

Un audit è composto da un esame delle varie parti che compongono quel sistema nello specifico, con una valutazione critica, e test se necessario, nelle diverse aree di interesse.

Sulla base di questo concetto, oggi Solvetic analizzerà due dei migliori strumenti per il processo di auditing in Linux: auditd e ausearch.

È importante chiarire che l'audit non fornisce sicurezza aggiuntiva al sistema operativo ma può essere utilizzato per scoprire violazioni delle politiche di sicurezza utilizzate nel sistema e quindi avere una conoscenza adeguata di queste.

AuditdAuditd è il sistema di auditing di Linux che si basa su regole preconfigurate per generare voci di registro e quindi memorizzare quante più informazioni possibili sugli eventi che stanno accadendo nel sistema.

Queste informazioni raccolte sono cruciali per gli ambienti mission-critical al fine di determinare il trasgressore della politica di sicurezza e le azioni intraprese e quindi consentire a tutte le azioni di sicurezza e alle nuove politiche create nell'organizzazione di concentrarsi sul miglioramento dell'intero ambiente operativo.

Auditd è in grado di registrare i seguenti file di registro

  • Data, ora, tipo e risultato di un evento.
  • Etichette di riservatezza di soggetto e oggetto.
  • Associazione di un evento con l'identità dell'utente che ha eseguito l'evento.
  • Distribuire tutte le modifiche alla configurazione di audit e tentare di accedere ai file di registro di audit.
  • Memorizza tutti gli usi dei meccanismi di autenticazione, come SSH, Kerberos e altri.
  • È possibile passare a qualsiasi database attendibile, come / etc / passwd.
  • Registra qualsiasi tentativo di importare o esportare informazioni da o verso il sistema.
  • Include o esclude gli eventi in base all'identità dell'utente, ai tag oggetto e oggetto e ad altri attributi.

RequisitiAllo stesso modo, l'utilizzo del sistema di auditing è anche un requisito necessario per una serie di certificazioni relative alla sicurezza se a un certo punto è richiesto. L'audit è progettato per soddisfare o superare i requisiti delle seguenti linee guida o certificazioni di conformità a livello mondiale:

  • Profilo di protezione dell'accesso controllato (CAPP)
  • Profilo di protezione della sicurezza etichettato (LSPP)
  • Controllo dell'accesso di base del set di regole (RSBAC)
  • Manuale operativo del programma nazionale di sicurezza industriale (NISPOM)
  • Legge federale sulla gestione della sicurezza delle informazioni (FISMA)
  • Industria delle carte di pagamento - Standard di sicurezza dei dati (PCI-DSS)
  • Guide all'implementazione tecnica della sicurezza (STIG)

Benefici addizionaliAlcuni dei vantaggi aggiuntivi dell'utilizzo del sistema di controllo Linux sono i seguenti:

  • Non richiede programmi o processi esterni per essere eseguito su un sistema che lo rende autosufficiente.
  • È altamente configurabile, motivo per cui ci consente di vedere qualsiasi operazione del sistema che desideriamo.
  • Aiuta a rilevare o analizzare potenziali compromessi, a livello di sicurezza, di un sistema.
  • È in grado di funzionare come un sistema di rilevamento indipendente.
  • Può funzionare con i sistemi di rilevamento delle intrusioni per abilitare il rilevamento delle intrusioni.
  • È uno strumento fondamentale per l'audit delle indagini forensi.

Sebbene alcuni termini possano sembrare strani, se ci impegniamo per la sicurezza, questa è senza dubbio una delle migliori opzioni.

1. Componenti del sistema di audit di Linux auditd


Il sistema di audit ha due componenti fondamentali che sono:
  • Applicazioni utente e utilità o strumenti
  • Elaborazione delle chiamate di sistema a livello di kernel, che accetta le chiamate di sistema dalle applicazioni dello spazio utente e le passa attraverso tre tipi di filtri: utente, attività, uscita o esclusione.
La parte più importante è il demone di audit utente (auditd) che raccoglie le informazioni in base a regole preconfigurate, dal kernel e genera voci in un file di log: il log di default è:
 /var/log/audit/audit.log
Inoltre, audispd è un multiplexer di eventi che interagisce con auditd e invia eventi ad altri programmi che desiderano eseguire l'elaborazione degli eventi in tempo reale.

Esistono diversi strumenti dello spazio utente per gestire e recuperare informazioni dal sistema di audit che sono:

AuditctlÈ un'utilità per controllare il sistema di audit del kernel.
ricercaÈ un'utilità per cercare i file di registro di controllo per eventi specifici.
AureportÈ un'utilità per creare report di eventi registrati.

Per questa analisi utilizzeremo CentOS 7

2. Installa e configura auditd su CentOS 7


Il primo passaggio consiste nell'assicurarsi che lo strumento di controllo sia installato sul sistema utilizzando il comando rpm e l'utilità grep in questo modo:
 rpm -qa | controllo grep
Il risultato sarà:

Nel caso in cui non disponiamo dei pacchetti di audit, dobbiamo eseguire il seguente comando come utenti root:

 yum install audit
Una volta installato, dobbiamo configurare se auditd è abilitato, per questo eseguiremo uno dei seguenti comandi nel loro ordine:

Su CentOS o RHEL 7

 systemctl è abilitato auditdsystemctl status auditdsystemctl start auditd (avvia il servizio) systemctl enable auditd (abilita il servizio)

Su CentOS o RHEL 6

 service auditd statusservice auditd start (avvia il servizio) chkconfig auditd on (abilita il servizio)

Possiamo vedere che il suo stato è attivo.

3. Configurazione controllata


Per configurare auditd dobbiamo utilizzare il file di configurazione principale /etc/audit/auditd.conf poiché lì sarà possibile controllare come funziona il servizio come definire la posizione del file di registro, il numero massimo di file di registro, il formato del record , come gestire i dischi pieni, la rotazione dei record e altre opzioni.
Per questo useremo l'editor preferito:
 nano /etc/audit/auditd.conf
Lì vedremo quanto segue:

Possiamo vedere che ogni riga ci permette di indicare un'azione specifica e possiamo cambiarla se necessario.

4. Regole di controllo in Linux


Come notato sopra, auditd fa uso di regole per raccogliere informazioni specifiche dal kernel. Queste regole sono fondamentalmente opzioni auditctl che possono essere preconfigurate nel file /etc/audit/rules.d/audit.rules.

Ci sono tre tipi di regole di audit che possono essere definite che sono:

Regole di controlloQuesti consentono di modificare il comportamento del sistema di auditing e alcune sue impostazioni.
Regole del file systemQueste regole consentono il controllo dell'accesso a un file o a una directory specifici.
Regole per le chiamate di sistemaQuesti consentono la registrazione delle chiamate di sistema effettuate da qualsiasi programma.

Per accedere a queste regole andremo al seguente percorso utilizzando l'editor desiderato:

 nano /etc/audit/rules.d/audit.rules
Vedremo quanto segue:

In questo file, nella prima sezione, dobbiamo aggiungere le regole di controllo. Successivamente, aggiungi le regole di audit nella sezione centrale e infine l'ultima sezione contiene parametri di immutabilità che sono anche regole di controllo.

Alcuni esempi di queste regole sono:

Rimuovi tutte le regole precedenti

 -D

Definisci la dimensione del buffer

 -b 3074

Il fallimento genera un'opzione di panico

 -f 4

Crea un massimo di 120 messaggi di audit al secondo

 -r 120

Un esempio di regola è il seguente:

Lì abbiamo quanto segue:

Utilizzato per specificare un file o una directory da guardare.

 -w

permessiSono i permessi da registrare, r - per l'accesso in lettura, w - per l'accesso in scrittura, x - per l'accesso in esecuzione e - per la modifica dell'attributo del file o del direttore.

 -P

Identificare un insieme di regoleConsente di impostare una catena facoltativa per identificare quale regola (o un insieme di regole) ha creato una voce di registro specifica.

 -K

Una volta definite le regole, usiamo la combinazione di tasti Ctrl + O per salvare il file e Ctrl + X per uscirne. Aggiungeremo queste regole, prendendo quelle dell'esempio eseguendo le seguenti righe come root:

 auditctl -w / etc / passwd -p wa -k passwd_changesauditctl -w / etc / group -p wa -k group_changesauditctl -w / etc / sudoers -p wa -k sudoers_changes
Per vedere le regole attuali eseguiremo quanto segue:
 sudo auditctl -l

In questo modo auditd diventa un prezioso strumento di audit in CentOS 7.

5. Ausearch Linux


L'utility ausearch è stata progettata per consentire la ricerca di file di registro di controllo per eventi specifici in base a eventi e diversi criteri di ricerca come identificatore di evento, identificatore di chiave, architettura della CPU, nome di comando, nome host, nome di gruppo o ID di gruppo.

Per impostazione predefinita, ausearch cerca nel file /var/log/audit/audit.log. È possibile specificare un file diverso utilizzando il comando ausearch options -if filename. Fornire più opzioni in un comando ausearch equivale a utilizzare l'operatore AND.

Per utilizzare il valore predefinito e vedere i log correnti eseguiremo uno dei seguenti comandi:

 cat /var/log/audit/audit.logcat /var/log/audit/audit.log | meno

Come possiamo vedere, i dati qui rappresentati possono creare confusione, motivo per cui ausearch utilizza la sintassi ausearch (opzione) per filtrare questi risultati e ottenere una visione molto più facile da gestire.

Abbiamo opzioni come:

Controlla l'esecuzione dei log di processoLì possiamo usare il parametro -p più il PID per ottenere un risultato specifico:

 ausearch -p 579

Controllo del file di registro di controllo per i tentativi di accessoIn questo caso è necessario utilizzare il parametro -m per identificare messaggi specifici e -sv per definire i risultati positivi.

 ausearch -m USER_LOGIN -sv no

Trova l'attività dell'utente nel file di registro AuditdPer questo risultato utilizzeremo il parametro -ua più il nome utente:

 ausearch -ua Solvetic

Trova modifiche a utenti, gruppi e ruoliCon questa opzione sarà possibile rivedere tutte le modifiche di sistema utilizzate con account utente, gruppi e ruoli; Possiamo specificare diversi tipi di messaggi separati da virgole come segue:

 ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -i
Vedremo quanto segue:

Vedi l'aiuto di ausearchPer vedere le diverse opzioni di questa utility eseguiremo quanto segue:

 uomo ricercatore

Quindi possiamo vedere le varie opzioni durante lo svolgimento di un audit completo ed efficace in CentOS o RedHat.

wave wave wave wave wave