Una delle problematiche classiche quando si devo gestire i file server è capire chi è quando può aver eliminato un i file. Infatti non è infrequente che gli utenti si lamentino che alcuni file non sono più presenti all’interno di cartelle condivise su file server e si inneschino discussioni su come questo abbia potuto accadere. Vi sono infatti alcune cartelle che sono più critiche di atri e occorre capire chi è stato ad eliminare i file non tanto per trovare il “colpevole”, ma piuttosto per capire se occorre riorganizzare gli accessi o la struttura delle cartelle per evitare gli episodi si ripetano, oppure per capire l’origine di una azione malevola che si sta sviluppando o che è avvenuta all’interno della rete.
Windows consente di gestire l’auditing del file system permettendo di generare degli eventi quando gli utenti tentano di accedere ad un file, ad una cartella e alle relative sottocartelle oppure un drive. Gli eventi di audit vengono generati per oggetti per cui sono stati configurati i system access control lists (SACL) e solo se il tipo di accesso richiesto (lettura, modifica, cancellazione, etc..) e l’account corrispondono alle impostazioni definite tramite le SACL. In questo modo sarà possibile definire in modo granulare gli audit da abilitare.
Occorre tenere presente che in Windows l’auditing del file system è possibile solo se i file o le cartelle da monitorare risiedono su drive NTFS. Inoltre dal momento che l’audit registrerà nel Registro eventi di sicurezza gli accessi che si desidera monitore occorre tenere presente la massima dimensione del registro eventi di sicurezza definita tramite il Visualizzatore Eventi e valutare lo spazio necessario e selezionare attentamente gli oggetti e i tipi di accesso che si desidera monitorare.
Configurazione dell’auditing dei file eliminati
Come indicato in Apply a basic audit policy on a file or folder – Windows 10 | Microsoft Learn per configurare l’auditing dei file eliminati occorre aprire le proprietà dell’oggetto (file, cartella o drive) con privilegi di amministratore locale e selezionarne le Proprietà, quindi selezionare la scheda Sicurezza e il pulsante Avanzate. e infine selezionare la scheda Controllo.

Per impostare le condizioni necessarie affinché venga eseguito l’auditing basterà selezionare Aggiungi e quindi selezionare in Entità l’utente o il gruppo che contiene gli utenti da monitorare e in Tipo l’opzione Operazione Completata e in Si applica a selezionare la gerarchia di oggetti da monitorare.

Per impostare che venga eseguito l’auditing dei file eliminati selezionare Mostra autorizzazioni avanzate quindi selezionare le opzioni Elimina sottocartelle e file e Elimina.

Abilitazione dell’auditing dei file eliminati
Come indicato in Apply a basic audit policy on a file or folder – Windows 10 | Microsoft Learn affinché l’auditing dei file diventi attivo registrando nel registro eventi di sicurezza gli eventi relativi alla cancellazione dei file occorre abilitare l”object access auditing tramite la policy locale o di dominio Configurazione Computer\Impostazioni di Windows\Impostazioni sicurezza\Configurazione avanzata dei criteri di controllo\Criteri di controllo di sistema – Oggetto Criteri di gruppo locale\ Accesso agli oggetti\ Controlla File system impostando di registrare nel Registro eventi di sicurezza i tentativi di accesso agli oggetti del file system configurati (nel nostro caso file e cartelle eliminati in una determinata cartella) selezionando di configurare gli eventi di controllo Operazioni riuscite.

Eventi generati tramite l’auditing dei file eliminati
Dopo aver configurato e abilito l’auditing dei file eliminati quando viene eliminato un file potrebbero essere generati vari eventi a seconda delle casistiche (a riguardo si veda Audit the access of global system objects – Windows 10 | Microsoft Learn):
- Evento con ID 4659 (L’handle di un oggetto è stato richiesto allo scopo di eliminarlo)
- Evento con ID 4663 (Tentativo di accedere a un oggetto), a riguardo si veda 4663(S) An attempt was made to access an object. – Windows 10 | Microsoft Learn
- Evento con ID 4660 (Un oggetto è stato eliminato) a riguardo si veda 4660(S) An object was deleted. – Windows 10 | Microsoft Learn
Per identificare che un file è stato eliminato conviene analizzare l’evento 4663 in quanto riporta anche l’informazione del percorso del file al contrario dell’evento 4659, mentre l’evento 4659 non indica che l’eliminazione è avvenuta ma solo che è stata richiesta.
Si noti che la ridenominazione che viene gestita come la creazione di un nuovo file con il nome desiderato e l’eliminazione del file originale genererà un evento 4663.
Creazione di report dei file eliminati
Nel repository PowerShell/Create-DeletedFilesYesterdayReport sul mio GitHub https://github.com/ermannog ho creato uno script PowerShell che genera uno report csv analizzando gli eventi 4663 con AccessMask 65536 generati il giorno precedente al giorno in cui si esegue lo script.
Lo script crea i report csv nella sottocartella DeletedFilesReports denominandoli DeletedFiles-yyyy-mm-dd.csv e consente di gestire quanti report mantenere tramite un parametro (per default 180).
Tramite questo script è sufficiente assicurarsi che gli eventi relativi a file eliminati generati in giorno possano essere mantenuti nello spazio su disco assegnato al Registro degli eventi di sicurezza. Inoltre è possibile analizzare comodamente i file csv ad esempio con Excel oppure utilizzare Esplora file per eseguire una ricerca per contenuto dal momento che i file csv sono semplici file di testo.
Riferimenti
Per maggiori informazioni è possibile consultare i seguenti link:
Grazie !