Menu kategorii
  • Jak stworzyć plik konfiguracyjny dla Windows Sandbox?

    Jak stworzyć plik konfiguracyjny dla Windows Sandbox?

     Krzysztof Sulikowski
    Krzysztof Sulikowski
    12:00
    14.03.2019
    1563 wyświetlenia

    Windows Sandbox to jedna z najciekawszych nowości w Windows 10 April 2019 Update. W chwili publikacji tego tekstu jest on nadal rozwijany w programie Insider, a przed paroma dniami doczekał się wsparcia dla plików konfiguracyjnych. Taki config jest plikiem tekstowym, w którym możemy z góry ustawić wybrane parametry sandboksa w takich obszarach, jak vGPU, sieci, współdzielone katalogi czy logowanie. Co dokładnie możemy zmienić i jakich poleceń używać? Wreszcie w jakich scenariuszach może nam się przydać Windows Sandbox?

    Windows Sandbox Config

    Co możemy ustawić w pliku konfiguracyjnym?

    Windows Sandbox otrzymał wsparcie dla prostych plików konfiguracyjnych, których można używać, począwszy od kompilacji 18342 (April 2019 Update). Są one formatowane jako XML i powiązane z Sandboxem poprzez rozszerzenie pliku .wsb. Config pozwala użytkownikowi kontrolować następujące aspekty Sandboksa:

    • vGPU (wirtualizowany GPU): Włączanie lub wyłączanie vGPU. Gdy jest wyłączony, Sandbox użyje WARP (rasteryzatora software'owego).
    • Sieci: Włączanie lub wyłączanie dostępu do sieci z sandboksa.
    • Foldery współdzielone: Udostępnianie folderów z hosta z uprawnieniami odczytu i/lub zapisu. Należy mieć na uwadze, że udostępnienie folderu sandboksowi może umożliwić przeniknięcie złośliwego oprogramowania do systemu-gospodarza lub kradzież danych.
    • Skrypt rozruchowy: akcje po zalogowaniu w Sandboksie.

    Jak zobaczycie na poniższych przykładach, pliki konfiguracyjne mogą posłużyć do drobiazgowej kontroli nad Windows Sandbox, w tym do zwiększenia jego izolacji. Podwójne kliknięcie pliku .wsb otwiera go w Windows Sandbox. Można też uruchomić go z wiersza polecenia.

    Jakich słów kluczowych i wartości używać?

    vGPU:

      <VGpu>wartość</VGpu>
      Wspierane wartości:
      • Disable - wyłącza działanie vGPU w Sandboksie. Używane będzie renderowanie oparte na oprogramowaniu, co może działać wolniej niż w przypadku wirtualizowanego GPU.
      • Default - wartość domyślna, czyli włączony vGPU.

    Sieci:

      <Networking>wartość</Networking>
      Wspierane wartości:
      • Disable - wyłącza działanie sieci w Sandboksie.
      • Default - wartość domyślna. Umożliwia działanie sieci, tworząc wirtualny switch w hoście i łącząc z nim sandboksa poprzez wirtualny NIC. Opcja ta może potencjalnie wystawić sieć wewnętrzną na działanie niezaufanych aplikacji.

    Foldery udostępnione:

      <MappedFolders>
      Lista obiektów MappedFolder
      </MappedFolders>
      MappedFolder to pojedynczy folder na maszynie hosta, który będzie udostępniany na kontenerowanym pulpicie. Aplikacje w Sandboksie uruchamiają się na koncie użytkownika “WDAGUtilityAccount”, zatem wszystkie foldery będą mapowane w katalogu C:\Users\WDAGUtilityAccount\Desktop.
      <MappedFolder>
          <HostFolder>ścieżka do folderu hosta</HostFolder>
          <ReadOnly>wartość</ReadOnly>
      </MappedFolder>
      Wspierane wartości:
      • HostFolder - ścieżka folderu, która ma być współdzielona z sandboksem. Folder musi już istnieć w hoście. W przeciwnym wypadku, jeśli folder nie zostanie znaleziony, Windows Sandbox nie uruchomi się.
      • ReadOnly - jeśli wpiszemy true, dostęp zostanie przyznany z uprawnieniami tylko do odczytu. Wartość false umożliwia zapis.

    Skrypt rozruchowy:

      <LogonCommand>
         <Command>polecenie do wywołania</Command>
      </LogonCommand>
      Wspierane wartości:
      • Command - ścieżka do pliku wykonywalnego lub skryptu wewnątrz kontenera, który zostanie wykonany po zalogowaniu. Bardziej skomplikowane scenariusze, zakładające użycie wielu kroków, powinny być umieszczone w pliku skryptu. Plik ten może znajdować się w mapowanym folderze.

    Praktyczne przykłady

    Przykład pierwszy - bezpieczne testowanie pobranych plików

    Ten plik konfiguracyjny może być użyty, by łatwo testować nowo pobrane pliki w sandboksie. Skrypt ten wyłącza sieci i vGPU oraz wymusza tryb tylko do odczytu. Mapowanym folderem (jego ścieżkę możemy oczywiście zmienić) jest folder Pobrane. Dodany jest również skrypt, który otwiera ten folder po zalogowaniu:

    Downloads.wsb

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

    Przykład drugi - instalacja Visual Studio Code w kontenerze

    Przykład ten jest nieco bardziej skomplikowany. W kontenerze zmapowane są dwa foldery: pierwszy (SandboxScripts) zawiera VSCodeInstall.cmd, który zainstaluje i uruchomi VSCode. Drugi folder (CodingProjects) ma zawierać pliki projektów, które deweloper może chcieć zmodyfikować z użyciem VSCode. Mając skrypt instalacyjny zmapowany w kontenerze, LogonCommand może się do niego odnieść:

    VSCodeInstall.cmd

    REM Download VSCode
    curl -L "https://update.code.visualstudio.com/latest/win32-x64-user/stable" --output C:\users\WDAGUtilityAccount\Desktop\vscode.exe
     
    REM Install and run VSCode
    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>

    Windows Sandbox szczegółowo opisywaliśmy już tutaj.


    Spodobał Ci się ten artykuł? Podziel się z innymi!

    Źródło:

    Polecamy również w kategorii Narzędzia administracyjne Windows 10