Le nuove prescrizioni riguardanti il trattamento dei dati, introdotte con un provvedimento del 27 novembre 2008 ("Misure e accorgimenti prescritti ai titolari dei trattamenti effettuati con strumenti elettronici relativamente alle attribuzioni delle funzioni di amministratore di sistema") e rese obbligatorie tramite proroga a partire dal 15 Dicembre 2009, prevedono l'obbligo di conservare gli "access log" riguardanti gli amministratori di sistema per almeno sei mesi in archivi immodificabili e inalterabili. Con tali obblighi, l'individuazione degli amministratori di sistema riveste un’elevata importanza, diventando una delle scelte fondamentali all'interno di un'azienda. Le nuove misure nascono dalla volontà di assicurare un maggiore controllo su chi di fatto interagisce con informazioni critiche aziendali ed effettua attività che ricadono nella definizione di "trattamento di dati personali", adempimenti tipici dell’operato degli amministratori di sistema e già richiamati all'interno dell'allegato B del Codice Privacy.
I log generati dai sistemi di autenticazione contengono generalmente riferimenti allo "username" utilizzato, alla data e all'ora dell'evento (timestamp), una descrizione dell'evento con informazioni sul sistema di elaborazione o software utilizzato, se si tratti di un evento di log-in, di log-out, o di una condizione di errore, quale linea di comunicazione o dispositivo terminale sia stato utilizzato.
I log devono avere le caratteristiche di completezza, inalterabilità e possibilità di verifica della loro integrità; le registrazioni devono avere i riferimenti temporali certi e la descrizione dell'evento che le ha generate e devono essere conservate per un periodo non inferiore a sei mesi. La caratteristica di completezza è riferita all'insieme degli eventi censiti nel sistema di log, che deve comprendere tutti gli eventi di accesso interattivo che interessino gli amministratori di sistema su tutti i sistemi di elaborazione con cui vengono trattati, anche indirettamente, dati personali. L'analisi dei rischi aiuta a valutare l'adeguatezza delle misure di sicurezza in genere, e anche delle misure tecniche per garantire attendibilità ai log qui richiesti.
Il provvedimento del Garante prevede, come forma minima di documentazione dell'uso di un sistema informativo, la generazione dei log degli "accessi" ( login) e la loro archiviazione per almeno sei mesi in condizioni di ragionevole sicurezza e con strumenti adatti, in base al contesto in cui avviene il trattamento, senza alcuna pretesa di instaurare un regime rigoroso di registrazione degli usage data dei sistemi informativi. Il provvedimento non chiede in alcun modo che vengano registrati dati sull'attività interattiva (comandi impartiti, transazioni effettuate) degli amministratori di sistema.
Relativamente all'obbligo di registrazione degli accessi logici degli AdS, sono compresi anche i sistemi client, intesi come "postazioni di lavoro informatizzate". In linea di massima tale requisito può essere soddisfatto tramite funzionalità già disponibili nei più diffusi sistemi operativi, senza richiedere necessariamente l'uso di strumenti software o hardware aggiuntivi. Per coloro che gestiscono la loro rete tramite un dominio Microsoft, il tracciamento degli accessi effettuato con gli Event Viewer dei controller di dominio è sufficiente. Per il mondo Linux le cose si complicano poiché i log di Linux sono dei file di testo editabili. Ad ogni modo il Garante suggerisce nella FAQ n. 4 che “sarà con valutazione del titolare che dovrà essere considerata l'idoneità degli strumenti disponibili oppure l'adozione di strumenti più sofisticati, quali la raccolta dei log centralizzata e l'utilizzo di dispositivi non riscrivibili o di tecniche crittografiche per la verifica dell'integrità delle registrazioni”, mentre nella FAQ n.12 afferma che, essendo la caratteristica di inalterabilità dei log già disponibile nei più diffusi sistemi operativi (questo è vero per i log criptati e non editabili di Windows, non per quelli di Linux), il requisito può essere soddisfatto esportando periodicamente i dati di log su supporti di memorizzazione non riscrivibili, affinché non vengano sovrascritti prima di 6 mesi.
Qualora il sistema di log adottato generi una raccolta dati più ampia, comunque non in contrasto con le disposizioni del Codice e con i principi della protezione dei dati personali, il requisito del provvedimento è comunque soddisfatto.
Tra gli accessi logici a sistemi e archivi elettronici sono comprese le autenticazioni nei confronti dei data base management systems (DBMS), che vanno registrate. Per tutti i DB Server dove è possibile un accesso diretto al DB, ad esempio tramite una console di amministrazione, occorre tracciare gli access log. Per le versione complete dei vari Oracle e MS SQL server i log di accesso sono all’interno del DB, criptati con un sistema simile a quello dei log di Windows e non vengono mai sovrascritti: ogni volta che si effettua il backup del DB vengono salvati anche i log. Al contrario per le versioni “Express” di questi DB non è prevista una gestione dei log simile a quella appena descritta. Nei DB Server appartenenti al mondo open source (es. Mysql e Firebird) i log di sistema sono dei files di testo, per cui si presentano le stesse problematiche che affliggono i sistemi operativi open.
L'accesso a livello applicativo non rientra nel perimetro degli adeguamenti, in quanto l'accesso a una applicazione informatica è regolato tramite profili autorizzativi che disciplinano per tutti gli utenti i trattamenti consentiti sui dati.
Implementare il provvedimento su Windows
Vediamo ora come utilizzare le funzionalità di controllo di Windows Server per tracciare le attività degli utenti sia a livello di singolo sistema che a livello di dominio Active Directory, in funzione del Provvedimento del Garante appena descritto.
Tutti gli eventi di sicurezza dei sistemi Windows sono registrati nel Registro di Protezione del Visualizzatore Eventi (Event Viewer Security log). I criteri di controllo possono essere configurati per i soli controller di dominio o per tutte le macchine dell’intero dominio. Nel primo caso la console di gestione è raggiungibile dagli Strumenti di Amministrazione, Criterio di protezione del controller di dominio, Criteri Locali, Criteri di Controllo. Nel secondo caso, dagli Strumenti di Amministrazione bisogna scegliere la voce Criterio di protezione del dominio, le voci successive sono le stesse.
Gli eventi di auditing possono essere divisi in due categorie:
- Operazioni riuscite (Success Events): indicano operazioni completate con successo dal sistema operativo
- Operazioni non riuscite (Failure Events): indicano tentativi di operazioni non riusciti
I criteri di controllo da attivare (vanno attivate sia le operazioni riuscite che quelle non riuscite) per soddisfare i requisiti minimi richiesti dal Garante sono:
-
Controlla eventi accesso account (Account Logon Events) – consente di tenere traccia degli eventi relativi all’accesso ed alla disconnessione degli utenti nel dominio. Infatti quando un utente tenta di accedere al dominio utilizzando un account di dominio, viene registrato un evento di tipo Accesso Account (Account Logon) nel controller di dominio, non nel computer in cui è stato effettuato il tentativo di accesso. Questo comportamento è dovuto al fatto che l'autenticazione viene effettuata dal controller di dominio.
-
Controlla eventi di accesso (Logon Events) - Questa impostazione di protezione specifica se controllare o meno ogni evento di accesso o disconnessione dal sistema in uso. In pratica, quando un utente locale viene autenticato da un computer, viene generato un evento di accesso, registrato nel registro di protezione del computer stesso. Ci si può facilmente confondere tra Eventi di accesso ed Eventi di accesso account: la differenza è che nel primo caso gli eventi sono generati nella macchina in cui viene utilizzato l'account, nel secondo caso sono generati nella macchina che autentica l'account (controller di dominio). Ad esempio, se sono attivate sia la categoria Controlla eventi accesso account che la categoria Controlla eventi di accesso, per gli accessi che utilizzano un account di dominio verrà generato sia un evento di accesso account sul controller di dominio, sia un evento di accesso o di fine sessione sul PC.
Ciascuna voce di registro è classificata per tipo e contiene un'intestazione e una descrizione dell'evento.
L'intestazione evento contiene le seguenti informazioni relative all'evento:
- Data: data in cui si è verificato l'evento.
- Ora: ora in cui si è verificato l'evento.
- Utente: nome dell'utente connesso quando si è verificato l'evento.
- Computer: nome del computer su cui si è verificato l'evento.
- ID evento: numero che identifica il tipo di evento. L'ID permette di entrare nel dettaglio sull'analisi di un determinato evento. Ad esempio, relativamente ad un accesso, possiamo sapere se si tratta di un accesso via rete, di un accesso in terminal, etc..
- Origine: origine dell'evento. Può essere il nome di un programma, di un componente di sistema o di un singolo componente di un'applicazione di grandi dimensioni.
- Tipo: può essere uno dei cinque tipi tra Errore, Avviso, Informazione, Operazioni riuscite oppure Operazioni non riuscite.
- Categoria: classificazione dell'evento basata sull'origine.
ID relativi agli eventi di accesso account (account logon), registrati sui controller di dominio
ID Evento |
Descrizione |
672 |
È stato rilasciato e convalidato un ticket AS (Authentication Service).
|
673 |
È stato concesso un ticket TGS (Ticket Granting Service).
|
674 |
Un'identità di protezione ha rinnovato un ticket AS o TGS.
|
675 |
Autenticazione preliminare non riuscita. Questo evento viene generato in un Centro distribuzione chiave (KDC) quando l'utente digita una password errata.
|
676 |
Richiesta di ticket di autenticazione non riuscita.
|
677 |
Non è stato concesso un ticket TGS.
|
678 |
L'account è stato associato a un account di dominio.
|
681 |
Errore di accesso. È stato effettuato un tentativo di accesso di un account di dominio.
|
682 |
L'utente si è riconnesso a una sessione di Terminal Server disconnessa.
|
683 |
L'utente ha interrotto la sessione di Terminal Server senza disconnettersi.
|
ID relativi agli eventi di accesso sulle singole macchine (logon events)
ID Evento |
Descrizione |
||||||||||||||||||||||||||||||
528 |
Un utente si è connesso al computer. Nell'evento viene indicato anche il tipo di accesso, indicato da un valore "type" secondo la tabella riportata di seguito:
|
||||||||||||||||||||||||||||||
529 |
Errore di accesso. È stato effettuato un tentativo di accesso con un nome utente sconosciuto o con un nome utente noto ma password errata.
|
||||||||||||||||||||||||||||||
530 |
Errore di accesso. È stato effettuato un tentativo di accesso con un account utente oltre il tempo consentito.
|
||||||||||||||||||||||||||||||
531 |
Errore di accesso. È stato effettuato un tentativo di accesso con un account disattivato.
|
||||||||||||||||||||||||||||||
532 |
Errore di accesso. È stato effettuato un tentativo di accesso con un account scaduto.
|
||||||||||||||||||||||||||||||
533 |
Errore di accesso. È stato effettuato un tentativo di accesso da parte di un utente non autorizzato all'accesso al computer.
|
||||||||||||||||||||||||||||||
534 |
Errore di accesso. L'utente ha tentato di connettersi con un tipo di accesso non consentito.
|
||||||||||||||||||||||||||||||
535 |
Errore di accesso. La password dell'account specificato è scaduta.
|
||||||||||||||||||||||||||||||
536 |
Errore di accesso. Il servizio Accesso rete non è attivo.
|
||||||||||||||||||||||||||||||
537 |
Errore di accesso. Il tentativo di accesso non è riuscito per altri motivi. In alcuni casi, il motivo dell'errore di accesso può essere sconosciuto. |
||||||||||||||||||||||||||||||
538 |
È stato completato il processo di disconnessione per un utente.
|
||||||||||||||||||||||||||||||
539 |
Errore di accesso. L'account è stato bloccato durante il tentativo di accesso.
|
||||||||||||||||||||||||||||||
540 |
Un utente si è connesso alla rete.
|
||||||||||||||||||||||||||||||
541 |
È stata completata l'autenticazione IKE (Internet Key Exchange) in modalità principale tra il computer locale e l'identità peer elencata, stabilendo così un'associazione di protezione, oppure è stato definito un canale di dati con la modalità rapida.
|
||||||||||||||||||||||||||||||
542 |
È stato terminato il canale di dati.
|
||||||||||||||||||||||||||||||
543 |
È stata terminata la modalità principale. Questo evento può verificarsi in seguito alla scadenza dell'intervallo dell'associazione di protezione (l'impostazione predefinita è 8 ore), a modifiche di criteri o alla chiusura del peer. |
||||||||||||||||||||||||||||||
544 |
L'autenticazione in modalità principale non è riuscita perché il peer non ha fornito un certificato valido oppure la firma digitale non è stata convalidata.
|
||||||||||||||||||||||||||||||
545 |
L'autenticazione in modalità principale non è riuscita per un errore Kerberos o per una password non valida.
|
||||||||||||||||||||||||||||||
546 |
L'associazione di protezione IKE non è riuscita perché il peer ha inviato una proposta non valida. È stato ricevuto un pacchetto contenente dati non validi.
|
||||||||||||||||||||||||||||||
547 |
Si è verificato un errore durante l'handshake IKE.
|
||||||||||||||||||||||||||||||
548 |
Errore di accesso. L'ID di protezione (SID) di un dominio attendibile non corrisponde al SID dell'account di dominio del client.
|
||||||||||||||||||||||||||||||
549 |
Errore di accesso. Tutti i SID corrispondenti a spazi dei nomi non attendibili sono stati esclusi con un filtro durante l'autenticazione tra insiemi di strutture.
|
||||||||||||||||||||||||||||||
550 |
Messaggio di notifica che potrebbe indicare un possibile attacco di tipo Denial of service.
|
||||||||||||||||||||||||||||||
551 |
L'utente ha avviato il processo di disconnessione.
|
||||||||||||||||||||||||||||||
552 |
L'utente si è connesso a un computer utilizzando credenziali esplicite mentre era già connesso come utente diverso.
|
||||||||||||||||||||||||||||||
682 |
L'utente si è riconnesso a una sessione di Terminal Server disconnessa.
|
||||||||||||||||||||||||||||||
683 |
L'utente ha interrotto la sessione di Terminal Server senza disconnettersi. Questo evento viene generato quando l'utente è connesso a una sessione di Terminal Server in rete. Viene visualizzato sul server terminal. |
Esportazione e conservazione dei LOG
Il Garante prevede, come forma minima di documentazione dell'uso di un sistema informativo, l'archiviazione dei log per almeno sei mesi, in condizioni di ragionevole sicurezza e con strumenti adatti. Nella FAQ n. 4 si dice che “sarà con valutazione del titolare che dovrà essere considerata l'idoneità degli strumenti disponibili oppure l'adozione di strumenti più sofisticati, quali la raccolta dei log centralizzata ...”.
Il requisito può essere soddisfatto esportando periodicamente i dati di log su supporti di memorizzazione non riscrivibili, tramite script o manualmente, affinché non vengano sovrascritti prima di 6 mesi. In alternativa esistono soluzioni open-source e commerciali.
Una soluzione che consiglio è quella di EventLog Analyzer, della ManageEngine, una soluzione commerciale web-based ed agentless per la gestione dei syslog e degli event log. EventLog Analyzer raccoglie, analizza, archivia e genera report sugli event log generati da host Windows e syslog da hosts UNIX, Router & Switches ed altri dispositivi. Ne esiste una versione FREE per la gestione di un massimo di 5 host.
A questo punto, per una soluzione a costo zero, sarebbe sufficiente catturare i log generati sui controller di dominio (gli ID dal 528 al 540 e dal 672 al 683) e mettere sotto il controllo del programma i soli controller di dominio e l'eventuale file-server. Per rendere il tutto a norma, bisognerebbe inserire, sul DPS aziendale e sull'informativa da consegnare agli utenti, l'assoluto divieto di conservare dati sensibili sulle postazioni client. In generale, tutti i dati dovrebbero essere salvati esclusivamente sul file-server sottoposto al monitoraggio dei log.
Carattristiche | |
Analisi e archiviazione degli EventLog e dei Syslog | |
Supporto per sistemi Windows, UNIX/Linux, AS/400 e dispositivi di rete, e qualunque dispositivo Syslos | |
Application Log Management: MSSQL, Oracle, VMWare, IIS W3C WebServer & FTP, DHCP | |
Report Access Log: Logon, Logoff, Logon Attempts | |
Inalterabilità e protezione dei Log: Hashing, Timestamping e crittografia | |
Reports predefiniti e possibilità di creare nuovi report personalizzabili | |
Trend Analysis | |
Access Log: raccolta, analisi, archiviazione e reporting | |
Report specifici richiesti dalle normative GLBA, HIPAA, PCI, SOX, e legge sulla privacy | |
Allarmi, notifiche(email, SMS) ed esecuzione di script/programmi | |
SNMP traps | |
Analisi dei log per la sicurezza | |
Possibilità di schedulare la generazione e l’invio dei report | |
Esportazione report in diversi formati | |
Dashboard per l’amministratore con gli indicatori principali | |
Interfaccia web-based | |
AgentLess | |
Supporto per MSSQL e MySQL come backend DB | |
Filtri degli eventi e compressione degli archivi | |
Pianificazione della raccolta degli eventi | |
Report per utenti privilegiati | |
Ricerca Avanzata degli eventi | |
Importazione pianificata dei log remoti via FTP/SFTP | |
Raccolta dei log generati nei periodi di downtime del log collector | |
Rebranding | |
Viste personalizzate e viste differenziate per utente | |
Autenticazione integrate con AD | |
IBM AS/400: analisi dei log, filtri, Report, Alert, Archiviazione e Import |