Azure Virtual Desktop: Screen capture protection e watermarking

La protezione di acquisizione dello schermo (screen capture protection), insieme alla filigrana (watermarking), consente di impedire l’acquisizione di informazioni sensibili sugli endpoint di Azure Virtual Desktop e di Windows 365. In Windows 11 versione 22H2 e versioni successive è possibile abilitare la protezione dell’acquisizione dello schermo nelle macchine virtuali session host e nei client remoti. La protezione nelle macchine virtuali session host funziona esattamente come la protezione per i client remoti.

Prerequisiti

La protezione dell’acquisizione dello schermo viene configurata a livello di session host e applicata al client. Solo i client che supportano questa funzionalità possono connettersi alla sessione remota.

È necessario connettersi a Azure Virtual Desktop con uno dei client seguenti per usare la protezione di acquisizione schermata di supporto:

  • Il Windows Desktop client supporta la protezione dell’acquisizione dello schermo per i full desktop.
  • Il client macOS (versione 10.7.0 o successiva) supporta la protezione dell’acquisizione dello schermo sia per RemoteApps che per i desktop completi.
  • Il Windows Desktop client (che esegue Windows 11, versione 22H2 o successiva) supporta la protezione dell’acquisizione dello schermo per RemoteApps.

In questa guida mostrerò solo come configurare screen capture protection e come configurare il watermarking (attualmente in preview). Per sapere come creare e gestire un pool di Azure Virtual Desktop vi invito a leggere la mia guida Azure Virtual Desktop, Azure AD e Endpoint Manager: l’evoluzione del Modern Desktop – ICT Power

Configurazione della screen capture protection

Per configurare la screen capture protection è sufficiente procurarsi gli Azure Virtual Desktop policy templates file e distribuirli nei computer del vostro Azure Virtual Desktop session host pool. La distribuzione dei template dipende da tipo di infrastruttura che avete e se i computer sono gestiti da Microsoft Intune oppure da Active Directory tramite le Group Policy.

NOTA: È possibile usare la protezione dell’acquisizione dello schermo solo nelle macchine virtuali session host che usano Windows 11, versione 22H2 o successiva.

Come ho già fatto vedere nellla guida Funzionamento delle Group Policy in Windows Server: facciamo un po’ di chiarezza – ICT Power, le Group Policy sono un potentissimo strumento che permette di poter imporre le configurazioni sia agli utenti che ai computer, in particolar modo configurazioni che riguardano la sicurezza, le applicazioni desktop, la gestione e la distribuzione del software e le configurazioni relative alla rete. È possibile aggiungere ulteriori administrative templates alle nostre group policy per poter configurare in ambiente enterprise prodotti come Microsoft Office, Adobe Acrobat Reader, Google Chrome, Mozilla Firefox e tanti altri. Dopo essersi procurati sul sito del produttore dell’applicativo i diversi file ADMX, è sufficiente copiarli nella cartella C:\Windows\PolicyDefinitions del domain controller.  Se avete più domain controller, come è giusto che sia, e se sono anche distribuiti in diversi Site di Active Directory, sarà necessario copiare gli Administrative Templates in tutte le cartelle C:\Windows\PolicyDefinitions di tutti i domain controller in modo tale da poterlo configurare da qualsiasi DC e non necessariamente dal DC che ha il ruolo di PDC Emulator. Per ovviare a questa incombenza è possibile utilizzare il Central Store delle GPO, disponibile da Windows Server 2008.

L’ideale sarebbe gestire l’Azure Virtual Desktop session host pool con Microsoft Intune e distribuire le configurazioni con i configuration profiles, dopo aver importato gli administrative templates. Trovate una guida dettagliata alla pagina Microsoft Intune – Importare ed utilizzare Administrative Templates (ADMX) personalizzati – ICT Power

Se il vostro Azure Virtual Desktop session host pool non è joinato ad un dominio di Active Directory ma è joinato ad Azure AD, non potendo utilizzare le GPO potete copiare gli administrative templates in ogni singola macchina del pool (se le macchine non sono gestite tramite Microsoft Intune). Ed è quello che ho fatto io

Estraete il contenuto degli Azure Virtual Desktop policy templates file e procuratevi i fileterminalserver-avd.admx e fileterminalserver-avd.adml (contenuto nella cartella della lingua).

Figura 1: Azure Virtual Desktop policy templates files

Collegatevi alle macchine del Azure Virtual Desktop session host pool e incollate il file terminalserver-avd.admx nella cartella %windir%\PolicyDefinitions ed il file en-us\terminalserver-avd.adml nella cartella %windir%\PolicyDefinitions\en-us (le mie macchine hanno la lingua inglese e per questo ho usato la cartella en-us). Notate che in alto c’è la barra con scritto SessionDesktop, perché sono collegato alla VM dell’Azure Virtuall Desktop host pool.

Figura 2: I file terminalserver-avd.admx e fileterminalserver-avd.adml vengono distribuiti nelle macchine dell’Azure Virtual Desktop session host pool

Per configurare la screen capture protection aprite il Local Group Policy Editor con il comando gpedit.msc e navigate in Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Azure Virtual Desktop.

Modificate la voce Enable screen capture protection su Enabled e scegliete da menu a tendina Block Screen capture on client and server.

Figura 3: Abilitazione della screen capture protection

Da questo momento in poi se si cerca di fare una cattura schermo sia dal session host che dalla macchina client che state usando per il collegamento remoto, il risultato sarà quello di avere una schermata completamente nera.

Figura 4: Una schermata nera è il risultato del tentativo di catturare lo schermo

NOTA: Gli utenti non possono condividere la finestra Desktop remoto usando software di collaborazione locale, ad esempio Microsoft Teams, mentre la funzionalità di screen capture protection è abilitata. Se gli utenti usano Microsoft Teams, né l’app Teams locale né Teams con ottimizzazione multimediale possono condividere contenuto protetto. Per la massima sicurezza è opportuno disabilitare anche gli Appunti, le unità disco e il reindirizzamento della stampante. La disabilitazione del reindirizzamento impedisce agli utenti di copiare qualsiasi contenuto dello schermo acquisito dalla sessione remota.

Watermarking

La funzionalità di filigrana (watermarking) è attuamente in preview. La filigrana, insieme alla protezione dell’acquisizione dello schermo, impedisce l’acquisizione di informazioni riservate sugli endpoint di Azure Virtual Desktop. Quando si abilita la filigrana, vengono visualizzati i QR CODE sullo sfondo del desktop remoto. Il QR CODE contiene l’ID connessione di una sessione remota che gli amministratori possono usare per tracciare la sessione.

Dopo aver abilitato la filigrana in un session host, solo i client che supportano la filigrana possono connettersi a tale host. Se si tenta di connettersi da un client non supportato, la connessione avrà esito negativo e verrà visualizzato un messaggio di errore. La filigrana è solo per i desktop remoti. Con le app remote, la filigrana non viene applicata e la connessione è consentita.

Se ci si connette direttamente a un host di sessione (non tramite Desktop virtuale Azure) usando l’app Connessione Desktop remoto (mstsc.exe), il limite non viene applicato e la connessione è consentita.

NOTA: Per utilizzare la filigrana il Client Desktop di Windows deve avere la versione 1.2.3317 o successiva, in Windows 10 e versioni successive.

Per abilitare la filigrana si utilizzano gli stessi Azure Virtual Desktop policy templates file che abbiamo usato per la capture screen protection. Aprite il Local Group Policy Editor con il comando gpedit.msc e navigate in Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Azure Virtual Desktop.

Modificate la voce
Enable watermarking
e mettetela su Enabled. Sono disponibili anche valori per configurare QR code bitmap scale factor, QR code bitmap opacity, Width of grid box in percent relevant to QR code bitmap width e Height of grid box in percent relevant to QR code bitmap width.

Figura 5: Abilitazione della filigrana

Disconnettetevi dalla sessione remota e al momento della riconnessione vedrete che saranno apparsi i QR CODE.

Figura 6: Filigrana applicata ai computer dell’Azure Virtual Desktop Session host pool

Figura 7: Se si tenta di connettersi da un client non supportato, la connessione avrà esito negativo e verrà visualizzato un messaggio di errore

Utilizzo di Microsoft Intune per la gestione di Azure Virtual Desktop e per la gestione di Screen capture e watermarking

Da Microsoft Intune service release 2008 è disponibile una nuova funzionalità che permette di poter importare e successivamente utilizzare administrative templates (file ADMX e ADML) personalizzati per configurare le nostre applicazioni.

