Il s’agit d’un article que je voulais sortir il y a quelques temps déjà. Fin janvier, Microsoft a rajouté une fonctionnalité de Watermarking, encore en préversion, à son service Azure Virtual Desktop. En quelques mots, le Tatouage numérique date des années 90 : il permet de tracer la source de l’information ayant fuitée.
Ce procédé a d’ailleurs beaucoup été utilisé dans le monde du cinéma pour essayer d’endiguer le phénomène du piratage, sans grand succès.
Dans le cadre d’Azure Virtual Desktop, un filigrane est apposé sur le bureau de session utilisateur AVD. Ce filigrane comporte un QR code comportant des informations utiles aux équipes IT pour retrouver la session et donc l’utilisateur à l’origine d’une fuite de données sensibles.
Avec cette fonctionnalité, quelles sont les contraintes pour les utilisateurs ?
Quand cette fonctionnalité est mise en place sur votre environnement Azure Virtual Desktop, la connexion pourra être refusée car la connexion au bureau à distance nécessite un client supportant le watermarking (supérieure à 1.2.3317).
En revanche :
- La connexion aux applications publiées ne passera pas par le watermarking.
- Les connections directes aux machines virtuelles via l’application MSTSC ne sont pas impactées par le watermarking.
Comment installe-t-on cette fonctionnalité ?
Il est encore nécessaire de passer par une police locale ou via une police de groupe Active Directory. Voici d’ailleurs un lien vers le fichier de modèle administratif pour Azure Virtual Desktop.
Est-il possible de le faire via Intune ?
Ayant récemment sorti un article sur les GPOs via Intune, je me suis dit qu’il serait intéressant d’en faire de même pour mettre en place le Watermarking sur un environnement AVD.
J’ai donc testé cette idée avec le fichier ADMX correspondant :
J’ai sélectionné les fichiers ADMX et ADML de l’archive précédemment téléchargée sur mon poste :
Tout semblait bon, alors j’ai donc cliqué sur Créer :
Impossible de charger le fichier : une erreur de liée à une dépendance est apparue 🤷♂️
J’ai donc fait de même avec TerminalServer.admx, mais une autre dépendance est venue gâcher la fête :
La dépendance Windows.admx est bien passée sur Intune, mais la réinstallation de TerminalServer.admx bloqua toujours :
The given key was not present in the dictionary
A ce jour, je n’ai pas encore trouvé de méthode pour contourner cette erreur. Donc non, ce n’est pas encore possible de passer par Intune pour les GPOs AVD.
Afin d’en savoir un peu plus sur la mise en place du Watermarking, je vous propose une autre manière de tester cette nouvelle fonctionnalité d’AVD.
Mon environnement de test est donc basé sur un domaine managé (Azure Active Directory Domain Services).
Rappel des prérequis :
Pour réaliser cet exercice sur Azure Virtual Desktop, il vous faudra disposer de :
- Un tenant Microsoft
- Une souscription Azure active
Afin de tester la fonctionnalité voulue, j’ai déjà déployé un certain nombre de ressources dans mon environnement Azure.
Voici d’abord les ressources liées au service Azure Active Directory Domain Services :
J’ai également créé une machine virtuelle de jump, pour créer et configurer mes GPOs dans mon Azure AD DS :
J’ai ensuite créé un service Azure Virtual Desktop, composé de 3 machines virtuelles individuelles. Ces 3 VMs sont liées à mon domaine Active Directory managé :
J’ai aussi créé le service Azure Bastion afin de me connecter plus facilement aux machines virtuelles sans passer par une IP publique :
Etape I – Mise en place d’un Log Analytics workspace :
La configuration du QR code sur les sessions utilisateurs d’AVD ne nécessite pas directement de Log Analytics workspace. Seulement, la conversion de celui-ci en UPN utilisateur nécessite justement de stocker cette information quelque part.
Pour cela, recherchez dans votre portail le service Log Analytics workspace :
Créez votre Log Analytics workspace dédié à votre environnement AVD :
Remplissez les champs pour sa création, puis lancez sa validation :
Attendez quelques minutes que la ressource se créée :
Retournez sur votre environnement Azure Virtual Desktop pour commencer la configuration vers le Log Analytics workspace, La configuration doit bien se faire sur les 3 éléments que compose tout environnement AVD :
- Pool d’hôtes
- Espace de travail
- Machines virtuelles
Cliquez comme-ceci pour configurer les 3 éléments à la suite :
En commençant par le Pool d’hôtes, choisissez le Log Analytics workspace créé précédemment, puis cliquez sur Configurer :
Cliquez sur Déployer pour installer la configuration du LAW au Pool d’hôtes :
Continuez la configuration du LAW avec l’Espace de travail :
Cliquez sur Déployer pour installer la configuration du LAW à l’Espace de travail :
Continuez la configuration du LAW avec les machines virtuelles AVD en les ajoutant :
Cliquez sur Déployer pour installer la configuration du LAW des machines virtuelles :
Ajoutez les métriques de Performances Windows :
Cliquez sur Déployer pour installer la configuration du LAW des métriques de Performances Windows :
Ajoutez les Evènements journalisés de Windows :
Cliquez sur Déployer pour installer la configuration du LAW des Evènements journalisés de Windows :
Quelques minutes plus tard, l’onglet Insights commence à s’alimenter en données de votre environnement AVD :
Etape II – Configuration de la Jump VM :
Afin de mettre en place une GPO pour notre environnement AVD, il est nécessaire de passer par l’Éditeur de stratégie de groupe dans notre domaine.
Pour cela, ajoutez les fonctionnalités liées aux GPOs, mais aussi les outils RSAT pour l’Active Directory :
Une fois l’installation des fonctionnalités terminée, lancez le gestionnaire AD de vos utilisateurs et machines :
Créez si besoin une OU contenant vos machines virtuelles AVD :
Toujours sur la même machine de Jump, pensez à désactiver le contrôle renforcé d’internet :
Rendez-vous ensuite sur le lien suivant, puis téléchargez le dernier fichier de modèles administratifs Azure Virtual Desktop :
Extrayez le contenu du fichier .cab et de l’archive .zip selon votre cas :
- Si vous utilisez le magasin central pour la stratégie de groupe :
- Copiez terminalserver-avd.admx dans le magasin central de stratégies de groupe de votre domaine, par exemple \contoso.com\SYSVOL\contoso.com\Policies\PolicyDefinitions,
- Copiez ensuite le fichier terminalserver-avd.adml dans le sous-dossier en-us.
- Si non :
- Copiez et collez le fichier terminalserver-avd.admx dans le dossier PolicyDefinitions à %windir%\PolicyDefinitions.
- Copiez ensuite le fichier terminalserver-avd.adml dans le sous-dossier en-us.
Dans mon cas, voici ce que cela donne :
Ouvrez le Gestionnaire de la stratégie de groupe :
Sur votre OU contenant vos machines virtuelles AVD, créez une nouvelle GPO :
Nommez votre GPO, puis cliquez sur OK :
Editez votre GPO pour configurer le Watermarking AVD :
Rendez-vous dans le menu suivant :
- Computer Configuration
- Administrative Templates
- Windows Components
- Remote Desktop Services
- Remote Desktop Session Host
- Azure Virtual Desktop
- Remote Desktop Session Host
- Remote Desktop Services
- Windows Components
- Administrative Templates
Cliquez sur la configuration de Watermarking :
Activez-là :
D’autres options sont également configurables si besoin :
Etape III – Testez la solution de Watermarking :
De retour sur votre portail Azure, redémarrer les machines virtuelles AVD pour prendre en compte la nouvelle GPO qui leur a été attribuée :
Suivez le redémarrage de celles-ci depuis la console AVD :
Quelques minutes plus tard, vérifiez que toutes vos machines AVD sont bien redémarrées et accessibles :
Ouvrez le client Windows Remote Desktop, dont la version est en 1.2.3317 ou ultérieure :
Entrez les identifiants d’un utilisateur AVD de test :
Constatez la présence immédiate du QR code au chargement du bureau à distance AVD :
La présence des QR codes continue également durant toute la durée de vie de la session AVD :
Etape IV – Identifiez la session AVD :
Une fois l’image contenant un QR Code en votre possession, il ne vous reste qu’à la scanner pour en obtenir l’identifiant de connexion AVD :
Pour votre test, utilisez votre smartphone ou un site gratuit comme celui-ci :
Copiez la valeur obtenue dans votre presse-papier :
Sur votre portail Azure, recherchez le service Azure Monitor :
Allez dans le menu Logs, puis lancez la requête suivante :
WVDConnections
| where CorrelationId contains "<connection ID>"
Constatez le résultat par vous-même :
Conclusion :
Cette fonctionnalité de Watermarking pourra prévenir la capture d’informations sensibles sur les sessions AVD. Sa mise en place facile et rapide permet de récupérer l’ID de connexion d’une session à distance, utile pour les administrateurs afin de tracer la session.