cutout paper composition of yellow signboard with exclamation mark

Veeam – Email alert per modifica password backup cifrati

>>> Download: Scarica lo script da GitHub

DISCLAIMER: lo script è stato testato su Veeam Backup and Replication 11, dovrebbe funzionare anche sulla 10, ma non lo ho testato.

Discutendo della sicurezza dei backup con un mio cliente, mi è stata fatta una richiesta relativa ai backup cifrati di Veeam Backup and Replication (in questo caso dei nastri): come posso sapere se un aggressore, dopo essersi impadronito del mio server Veeam, ha modificato la password con cui sono cifrati i backup su tape, per procedere tempo dopo alla distruzione dei backup su disco e quindi rendere inutilizzabili tutti i backup in un attacco ransomware?

Premesso che è un’eventualità remota, non si tratta tuttavia di un evento impossibile: prendere precauzioni in questo senso potrebbe essere sensato quindi.

Cercando una soluzione, mi sono imbattuto in un post sui forum di Veeam in cui viene richiesta una soluzione al mio stesso problema (ho aggiunto la mia risposta). Veeam risponde che al momento non c’è un sistema per essere avvisati nel momento in cui si verifica una tale evenienza, nemmeno usando Veeam ONE, e che magari sarà qualcosa che implementeranno in futuro.

Mi sono allora messo a cercare ed ho trovato una soluzione tutto sommato semplice ma anche molto efficace.

Nell’event log della macchina Veeam infatti viene loggato nel log “Veeam Backup” con l’event ID 31700 ogni modifica ai set di credenziali per la cifratura dei backup. Inoltre, con l’ID 31600 viene loggato anche la creazione di un nuovo set di credenziali per la cifratura: ci serve questo evento perchè non viene invece loggato il caso in cui venga selezionato un altro set di credenziali per la cifratura di backup.

In questo caso secondo me la cosa più efficace è monitorare la creazione di nuove credenziali, dato che, se venissero semplicemente utilizzate altre credenziali già presenti nel server Veeam (e non modificate), l’aggressore non raggiungerebbe lo scopo di renderci inaccessibili credenziali e quindi i backup.

Infine, per chiudere il giro, teniamo d’occhio anche la cancellazione delle credenziali con l’event ID 31800, in modo che anche questo tipo di attività possa attirare l’attenzione degli amministratori.

Ho elaborato un piccolo script – scaricatelo da GitHub e salvatelo sul server Veeam – che raccoglie le info degli eventi che ci servono dall’event log e ce le manda via email. Va solo configurato un task in Windows.

Ho quindi creato un task schedulato in Windows Server legato agli event ID 31600, 31700 e 31800 del log “Veeam Backup”, source “Veeam MP”; tre trigger diversi, uno per evento:

Nella tab Actions, va configurato il task per eseguire un programma (powershell.exe) con arguments -executionpolicy bypass -file C:\<path to your script dir>\New-EncPassAlert.ps1 :

A questo punto, nello script basta configurare la sezione con i dettagli del server di posta da utilizzare per l’alert email (server, porta, utente, password, mittente, destinatario, etc … ).

Si può ora testare lo script creando un set di credenziali per la cifratura in Veeam, modificandolo e cancellandolo: se tutto funziona correttamente, riceverete una email simile a questa che vi avvisa delle modifiche fatte (lo screenshot è preso da una versione in italiano del mio script, mentre su Github ho caricato una versione in inglese):