기본 설정으로 Windows 샌드박스 시작하려면 시작 메뉴에서 Windows 샌드박스 찾아 선택하거나 'Windows 샌드박스'을 검색합니다. 이렇게 하면 다음 속성을 사용하여 최대 4GB 메모리 용량의 기본 샌드박스가 시작됩니다.
- vGPU(가상화된 GPU): 비 Arm64 디바이스에서 사용하도록 설정됩니다.
- 네트워킹: 사용. 샌드박스는 Hyper-V 기본 스위치를 사용합니다.
- 오디오 입력: 사용. 샌드박스는 호스트의 마이크 입력을 샌드박스에 공유합니다.
- 비디오 입력: 사용 안 함. 샌드박스는 호스트의 비디오 입력을 샌드박스에 공유하지 않습니다.
- 보호된 클라이언트: 사용 안 함. 샌드박스는 RDP(원격 데스크톱 프로토콜) 세션에서 향상된 보안 설정을 사용하지 않습니다.
- 프린터 리디렉션: 사용 안 함. 샌드박스는 호스트와 프린터를 공유하지 않습니다.
- 클립보드 리디렉션: 사용. 샌드박스는 텍스트와 파일을 앞뒤로 붙여넣을 수 있도록 호스트 클립보드를 샌드박스와 공유합니다.
중요
- 기본적으로 네트워킹은 사용하도록 설정되어 있습니다. 그러면 신뢰할 수 없는 애플리케이션이 내부 네트워크에 노출될 수 있습니다. 네트워킹을 사용하지 않도록 설정된 샌드박스를 시작하려면 사용자 지정 .wsb 파일을 사용합니다.
- 클립보드 리디렉션을 자동으로 사용하도록 설정하면 호스트에서 파일을 쉽게 복사하여 Windows 샌드박스 창에 붙여넣을 수 있습니다.
파일을 자유롭게 열고, 웹에서 애플리케이션을 설치하고, 격리된 클린 환경의 이점을 활용하는 다양한 다른 작업을 수행할 수 있습니다.
실험을 마치면 샌드박스를 닫습니다. 모든 샌드박스 콘텐츠의 삭제를 확인하는 대화 상자가 표시됩니다. 확인을 선택하여 계속 진행합니다. 호스트 컴퓨터에서 Windows 샌드박스 수정한 내용이 표시되지 않는지 확인합니다.
사용자 지정 Windows 샌드박스 구성
Windows 샌드박스 샌드박스에 대한 최소한의 사용자 지정 매개 변수 집합을 제공하는 간단한 구성 파일을 지원합니다. 이 기능은 Windows 10 빌드 18342 또는 Windows 11 사용할 수 있습니다. Windows 샌드박스 구성 파일은 XML 형식으로 지정되며 파일 확장자를 .wsb
통해 샌드박스와 연결됩니다.
구성 파일을 사용하면 사용자가 Windows 샌드박스 다음과 같은 측면을 제어할 수 있습니다.
- vGPU(가상화된 GPU): 가상화된 GPU를 사용하거나 사용하지 않도록 설정합니다. vGPU를 사용하지 않도록 설정하면 샌드박스에서 WARP(Windows Advanced Rasterization Platform)를 사용합니다.
- 네트워킹: 샌드박스 내에서 네트워크 액세스를 사용하거나 사용하지 않도록 설정합니다.
- 매핑된 폴더: 읽기 또는 쓰기 권한이 있는 호스트의 폴더를 공유합니다. 호스트 디렉터리를 노출하면 악성 소프트웨어가 시스템에 영향을 미치거나 데이터를 도용할 수 있습니다.
- 로그온 명령: Windows 샌드박스 시작할 때 실행할 명령입니다.
- 오디오 입력: 호스트의 마이크 입력을 샌드박스에 공유합니다.
- 비디오 입력: 호스트의 웹캠 입력을 샌드박스에 공유합니다.
- 보호된 클라이언트: 샌드박스에 대한 RDP(원격 데스크톱 프로토콜) 세션의 보안 설정을 Places.
- 프린터 리디렉션: 호스트에서 샌드박스로 프린터를 공유합니다.
- 클립보드 리디렉션: 텍스트와 파일을 앞뒤로 붙여넣을 수 있도록 호스트 클립보드를 샌드박스와 공유합니다.
- 메모리(MB): 샌드박스에 할당할 메모리 양(MB)입니다.
참고
현재 샌드박스 창의 크기는 구성할 수 없습니다.
구성 파일 만들기
구성 파일을 만들려면 다음을 수행합니다.
일반 텍스트 편집기 또는 소스 코드 편집기(예: 메모장, Visual Studio Code 등)를 엽니다.
다음 줄을 삽입합니다.
<Configuration> </Configuration>
두 줄 사이에 적절한 구성 텍스트를 추가합니다. 자세한 내용은 예제를 참조하세요.
원하는 이름으로 파일을 저장하지만 파일 이름 확장명은 인지 확인합니다
.wsb
. 메모장에서 파일 이름과 확장명은 큰따옴표(예"MyConfigFile.wsb"
: )로 묶어야 합니다.
구성 파일을 사용하려면 구성 파일을 두 번 클릭하여 설정에 따라 Windows 샌드박스 시작합니다. 다음과 같이 명령줄을 통해 호출할 수도 있습니다.
C:\Temp> MyConfigFile.wsb
구성 옵션
vGPU
GPU 공유를 사용하거나 사용하지 않도록 설정합니다.
<vGPU>value</vGPU>
지원되는 값:
- 사용: 샌드박스에서 vGPU 지원을 사용하도록 설정합니다.
- 사용 안 함: 샌드박스에서 vGPU 지원을 사용하지 않도록 설정합니다. 이 값을 설정하면 샌드박스는 가상화된 GPU보다 느려질 수 있는 소프트웨어 렌더링을 사용합니다.
- 기본값: 이 값은 vGPU 지원의 기본값입니다. 현재 이 기본값은 vGPU가 사용하도록 설정되어 있음을 나타내는 것입니다.
참고
가상화된 GPU를 사용하도록 설정하면 샌드박스의 공격 표면이 증가할 수 있습니다.
네트워킹
샌드박스에서 네트워킹을 사용하거나 사용하지 않도록 설정합니다. 샌드박스에 의해 노출되는 공격 노출 영역을 줄이기 위해 네트워크 액세스를 사용하지 않도록 설정할 수 있습니다.
<Networking>value</Networking>
지원되는 값:
- 사용: 샌드박스에서 네트워킹을 사용하도록 설정합니다.
- 사용 안 함: 샌드박스에서 네트워킹을 사용하지 않도록 설정합니다.
- 기본값: 이 값은 네트워킹 지원의 기본값입니다. 이 값은 호스트에서 가상 스위치를 만들어 네트워킹을 사용하도록 설정하고 가상 NIC를 통해 샌드박스를 연결합니다.
참고
네트워킹을 사용하도록 설정하면 신뢰할 수 없는 애플리케이션이 내부 네트워크에 노출될 수 있습니다.
매핑된 폴더
지정된 경로의 샌드박스와 공유되는 호스트 컴퓨터의 위치를 나타내는 폴더 배열입니다. 현재 상대 경로는 지원되지 않습니다.
를 사용하여 <Mappedfolders>
폴더를 매핑하는 경우 로그온 명령을 실행하기 전에 폴더가 매핑됩니다. Windows 11 버전 23H2부터 경로에서 환경 변수를 사용할 수 있습니다.
<MappedFolders>
<MappedFolder>
<HostFolder>absolute or relative path to the host folder</HostFolder>
<SandboxFolder>absolute path to the sandbox folder</SandboxFolder>
<ReadOnly>value</ReadOnly>
</MappedFolder>
<MappedFolder>
...
</MappedFolder>
</MappedFolders>
- HostFolder: 샌드박스에 공유할 호스트 컴퓨터의 폴더를 지정합니다. 폴더가 호스트에 이미 있어야 합니다. 그렇지 않으면 컨테이너가 시작되지 않습니다.
-
SandboxFolder: 폴더를 매핑할 샌드박스의 대상을 지정합니다. 폴더가 없으면 생성됩니다. 샌드박스 폴더를 지정하지 않으면 폴더가 컨테이너 사용자의 데스크톱에 매핑됩니다. 샌드박스의 기본 사용자는 입니다
WDAGUtilityAccount
. - ReadOnly: true이면 컨테이너 내에서 공유 폴더에 대한 읽기 전용 액세스를 적용합니다. 지원되는 값: true/false입니다. 기본값은 false입니다.
참고
호스트에서 매핑된 파일 및 폴더는 샌드박스의 앱에 의해 손상되거나 호스트에 영향을 줄 수 있습니다. 샌드박스 세션 중에 쓰기 권한이 있는 매핑된 폴더에 대한 변경 내용은 샌드박스가 삭제된 후에도 유지됩니다.
로그온 명령
샌드박스가 로그온한 후 자동으로 호출되는 단일 명령을 지정합니다. 샌드박스의 앱은 컨테이너 사용자 계정으로 실행됩니다. 컨테이너 사용자 계정은 관리자 계정이어야 합니다.
<LogonCommand>
<Command>command to be invoked</Command>
</LogonCommand>
명령: 로그인 후 실행될 컨테이너 내의 실행 파일 또는 스크립트에 대한 경로입니다.
참고
매우 간단한 명령(예: 실행 파일 또는 스크립트 시작)이 작동하지만 여러 단계와 관련된 더 복잡한 시나리오를 스크립트 파일에 배치해야 합니다. 이 스크립트 파일은 공유 폴더를 통해 컨테이너에 매핑된 다음 를 통해 <LogonCommand>
실행할 수 있습니다.
오디오 입력
샌드박스에 대한 오디오 입력을 사용하거나 사용하지 않도록 설정합니다.
<AudioInput>value</AudioInput>
지원되는 값:
- 사용: 샌드박스에서 오디오 입력을 사용하도록 설정합니다. 이 값을 설정하면 샌드박스가 사용자로부터 오디오 입력을 받을 수 있습니다. 마이크를 사용하는 애플리케이션에는 이 기능이 필요할 수 있습니다.
- 사용 안 함: 샌드박스에서 오디오 입력을 사용하지 않도록 설정합니다. 이 값을 설정하면 샌드박스가 사용자로부터 오디오 입력을 받을 수 없습니다. 마이크를 사용하는 애플리케이션이 이 설정에서 제대로 작동하지 않을 수 있습니다.
- 기본값: 이 값은 오디오 입력 지원의 기본값입니다. 현재 이 기본값은 오디오 입력이 사용하도록 설정되어 있음을 나타내는 것입니다.
참고
호스트 오디오 입력을 컨테이너에 노출하면 보안에 영향을 미칠 수 있습니다.
비디오 입력
샌드박스에 대한 비디오 입력을 사용하거나 사용하지 않도록 설정합니다.
<VideoInput>value</VideoInput>
지원되는 값:
- 사용: 샌드박스에서 비디오 입력을 사용하도록 설정합니다.
- 사용 안 함: 샌드박스에서 비디오 입력을 사용하지 않도록 설정합니다. 비디오 입력을 사용하는 애플리케이션이 샌드박스에서 제대로 작동하지 않을 수 있습니다.
- 기본값: 이 값은 비디오 입력 지원의 기본값입니다. 현재 이 기본값은 비디오 입력이 사용하지 않도록 설정되어 있음을 나타냅니다. 비디오 입력을 사용하는 애플리케이션이 샌드박스에서 제대로 작동하지 않을 수 있습니다.
참고
호스트 비디오 입력을 컨테이너에 노출하면 보안에 영향을 미칠 수 있습니다.
보호된 클라이언트
보호된 클라이언트 모드를 사용하도록 설정하면 샌드박스는 AppContainer 격리 실행 환경 내에서 를 실행하여 새 보안 경계 계층을 추가합니다. AppContainer 격리는 자격 증명, 디바이스, 파일, 네트워크, 프로세스 및 창 격리를 제공합니다.
<ProtectedClient>value</ProtectedClient>
지원되는 값:
- 사용: 보호된 클라이언트 모드에서 Windows 샌드박스를 실행합니다. 이 값을 설정하면 샌드박스는 AppContainer 격리에서 실행됩니다.
- 사용 안 함: 추가 보안 완화 없이 표준 모드에서 샌드박스를 실행합니다.
- 기본값: 이 값은 보호된 클라이언트 모드의 기본값입니다. 현재 이 기본값은 샌드박스가 보호된 클라이언트 모드에서 실행되지 않음을 표시합니다.
참고
이 설정은 샌드박스에서 파일을 복사/붙여넣는 사용자의 기능을 제한할 수 있습니다.
프린터 리디렉션
호스트에서 샌드박스로 프린터 공유를 사용하거나 사용하지 않도록 설정합니다.
<PrinterRedirection>value</PrinterRedirection>
지원되는 값:
- 사용: 호스트 프린터를 샌드박스에 공유할 수 있습니다.
- 사용 안 함: 샌드박스에서 프린터 리디렉션을 사용하지 않도록 설정합니다. 이 값을 설정하면 샌드박스가 호스트에서 프린터를 볼 수 없습니다.
- 기본값: 이 값은 프린터 리디렉션 지원의 기본값입니다. 현재 이 기본값은 프린터 리디렉션이 사용하지 않도록 설정되어 있음을 나타냅니다.
클립보드 리디렉션
샌드박스와 호스트 클립보드 공유를 사용하거나 사용하지 않도록 설정합니다.
<ClipboardRedirection>value</ClipboardRedirection>
지원되는 값:
- 사용: 샌드박스와 호스트 클립보드를 공유할 수 있습니다.
- 사용 안 함: 샌드박스에서 클립보드 리디렉션을 사용하지 않도록 설정합니다. 이 값을 설정하면 샌드박스에서 복사/붙여넣기 작업이 제한됩니다.
- 기본값: 이 값은 클립보드 리디렉션의 기본값입니다. 현재 호스트와 샌드박스 간에 복사/붙여넣기를 기본값으로 사용할 수 있습니다.
메모리(MB)
샌드박스가 MB(메가바이트)로 사용할 수 있는 메모리 양을 지정합니다.
<MemoryInMB>value</MemoryInMB>
지정된 메모리 값이 샌드박스를 부팅하기에 충분하지 않으면 필요한 최소 2048MB로 자동으로 증가합니다.