Come Esportare il Registro di Controllo Unificato di Microsoft 365

Come Esportare il Registro di Controllo Unificato di Microsoft 365

SOC Prime Team
SOC Prime Team linkedin icon Segui

Il portale di Purview (Audit → Ricerca) ti consente di cercare il Registro di Controllo Unificato ed esportare i risultati in CSV. L’evento completo si trova in una colonna, AuditData, come blob JSON. Per ottenere JSON pulito, un evento per linea, utilizza Exchange Online PowerShell e Search-UnifiedAuditLog. Lo script è sotto. La conservazione standard degli audit è di 180 giorni; Audit (Premium) mantiene un anno per impostazione predefinita.

Il Registro di Controllo Unificato copre Exchange, SharePoint, OneDrive, Teams e l’attività amministrativa in un unico posto. In caso di compromissione e-mail aziendale, è qui che compaiono le regole della casella di posta, l’inoltro e i download di massa. Prime Core ha 79 regole di rilevamento per i dati audit di Microsoft 365, mappate su 33 tecniche MITRE ATT&CK. Tra queste: regole di inoltro che sifonano la posta (T1114.003), permessi aggiuntivi per la casella di posta (T1098.002) e dati estratti da SharePoint (T1213.002).

Inizia Gratis

Prima di iniziare

Il controllo è attivo? Lo è per impostazione predefinita per la maggior parte dei tenant, ma controlla:

Connect-ExchangeOnline

Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

True è ciò che desideri. Se è False, nulla è stato registrato e attivandolo non si riempirà retroattivamente.

Ruoli. Hai bisogno del ruolo Audit Logs o solo visualizzazione Audit Logs. È necessario anche il modulo ExchangeOnlineManagement (Install-Module ExchangeOnlineManagement).

Latenza. Gli eventi non compaiono istantaneamente. La maggior parte appare entro un’ora o due, alcune richiedono più tempo. Se stai cercando qualcosa di stamattina, potrebbe non essere ancora ricercabile.

Esporta con PowerShell

Search-UnifiedAuditLog restituisce al massimo 5.000 record per chiamata. Con un ID sessione e ReturnLargeSet, puoi scorrere fino a 50.000 per ricerca. Questo ciclo fa ciò e scrive l’AuditData di ciascun record, già JSON, come una linea:

$session = [guid]::NewGuid().ToString()

$out = "ual_2026-10-19.jsonl"

do {

    $batch = Search-UnifiedAuditLog -StartDate "2026-10-19 00:00" -EndDate "2026-10-20 00:00" `

             -SessionId $session -SessionCommand ReturnLargeSet -ResultSize 5000

    $batch | ForEach-Object { $_.AuditData } | Add-Content $out

} while ($batch.Count -eq 5000)

Il registro memorizza i tempi in UTC. Tienilo presente quando imposti la finestra.

Cosa cercare

OperazionePerché è importante
New-InboxRule, Set-InboxRule, UpdateInboxRulesRegole che inoltrano, spostano o eliminano la posta; controlla i parametri in AuditData
Set-Mailbox con ForwardingSmtpAddressInoltro a livello di casella di posta verso un indirizzo esterno
Add-MailboxPermission, Add-RecipientPermissionQualcuno ottiene l’accesso a un’altra casella di posta
MailItemsAccessedQuali messaggi sono stati effettivamente letti; fondamentale per delimitare una violazione
FileDownloaded, FileSyncDownloadedFull burstsDownload di massa da SharePoint o OneDrive
Consenso a un’applicazioneUn’applicazione canaglia ha ottenuto l’accesso alla posta o ai file

La sequenza classica BEC: un accesso da una nuova posizione, poi entro pochi minuti una regola di casella di posta che sposta le risposte del team finanziario in una cartella oscura.

Carica, sanitizza e revisiona in LogTotal

  • Carica. Apri logtotal.com e inserisci il file .jsonl.
  • Sanitizza. 
  • Revisiona.

Quando qualcosa va storto

SintomoCausa probabileFix
Search-UnifiedAuditLog non è riconosciutoNon connesso a Exchange Online PowerShellConnettiti prima a Exchange-Online
Nessun risultatoAudit disattivato, eventi troppo recenti, o fuori dalla conservazioneControlla il flusso; aspetta; controlla il tuo livello di audit
Esattamente 5.000 risultatiLimite per chiamata raggiunto senza una sessioneUsa il ciclo di sessione sopra
Bloccato a 50.000Limite di sessioneDividi la finestra in pezzi più piccoli
Accesso negatoRuolo di audit mancanteChiedi il ruolo di solo visualizzazione audit

FAQ

Non è lo stesso dei log di accesso di Entra?

Si sovrappongono: l’UAL ha eventi UserLoggedIn. Ma per i dettagli di autenticazione (MFA, Accesso Condizionale, rischio), i log di accesso di Entra sono molto più ricchi. Esporta entrambi.

Che dire dell’API di Attività di Gestione?

Questa è la via per la raccolta continua in un SIEM. Per un’indagine una tantum, PowerShell è più semplice.

Unisciti alla piattaforma Detection as Code di SOC Prime per migliorare la visibilità sulle minacce più rilevanti per il tuo business. Per aiutarti a iniziare e aumentare immediatamente il valore, prenota ora un incontro con gli esperti di SOC Prime.