Gestione file di log: Raccolta, archiviazione e analisi dei log informatici

Gestione file di log: Raccolta, archiviazione e analisi dei log informatici

Fasi della gestione dei file di log

In informatica, con il termine log o file di log (il cui significato è giornale di bordo, o semplicemente giornale) si indica un file su cui vengono registrati gli eventi in ordine cronologico e viene utilizzato per indicare normalmente:

  • la registrazione cronologica delle operazioni man mano che vengono eseguite
  • il file o database su cui tali registrazioni sono memorizzate.

Considerando gli aspetti di detection e diagnosi degli errori, è importante sottolineare che i log risultano uno strumento di supporto indispensabile, basti pensare ad un processo appartenente ad una applicazione distribuita, il quale attraverso la sua sospensione, potrebbe portare allo stallo dell’intera applicazione. Quindi attraverso l’analisi dei log, generati dal sistema operativo, si potrebbe risalire a quale processo abbia portato la sospensione dell’applicazione e quindi risolvere il problema.

Da ciò è chiara l’importanza dei file di log, ma affiche si possano estrapolare da questi tutte le informazioni di utilità ne è necessaria una corretta gestione. Possiamo dunque dividere le operazioni di gestione in tre distinti momenti: raccolta, archiviazione e analisi.

Gestione file di log: Raccolta, archiviazione e analisi dei log informatici

Raccolta e Archiviazione dei log

La maggioranza delle applicazioni durante la loro esecuzione registrano le loro operazioni in appositi file di log. Ora il risultato è una mole notevole di dati che, se conservata per sempre risulterebbe ingestibile o comunque difficilmente maneggiabile. Quindi per mantenere entro livelli ragionevoli la porzione di disco occupata dai log sarebbe conveniente effettuare, con una determinata cadenza, un’operazione di copia, compressione e “svuotamento” dei log. Queste operazioni, in genere eseguite in maniera combinata, vengono indicate con il nome di rotazione.

In alcuni casi è utile, oltre che effettuare la copia delle informazioni contenute nel log in file residenti sulla stessa macchina attraverso l’operazione di rotazione, archiviare queste copie su altre macchine connesse in rete. Vediamo qualche esempio pratico per sottolineare l’importanza che può avere questa operazione di backup.

Come si può intuire registrare le operazioni svolte sul server è un’attività di importanza fondamentale, sia come fonte di informazioni utili per risolvere eventuali malfunzionamenti, che come forma di controllo del sistema, verificando che esso non stia subendo attacchi o tentativi di intrusione.
Un hacker abile certamente sarà in grado di occultare al meglio le proprie tracce, ad esempio cancellando i segni del proprio operato dai file dove il log server registra tutte le attività. Emerge quindi la necessità di proteggere questi file nel migliore modo possibile, e quindi non memorizzando i file di log esclusivamente sulla macchina che si desidera monitorare: in caso di violazione della stessa essi sarebbero a piena disposizione dell’hacker e quindi facilmente modificabili.

Una prima possibilità, potrebbe essere quella di mantenere anche una copia cartacea dei log stessi. Certamente l’hacker, a meno di non avervi accesso fisicamente non potrebbe cancellare le sue tracce dalle stampe dei log. Questa scelta comporterebbe però un incremento eccessivo delle scartoffie, oltre che problemi pratici per la loro analisi ed archiviazione.

Scartando questa ipotesi, si potrebbe pensare all’utilizzo di un secondo log server, in modo da replicare anche in remoto i log che vengono memorizzati localmente. In un simile caso l’hacker dovrebbe cancellare le sue tracce in due posti diversi. Inoltre, presupponendo che il log server remoto preveda tutti i possibili accorgimenti ai fini della sicurezza del sistema, tra cui l’installazione esclusivamente solo del software strettamente necessario, non sarebbe così semplice per l’hacker cancellare le proprie tracce anche da esso.
Si presume inoltre che il server non sia direttamente connesso ad internet, ma sia accessibile esclusivamente dalla rete interna, minimizzando quindi la sua esposizione.

Un altro esempio in cui la raccolta e l’archiviazione dei log gioca un ruolo fondamentale è quello delle applicazioni distribuite. Consideriamo il caso in cui si sta testando un’applicazione le cui componenti sono in esecuzione su diverse macchine connesse in rete, per analizzarne il funzionamento dovremmo andare a consultare singolarmente i log residenti sulle varie macchine, rallentando in modo considerevole la fase di analisi. Con una politica di archiviazione potremmo pensare di progettare l’applicazione in modo che tutti i log generati vengano inviati, con una determinata cadenza e in maniera automatica, su un log server, in questo modo quindi velocizzeremmo la fase di analisi potendo accedere a tutti i log consultando semplicemente il server.
Altro caso è quello di mantenere archivi storici di log provenienti da attività di testing o semplicemente dalla storia passata dell’esecuzione dell’applicazione/sistema (per esempio far vedere che quella applicazione negli ultimi 4 anni ha subito solo un certo numero di guasti).

Analisi dei log

Per la gestione dei log è necessario aver stabilito una politica di archiviazione dei log, quindi una volta che questi vengono archiviati è necessario però estrapolarne le informazioni di interesse attraverso una loro analisi accurata.
Infatti è solo attraverso un’attenta analisi che ad esempio, un amministratore di rete potrà verificare quali utenti hanno fatto accesso alla rete e se vi sono stati accessi di utenti non autorizzati.

Oppure si pensi all’amministratore del sito web di un’azienda che vende componenti elettronici su internet. Attraverso l’analisi dei file di log potrà capire se il sito è realmente un efficace strumento per acquisire nuovi contatti o clienti oppure solo un orpello poco funzionale al raggiungimento degli obiettivi che ci si è prefissati. L’analisi dei file di log è quindi una componente essenziale di qualsiasi strategia di search engine marketing.
E’ nei file di log che si potrà vedere da quali motori di ricerca sono arrivati i visitatori, quali sono le chiavi di ricerca realmente utilizzate nei motori per arrivare al sito, quale chiave di ricerca ha utilizzato la persona che ha acquistato un determinato prodotto, quali azioni abbia compiuto la persona arrivata al sito attraverso una certa chiave di ricerca rispetto alla persona arrivata per una chiave di ricerca leggermente differente.

Facendo sempre riferimento all’amministratore del sito web, questo per semplificare la gestione dei file di log da analizzare potrà utilizzare una serie di tool molto “marketing oriented” per l’analisi dei file di log. I dati che riuscirà ad ottenere dai log non servono infatti solo a capire quali motori e quali parole chiave generino più traffico ma offrono anche tutta una serie di dati fondamentali per poter capire la maniera più efficiente di “ammodernare” il proprio sito in modo da far trovare al visitatore le informazioni che cerca, oppure capire – dai percorsi di navigazione – in quale fase del processo di acquisto si trovi un utente che utilizza una chiave di ricerca invece di un’altra.
Non solo in campo web, come abbiamo appena visto, ma anche in altri ambiti è possibile trovare numerosi applicativi che permettono, attraverso l’analisi di diversi tipi di log, di ottenere informazioni fondamentali per l’analisi dell’applicazione.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *