Select Sidearea

Populate the sidearea with useful widgets. It’s simple to add images, categories, latest post, social media icon links, tag clouds, and more.

O365 / M365 Audit Log

O365 / M365 Audit Log

O365 / M365 Audit Log

I servizi cloud Microsoft includono diverse funzionalità di controllo e reporting che è possibile utilizzare per tenere traccia delle attività amministrative e degli utenti all’interno del loro tenant, ad esempio le modifiche apportate alle impostazioni di configurazione del tenant di Exchange Online e SharePoint Online e le modifiche apportate dagli utenti a documenti e altri elementi. È possibile utilizzare le informazioni di controllo e i report disponibili nei servizi cloud Microsoft per gestire in modo più efficace l’esperienza dell’utente, mitigare i rischi e soddisfare gli obblighi di conformità.

Dove trovo i registri di controllo?

I registri di controllo di Office 365 si trovano nel Centro sicurezza e conformità di Office 365. Mentre altri registri sono limitati nell’ambito di un determinato servizio, questi vengono raccolti da più servizi di Office 365 e consolidati in un unico registro ricercabile (e catturano visualizzazioni di pagine e file).

Per iniziare a utilizzare questo registro, devi prima attivarlo accedendo alla ricerca del registro di controllo, quindi fai clic sul pulsante Attiva controllo. Dovrai farlo solo una volta per inquilino, ma dovrai aspettare alcune ore prima che il servizio si prepari per l’uso.

Una volta completata la preparazione sul lato Office, nel registro verranno visualizzati gli eventi controllati. A seconda del servizio specifico, possono essere necessari fino a 30 minuti o anche fino a 24 ore per la visualizzazione di un evento nel registro di controllo. L’elenco completo dei servizi e delle azioni controllati è disponibile qui.

I registri vengono conservati per 90 o 365 giorni, a seconda della licenza. Per abilitare l’intero anno, devi disporre di un abbonamento a Office 365 E5 o di una licenza aggiuntiva per la conformità avanzata di Office 365 con un piano online E3 / Exchange 1 e dovrai inviare una richiesta al supporto Microsoft per iscriverti nel programma.

Infine, puoi esportare i risultati di una ricerca in un file CSV per archiviarli e analizzarli ulteriormente. Il formato non è carino e non sarà facile da leggere se non sai esattamente cosa stai cercando, ma è facile da usare se desideri elaborare ulteriormente i dati.

Il problema principale che incontrerai è che la maggior parte delle proprietà sono raggruppate in un semplice AuditData JSON, che può contenere proprietà molto diverse a seconda dell’evento di controllo e un sacco di rumore da analizzare per arrivare alle cose importanti.

C’è anche la possibilità di scaricare a livello di codice i registri di controllo da utilizzare nelle soluzioni. In questo modo, puoi scaricare regolarmente gli eventi appena disponibili utilizzando le API disponibili, utilizzando PowerShell o REST.

Gli eventi di SharePoint Online e OneDrive for Business vengono visualizzati nel registro entro 15 minuti dalla loro occorrenza. Gli eventi di Exchange Online vengono visualizzati nei registri di controllo entro 12 ore dall’occorrenza. Gli eventi di accesso da Azure AD sono disponibili entro 15 minuti dall’occorrenza e altri eventi di directory da Azure AD sono disponibili entro 6 ore dall’occorrenza. Gli eventi nei risultati della ricerca del registro di controllo possono anche essere esportati per ulteriori analisi. Nella tabella seguente sono riportate alcune informazioni visualizzate nei report delle attività.

Cosa offriamo noi?

La soluzione che abbiamo sviluppato noi di Backloop è uno script powershell che gira sul Domain Controller ogni 30 minuti generando un file audit.log che viene letto dall’agent ossec e inviato alla macchina AlienVault.

Lo scritp powershell che abbiamo creato è una semplificazione del seguente script: https://gallery.technet.microsoft.com/Export-Office-365-Users-d83e98ca

Attualmente è in grado di monitorare le seguenti operazioni:

  • AzureActiveDirectory = UserLoggedIn e UserLoginFailed
  • AccessShare = PermissionLevelModified, PermissionLevelAdded, AccessRequestAccepted, SharingInvitationAccepted, SharingInvitationBlocked, AccessRequestCreated, AnonymousLinkCreated, SharingInvitationCreatede AccessRequestDenied
  • OneDrive = FileAccessed, FileDeleted, FileMoved, FileRenamed, FileMalwareDetected, FolderDeleted, FolderDeletedFirstStageRecycleBin, FolderDeletedSecondStageRecycleBin, FolderMoved,FolderRenamed, FileDeletedFirstStageRecycleBin, FileDeletedSecondStageRecycleBin, FileCopied,FileMalwareDetected, DocumentSensitivityMismatchDetected e FileSyncDownloadedFull
  • Teams = TeamsSessionStarted
  • Exchange= MailboxLogin, AddMailboxPermissions, HardDelete, Delete user, Reset user password e Set force change user password

Inoltre nulla vieta di personalizzare la nostra lista di operazioni monitorate aggiungendo/rimuovendo voci facendo riferimento alla documentazione Microsoft: https://docs.microsoft.com/it-it/microsoft-365/compliance/search-the-audit-log-in-security-and-compliance?view=o365-worldwide#audited-activities

Il download del nostro script è disponibile al link: https://github.com/backloop-biz/OSSIM/tree/master/audit_m365 e comprende:

  • getaudit.ps1
  • insert.sql
  • enablelog.ps1
  • readme.txt
  • local_decoder.xml
  • local_rules.xml
  • ossec-single-line.cfg.local

Come prima azione, bisogna abilitare i log utilizzando lo script “enablelog.ps1”. Nel caso l’account amministratore abbia l’autenticazione a due fattori sarà necessario lanciare lo script passandogli il parametro “-MFA”
es. PS C:\> C:\audit\enablelog.ps1 -MFA

Una volta attivati i log possiamo lanciare “getaudit.ps1”. Al suo primo avvio, crea un file chiamato latest.txt in cui viene stampata data e ora dell’ultima esecuzioni; a ogni avvio andrà a controllare questa data e se risulta maggiore dell’ultima mezz’ora prenderà quella come riferimento startdate nei log, altrimenti se minore calcolerà mezz’ora dall’avvio.

Durante l’esecuzione si crea un file temporaneo chiamato tmp.log che serve a riordinare i record trovati in ordine cronologico per poi inserirli nel file finale audit.log (entrambi sono in modalità Append).

A ogni modifica del file audit.log (prontamente configurato sul file di configurazione di ossec) l’agent ossec lo rileva e lo manda sensore di AlienVault.

In AlienVault è necessario configurare (vedi file insert.sql) un plugin personalizzato in grado di gestire in modo opportuno i record dei logs che arrivano.

L’integrazione con AlienVault ci permette di avere un maggior controllo su quello che accade nel nostro tenant.

La dashboard di AlienVault diventerà la centrale per qualsiasi alert generato.

Nel server, possibilmente un Domain Controller, in cui andiamo a depositare il nostro script è necessario schedulare un suo avvio automatico ogni 30 minuti..

Download:

https://github.com/backloop-biz/OSSIM/tree/master/audit_m365

Configurazione schedulazione automatica:

Event & Alarm: