Configuration du Bac à sable Windows

Bac à sable Windows prend en charge les fichiers de configuration simples, qui fournissent un ensemble minimal de paramètres de personnalisation pour sandbox. Cette fonctionnalité peut être utilisée avec Windows 10 build 18342 ou Windows 11. Bac à sable Windows fichiers de configuration sont au format XML et sont associés au bac à sable via l’extension de .wsb fichier.

Un fichier de configuration permet à l’utilisateur de contrôler les aspects suivants de Bac à sable Windows :

  • vGPU (GPU virtualisé) : activez ou désactivez le GPU virtualisé. Si vGPU est désactivé, le bac à sable utilise la plateforme WARP (Advanced Rasterization Platform) Windows.
  • Mise en réseau : activez ou désactivez l’accès réseau dans le bac à sable.
  • Dossiers mappés : partagez des dossiers à partir de l’hôte avec des autorisations de lecture ou d’écriture . L’exposition des répertoires hôtes peut permettre à des logiciels malveillants d’affecter le système ou de voler des données.
  • Commande d’ouverture de session : commande exécutée au démarrage de Bac à sable Windows.
  • Entrée audio : partage l’entrée du microphone de l’hôte dans le bac à sable.
  • Entrée vidéo : partage l’entrée webcam de l’hôte dans le bac à sable.
  • Client protégé : place les paramètres de sécurité accrus sur la session RDP dans le bac à sable.
  • Redirection d’imprimante : partage les imprimantes de l’hôte dans le bac à sable.
  • Redirection du Presse-papiers : partage le Presse-papiers hôte avec le bac à sable afin que le texte et les fichiers puissent être collés dans les deux sens.
  • Mémoire en Mo : quantité de mémoire, en mégaoctets, à affecter au bac à sable.

Création d’un fichier de configuration

Pour créer un fichier de configuration :

  1. Ouvrez un éditeur de texte brut ou un éditeur de code source (par exemple, Bloc-notes, Visual Studio Code, etc.)

  2. Insérez les lignes suivantes :

    <Configuration>
    </Configuration>
    
  3. Ajoutez le texte de configuration approprié entre les deux lignes. Pour plus d’informations, consultez la syntaxe correcte et les exemples ci-dessous.

  4. Enregistrez le fichier avec le nom souhaité, mais assurez-vous que son extension de nom de fichier est .wsb. Dans le Bloc-notes, vous devez placer le nom de fichier et l’extension entre guillemets doubles, par exemple. "My config file.wsb"

Utilisation d’un fichier de configuration

Pour utiliser un fichier de configuration, double-cliquez dessus pour démarrer Bac à sable Windows en fonction de ses paramètres. Vous pouvez également l’appeler via la ligne de commande, comme indiqué ici :

C:\Temp> MyConfigFile.wsb 

Mots clés, valeurs et limites

vGPU

Active ou désactive le partage GPU.

<vGPU>value</vGPU>

Valeurs prises en charge :

  • Activer : active la prise en charge de vGPU dans le bac à sable.
  • Désactiver : désactive la prise en charge du processeur virtuel dans le bac à sable. Si cette valeur est définie, le bac à sable utilise le rendu logiciel, qui peut être plus lent que le GPU virtualisé.
  • Par défaut Cette valeur est la valeur par défaut pour la prise en charge du processeur virtuel. Actuellement, cette valeur par défaut indique que vGPU est désactivé.

Notes

L’activation du GPU virtualisé peut potentiellement augmenter la surface d’attaque du bac à sable.

Réseaux

Active ou désactive la mise en réseau dans le bac à sable. Vous pouvez désactiver l’accès réseau pour réduire la surface d’attaque exposée par le bac à sable.

<Networking>value</Networking>

Valeurs prises en charge :

  • Désactiver : désactive la mise en réseau dans le bac à sable.
  • Par défaut : cette valeur est la valeur par défaut pour la prise en charge réseau. Cette valeur permet la mise en réseau en créant un commutateur virtuel sur l’hôte et y connecte le bac à sable via une carte réseau virtuelle.

Notes

L’activation de la mise en réseau peut exposer des applications non approuvées au réseau interne.

Dossiers mappés

Tableau de dossiers, chacun représentant un emplacement sur l’ordinateur hôte qui sera partagé dans le bac à sable au chemin d’accès spécifié. Pour l’instant, les chemins relatifs ne sont pas pris en charge. Si aucun chemin d’accès n’est spécifié, le dossier est mappé au bureau de l’utilisateur du conteneur.

<MappedFolders>
  <MappedFolder> 
    <HostFolder>absolute path to the host folder</HostFolder> 
    <SandboxFolder>absolute path to the sandbox folder</SandboxFolder> 
    <ReadOnly>value</ReadOnly> 
  </MappedFolder>
  <MappedFolder>  
    ...
  </MappedFolder>
</MappedFolders>

HostFolder : spécifie le dossier sur l’ordinateur hôte à partager dans le bac à sable. Le dossier doit déjà exister sur l’hôte, sinon le conteneur ne démarrera pas.

SandboxFolder : spécifie la destination dans le bac à sable à mapper au dossier. Si le dossier n’existe pas, il est créé. Si aucun dossier de bac à sable n’est spécifié, le dossier est mappé au bureau du conteneur.

ReadOnly : si la valeur est true, applique l’accès en lecture seule au dossier partagé à partir du conteneur. Valeurs prises en charge : true/false. La valeur par défaut est false.

Notes

Les fichiers et dossiers mappés à partir de l’hôte peuvent être compromis par les applications du bac à sable ou potentiellement affecter l’hôte.

Commande d’ouverture de session

Spécifie une commande unique qui sera appelée automatiquement après l’ouverture de session du bac à sable. Les applications du bac à sable sont exécutées sous le compte d’utilisateur du conteneur. Le compte d’utilisateur de conteneur doit être un compte administrateur.

<LogonCommand>
  <Command>command to be invoked</Command>
</LogonCommand>

Commande : chemin d’accès à un exécutable ou à un script à l’intérieur du conteneur qui sera exécuté après la connexion.

Notes

Bien que les commandes très simples fonctionnent (comme le lancement d’un exécutable ou d’un script), des scénarios plus complexes impliquant plusieurs étapes doivent être placés dans un fichier de script. Ce fichier de script peut être mappé dans le conteneur via un dossier partagé, puis exécuté via la directive LogonCommand .

Entrée audio

Active ou désactive l’entrée audio dans le bac à sable.

<AudioInput>value</AudioInput>

Valeurs prises en charge :

  • Activer : active l’entrée audio dans le bac à sable. Si cette valeur est définie, le bac à sable peut recevoir l’entrée audio de l’utilisateur. Les applications qui utilisent un microphone peuvent nécessiter cette fonctionnalité.
  • Désactiver : désactive l’entrée audio dans le bac à sable. Si cette valeur est définie, le bac à sable ne peut pas recevoir d’entrée audio de l’utilisateur. Les applications qui utilisent un microphone peuvent ne pas fonctionner correctement avec ce paramètre.
  • Par défaut : cette valeur est la valeur par défaut pour la prise en charge des entrées audio. Actuellement, cette valeur par défaut indique que l’entrée audio est activée.

Notes

L’exposition de l’entrée audio hôte au conteneur peut avoir des conséquences sur la sécurité.

Entrée vidéo

Active ou désactive l’entrée vidéo dans le bac à sable.

<VideoInput>value</VideoInput>

Valeurs prises en charge :

  • Activer : active l’entrée vidéo dans le bac à sable.
  • Désactiver : désactive l’entrée vidéo dans le bac à sable. Les applications qui utilisent l’entrée vidéo peuvent ne pas fonctionner correctement dans le bac à sable.
  • Par défaut : cette valeur est la valeur par défaut pour la prise en charge des entrées vidéo. Actuellement, cette valeur par défaut indique que l’entrée vidéo est désactivée. Les applications qui utilisent l’entrée vidéo peuvent ne pas fonctionner correctement dans le bac à sable.

Notes

L’exposition de l’entrée vidéo hôte au conteneur peut avoir des conséquences sur la sécurité.

Client protégé

Applique davantage de paramètres de sécurité au client Bureau à distance bac à sable, ce qui réduit sa surface d’attaque.

<ProtectedClient>value</ProtectedClient>

Valeurs prises en charge :

  • Activer : exécute le bac à sable Windows en mode client protégé. Si cette valeur est définie, le bac à sable s’exécute avec des atténuations de sécurité supplémentaires activées.
  • Désactiver : exécute le bac à sable en mode standard sans atténuations de sécurité supplémentaires.
  • Par défaut : cette valeur est la valeur par défaut pour le mode client protégé. Actuellement, cette valeur par défaut indique que le bac à sable ne s’exécute pas en mode client protégé.

Notes

Ce paramètre peut restreindre la capacité de l’utilisateur à copier/coller des fichiers dans et hors du bac à sable.

Redirection de l’imprimante

Active ou désactive le partage d’imprimantes de l’hôte dans le bac à sable.

<PrinterRedirection>value</PrinterRedirection>

Valeurs prises en charge :

  • Activer : permet le partage des imprimantes hôtes dans le bac à sable.
  • Désactiver : désactive la redirection de l’imprimante dans le bac à sable. Si cette valeur est définie, le bac à sable ne peut pas afficher les imprimantes de l’hôte.
  • Par défaut : cette valeur est la valeur par défaut pour la prise en charge de la redirection d’imprimante. Actuellement, cette valeur par défaut indique que la redirection de l’imprimante est désactivée.

Redirection du Presse-papiers

Active ou désactive le partage du Presse-papiers hôte avec le bac à sable.

<ClipboardRedirection>value</ClipboardRedirection>

Valeurs prises en charge :

  • Désactiver : désactive la redirection du Presse-papiers dans le bac à sable. Si cette valeur est définie, le copier/coller dans et hors du bac à sable est restreint.
  • Valeur par défaut : cette valeur est la valeur par défaut pour la redirection du Presse-papiers. Actuellement, le copier-coller entre l’hôte et le bac à sable est autorisé sous Valeur par défaut.

Mémoire en Mo

Spécifie la quantité de mémoire que le bac à sable peut utiliser en mégaoctets (Mo).

<MemoryInMB>value</MemoryInMB>

Si la valeur de mémoire spécifiée est insuffisante pour démarrer un bac à sable, elle est automatiquement augmentée à la quantité minimale requise.

Exemple1

Le fichier de configuration suivant peut être utilisé pour tester facilement les fichiers téléchargés à l’intérieur du bac à sable. Pour ce faire, la mise en réseau et le vGPU sont désactivés, et le bac à sable est autorisé à accéder en lecture seule au dossier de téléchargements partagés. Pour des raisons pratiques, la commande d’ouverture de session ouvre le dossier de téléchargements à l’intérieur du bac à sable lorsqu’il est démarré.

Downloads.wsb

<Configuration>
  <VGpu>Disable</VGpu>
  <Networking>Disable</Networking>
  <MappedFolders>
    <MappedFolder>
      <HostFolder>C:\Users\Public\Downloads</HostFolder>
      <SandboxFolder>C:\Users\WDAGUtilityAccount\Downloads</SandboxFolder>
      <ReadOnly>true</ReadOnly>
    </MappedFolder>
  </MappedFolders>
  <LogonCommand>
    <Command>explorer.exe C:\users\WDAGUtilityAccount\Downloads</Command>
  </LogonCommand>
</Configuration>

Exemple2

Le fichier de configuration suivant installe Visual Studio Code dans le bac à sable, ce qui nécessite une configuration LogonCommand un peu plus compliquée.

Deux dossiers sont mappés dans le bac à sable ; le premier (SandboxScripts) contient VSCodeInstall.cmd, qui installe et exécute Visual Studio Code. Le deuxième dossier (CodingProjects) est supposé contenir des fichiers projet que le développeur souhaite modifier à l’aide de Visual Studio Code.

Le script du programme d’installation de Visual Studio Code étant déjà mappé dans le bac à sable, LogonCommand peut le référencer.

VSCodeInstall.cmd

REM Download Visual Studio Code
curl -L "https://update.code.visualstudio.com/latest/win32-x64-user/stable" --output C:\users\WDAGUtilityAccount\Desktop\vscode.exe

REM Install and run Visual Studio Code
C:\users\WDAGUtilityAccount\Desktop\vscode.exe /verysilent /suppressmsgboxes

VSCode.wsb

<Configuration>
  <MappedFolders>
    <MappedFolder>
      <HostFolder>C:\SandboxScripts</HostFolder>
      <ReadOnly>true</ReadOnly>
    </MappedFolder>
    <MappedFolder>
      <HostFolder>C:\CodingProjects</HostFolder>
      <ReadOnly>false</ReadOnly>
    </MappedFolder>
  </MappedFolders>
  <LogonCommand>
    <Command>C:\Users\WDAGUtilityAccount\Desktop\SandboxScripts\VSCodeInstall.cmd</Command>
  </LogonCommand>
</Configuration>