# Gestione dei log

La gestione dei log (in inglese, log management, LM) indica l'insieme di attività legate alla raccolta e all'analisi dei dati tracciati nei messaggi di log e rappresenta una registrazione completa degli eventi che accadono in qualunque contesto di sicurezza informatica.

## Descrizione generale

La gestione dei log è l'elemento chiave per tutte le aziende (costituite da tanti server, applicazioni e un'infinità di strumenti e programmi) per capire cosa è successo o cosa sta succedendo in tempo reale. Un attacco informatico va a colpire tanti punti della rete aziendale e gli attaccanti lasciano traccia dei propri movimenti.
La gestione dei log è quindi una raccolta di informazioni da vari sistemi chiave con aggregazione centralizzata in un log server. I dati di log vengono memorizzati, conservati a lungo termine e ruotati per successive analisi. Quest'ultime si possono realizzare effettuando delle correlazioni tra le varie informazioni, attraverso strumenti di aggregazione e reporting.
Lo scopo finale è quindi la sicurezza informatica, ma anche il supporto alle operazioni di sistema e di rete (come ad esempio quelle utili ad un sistemista o ad un amministratore di rete) e infine la conformità con le normative specifiche di governo.
Analizzare efficacemente grandi volumi di dati di log comporta una serie di implicazioni quali:
* Sincronizzazione: i diversi sistemi devono avere orologi perfettamente sincronizzati per poter correlare in maniera accurata le informazioni date dai log. È infatti fondamentale conoscere l'ordine temporale esatto degli eventi;
* Volumi dei dati: possono raggiungere centinaia di gigabyte al giorno per le grandi aziende;
* Normalizzazione: i log prodotti possono avere diversi formati. Il processo di normalizzazione è progettato per fornire un output comune per l'analisi da diverse fonti;
* Frequenza: la frequenza con cui i log vengono generati dai dispositivi può rendere difficile la raccolta e l'aggregazione;
* Veridicità: gli eventi registrati potrebbero non essere accurati. Ciò è particolarmente problematico nei sistemi che eseguono rilevamenti (come ad esempio il rilevamento delle intrusioni);
* Privacy: le procedure di logging tengono traccia dei movimenti degli attaccanti, ma anche dei dipendenti dell'azienda. Per cui è necessario stare attenti nel rispettare il nuovo Regolamento generale sulla protezione dei dati (GDPR).
Gli utenti e i potenziali utenti della gestione dei log possono acquistare strumenti commerciali completi o creare i propri strumenti di gestione e intelligence dei registri, assemblando le funzionalità da vari componenti open source o acquistando sistemi o sotto-sistemi da fornitori commerciali. La gestione dei log è un processo complicato e le organizzazioni spesso commettono errori nell'approcciarsi a queste tematiche;
Quando si parla di gestione dei log, si usano spesso due vocaboli che possono sembrare simili, ma hanno significati diversi:
* L'attività di log può essere definita come tutti i dati che possono essere immediatamente scartati nei processi tecnici delle applicazioni o dei siti web, ovvero i dati e gli input degli utenti.
* Auditing, invece, si riferisce ai dati che non sono immediatamente da scartare. Infatti i dati raccolti dal processo di auditing sono memorizzati in modo persistente, sono protetti da meccanismi di autorizzazione e sono sempre collegati ad alcuni requisiti funzionali per l'utente finale.
L'attività di log produce informazioni utili per la manutenzione di applicazioni e siti web. Può servire a:
* classificare se un problema riportato è da considerare effettivamente una vulnerabilità
* migliorare l'analisi, la riproduzione e la risoluzione di problemi
* aiutare a testare le nuove caratteristiche in una fase di sviluppo

## Processo funzionale

L'architettura di un sistema di gestione dei log si può rappresentare come composta da cinque livelli funzionali che intervengono in sequenza. Tali livelli funzionali sono:
* Generazione dei log: questo primo livello si occupa di generare i dati di log nelle stesse applicazioni o servizi lato client, per poi renderli disponibili per la memorizzazione, nel livello successivo, attraverso la rete. In altri casi è il server che si autentica con la macchina client e recupera i dati di log.
* Memorizzazione dei log: il salvataggio dei dati viene effettuato su un server, solitamente in modalità sistema real-time o programmata. I log devono contenere solo i dati più importanti e devono avere dati consistenti (ad esempio il tipo di timestamp utilizzato).
* Analisi dei log: solitamente si utilizzano degli strumenti, i quali sono particolarmente utili per trovare modelli che non sarebbero così facilmente analizzabili da un occhio umano. L'analisi si definisce reattiva, più che di prevenzione, infatti l'obiettivo è identificare l'attività in corso e cercare segni di problemi imminenti.
* Monitoraggio dei log: questo livello contiene la console, utilizzata principalmente per monitorare ed esaminare i log, gestire dati di log presenti nei client e nei server, generare rapporti e risultati delle analisi automatizzate. Il tipo di autorizzazione all'accesso è limitato alle sole funzioni necessarie.
* Protezione dei log: per l'importanza dei dati presenti nei log è fondamentale munirsi di misure di sicurezza sia nei confronti di attacchi esterni, sia nei confronti di errori interni.

## Normativa italiana

Secondo le disposizioni stabilite con il decreto del Garante per la Protezione dei Dati Personali pubblicato sulla Gazzetta Ufficiale n.300 del 24 dicembre 2008, ogni azienda, dopo aver individuato i sistemi (dispositivi di rete, database, apparati di sicurezza e sistemi software complessi) che contengono i dati più critici deve prima di tutto nominarne gli amministratori, infine deve dotarsi di un sistema di Log Management che sia in grado di tracciare gli accessi degli operatori ai dispositivi ed alle applicazioni che gestiscono.
Questo sistema dovrà conservare i dati in maniera sicura per un periodo non inferiore ai sei mesi e dovrà essere consultabile dall'azienda e dalle autorità.