Dopo aver importato i template avete la possibilità di creare un configuration profile per distribuire le configurazioni che riterrete opportune. Ho già avuto modo di parlarne nella guida Microsoft Intune – Importare ed utilizzare Administrative Templates (ADMX) personalizzati – ICT Power

Il metodo corretto per importare gli Administrative Templates per la gestione di Azure Virtual Desktop è rispettare durante l’importazione un ordine preciso, legato alle dipendenze dei diversi template tra di loro:

  1. Windows.admx
  2. WindowsProducts.admx
  3. TerminalServer.admx
  4. Terminalserver-avd.admx

Durante l’importazione di TerminalServer.admx ho ricevuto l’errore The given key was not present in the dictionary.

Figura 8: L’importazione di TerminalServer.admx fallisce e si riceve l’errore The given key was not present in the dictionary

Un workaround che potete utilizzare, nel frattempo che Microsoft risolva il problema, è quello di editare il file Terminalserver-avd.admx che avete scaricato da Azure Virtual Desktop policy templates file e rimuovere queste due righe che fanno riferimento al template padre Terminalserver.admx

  1. Rimuovete il rigo 6 <using prefix=”terminalserver” namespace=”Microsoft.Policies.TerminalServer” />
  2. Rimuovete il rigo 17 <parentCategory ref=”terminalserver:TS_TERMINAL_SERVER” />

Il file Terminalserver-avd.admx deve essere uguale a quello mostrato in figura:

Figura 9: File Terminalserver-avd.admx modificato per eliminare le dipendenze ed evitare gli errori nel caricamento

NOTA: non è necessario effettuare nessuna operazione sul file Terminalserver-avd.adml che si trova nella cartella en-US.

Se provate adesso a importare il file Terminalserver-avd.admx nel portale di Microsoft Intune non riceverete nessun errore.

Figura 10: Importazione del file Terminalserver-avd.admx e del file Terminalserver-avd.adml nel portale di Microsoft Intune

Figura 11: Importazione del file ADMX personalizzato completata con successo

Creazione di un nuovo profilo di configurazione per gestire Azure Virtual Desktop

Completata l’importazione degli administrative templates potrete procedere alla creazione di un nuovo profilo di configurazione per poter gestire Azure Virtual Desktop. Nel portale di Microsoft Intune fate clic sul pulsante + Create Profile e nel blade che si aprirà scegliete come platform Windows 10 and later, come profile type Templates e come template name scegliete Imported Administrative Templates (preview).

Figura 12: Creazione di un nuovo profilo che utilizzerà gli administrative templates personalizzati

Date un nome al profilo di configurazione.

Figura 13: Nome del profilo di configurazione

Procedete a questo punto a configurare quello che l’administrative template vi permette di fare. Noterete che la voce Azure Virtual Desktop appare come voce iniziale, perché abbiamo eliminato tutte le dipendenze nel file Terminalserver-avd.admx

Figura 14: Scelta delle configurazioni di Azure Virtual Desktop

Modificate le impostazioni a vostro piacimento.

Figura 15: Abilitazione della screen capture protection

Figura 16: Abilitazione del watermarking

Figura 17: Configurazioni scelte per la gestione di Azure Virtual Desktop

Figura 18: Definizione di uno Scope Tag a cui associare il profilo di configurazione

Figura 19: Scelta dei gruppi di Azure AD a cui assegnare il profilo di configurazione

Figura 20: Schermata di riepilogo del nuovo profilo di configurazione

Figura 21: Profilo di configurazione che utilizza administrative templates personalizzati completato con successo

Attendete quindi che il profilo venga distribuito ai vostri dispositivi (o forzatene l’aggiornamento) e verificate che sia stato applicato correttamente.

Conclusioni

Il termine Informatica deriva dalla fusione delle due parole Informazione e Automatica. Le informazioni che gestiamo ogni giorno rappresentano, per gli utenti e per le aziende, delle importanti risorse per il business. Uno degli obiettivi più importanti che ci dobbiamo prefissare è quello relativo alla protezione dei dati e di tutte le informazioni aziendali. Tantissime informazioni vengono condivise ogni giorno dagli utenti, a volte anche in maniera sbagliata perché possono essere sensibili per l’azienda. Gli strumenti offerti da Azure Virtual Desktop e da Windows 365 permettono di bloccare la condivisione del desktop e l’acquisizione degli screenshot, proteggendo i nostri endpoint ed il business aziendale.