Sempre di più siamo sommersi da richieste del Garante della privacy, nuovi decreti legge e necessità legate alla sicurezza dei dati che ci impongono la gestione e archiviazione di milioni di log.
Siccome siamo tenuti a salvare i log, come è possibile riuscire a dare un senso a queste informazioni e magari a ricavarne ulteriori vantaggi?
Il Garante per la protezione dei dati personali alcuni anni fa ha stabilito che tutte le aziende devono registrare e conservare i dati relativi agli accessi degli Amministratori di Sistema sui sistemi da loro gestiti, al fine di agevolare la verifica sulla loro attività da parte di chi ha la titolarità delle banche dati e dei sistemi informatici. (Qui potete trovare i contenuti ufficiali) Ogni azienda si è quindi dotata di un sistema di Log Management in grado di tracciare gli accessi degli operatori ai dispositivi ed alle applicazioni che gestiscono dati sensibili.
Log Management non è quindi un nuovo concetto. Fin da quando esistono i computer si sono generati logs. Con l’avvento dei server moderni e nuovi applicativi, il logging è diventato sempre più un punto di base per la gestione dell’IT e dei processi di monitoraggio. I logs possono essere generati per una varietà di processi e scopi. L’aspetto fondamentale e il segreto di un buon Log Management è la consapevolezza di sapere cosa effettivamente bisogna monitorare e gestire, e soprattutto possedere il corretto strumento che consenta la flessibilità di analizzare in modo efficacie le montagne di dati raccolti.
In realtà sono molteplici le aree di azione.
Monitoraggio produttivo: per controllare l’efficienza ed efficacia dei sistemi in produzione. È possibile configurare il log management per monitorare e tracciare quando succedono eventi al di fuori della normale sfera operativa.
Troubleshooting: la chiave per risolvere problemi sui sistemi è una rapida analisi del problema. Log management è spesso il modo migliore per identificare l’origine di disservizi. Avendo i dati alla mano e gli strumenti per analizzarli propriamente, è possibile identificare la causa di tali anomalie. La possibilità di confrontare i dati euristici in molte forme e identificare il momento in cui i problemi si sono verificati è fondamentale nella risoluzione dei problemi.
Debugging per lo sviluppo: lo scopo della generazione di logs da parte di applicazioni, compilatori, debuggers ecc. è principalmente per creare un allarme in caso di eccezioni e eventi. Con una moltitudine di logs diversi è possibile per il log management tracciare eventi attraverso le operazioni di un applicazione o processo che si evolve attraverso diverse reti e sistemi. A livello applicativo questi dati sono rilevanti per poter identificare possibili colli di bottiglia nel flusso dei dati.
Analisi a livello business: I dati contenuti nei log sono una miniera d’oro per svolgere una buona analisi a livello di business. Dal numero di transazioni orarie ai dettagli sulle singole transazioni, si possono trovare informazioni sia a livello globale che specifico. Le informazioni generali, come l’area più visitata di un sito web, può essere combinata a dati più specifici sul singolo prodotto o sulla singola pagina e perfino operazione. La user experience può essere valutata determinando il tempo che gli utenti investono sulle singole pagine o i tempi di risposta per caricare le pagine con più accessi. Informazioni specifiche sul business possono essere raccolte dai dati contenuti nei logs, con la possibilità di configurare allarmi per controllare che certi accessi o operazioni vengano fatti a seconda delle necessità del business aziendale.
Sicurezza dei dati: controllare la sicurezza dei dati è un punto cruciale per il log management. Dal tracciamento di login o accessi non autorizzati ai tentativi di modifica a dati, tali eventi possono essere identificati attraverso i logs e possono quindi essere controllati attraverso gli strumenti di log management. La possibilità di definire condizioni di allarmi, ad esempio su tentativi ripetuti di login falliti o la creazioni di nuovi account può fornire un mezzo molto semplice per poter implementare un sistema di sicurezza attraverso il monitoraggio di tali eventi.
È chiaro quindi che non è facile districarsi attraverso il milione di log archiviati ma è fondamentale per una buona strategia di monitoraggio. Un buon sistema di monitoraggio, come quello che offriamo, consente di rispondere a tutte le necessità sopra citate e di centralizzare, analizzare e visualizzare in tempo reali i dati contenuti nei log. In cosa consiste la nostra soluzione? Per dare un senso alle informazioni raccolte è stato creato un nuovo modulo di Log Management in NetEye. Il Log Management è stato implementato integrando progetti aperti tra cui Logstash, Elasticsearch e Kibana.
Logstash viene utilizzato per leggere ed analizzare i log archiviati da NetEye (ricavati dal Safed Agent e spediti a rsyslog vedi immagine sopra) che vengono poi inviati ad Elasticsearch. I dati sono quindi archiviati in modo strutturato per consentire a NetEye di rappresentarli graficamente in tempo reale grazie all’integrazione con Kibana. Kibana permette di visualizzare proprio ciò che si desidera, giocando con i numeri raccolti e classificandoli secondo logiche precise. Kibana è un’interfaccia altamente scalabile che consente di effettuare ricerche in modo efficiente e creare con facilità grafici e analisi per dare un senso alle montagne di dati raccolti.
Le informazioni raccolte sono rappresentate in tempo reale attraverso dashboard grafiche intuitive che mostrano ai manager a colpo d’occhio i dati che sono stati identificati come essere i più critici . Molteplici dashboards possono essere inoltre create per rispondere ad esigenze specifiche in base alle varie aree di interesse.