보호된 패브릭 및 보호된 VM 개요

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016

가상화 보안은 Hyper-V의 주요 투자 영역입니다. 악성 소프트웨어를 실행하는 가상 머신에서 호스트 또는 다른 가상 머신을 보호하는 것 외에 손상된 호스트에서도 가상 머신을 보호해야 합니다. 이는 Hyper-V, VMware 또는 기타 가상화 플랫폼이든 관계없이 오늘날 모든 가상화 플랫폼에 대한 근본적인 위험입니다. 가상 머신이 조직에서 나가는 경우(악의적으로 또는 실수로) 해당 가상 머신을 다른 시스템에서 실행할 수 있습니다. 도메인 컨트롤러, 중요한 파일 서버 및 HR 시스템과 같은 조직의 중요 자산을 보호하는 것은 최우선 과제입니다.

손상된 가상화 패브릭으로부터 보호하기 위해 Windows Server 2016 Hyper-V는 보호된 VM을 도입했습니다. 보호된 VM은 가상 TPM이 있고 BitLocker를 사용하여 암호화되며 패브릭의 정상 및 승인된 호스트에서만 실행할 수 있는 2세대 VM(Windows Server 2012 이상에서 지원됨)입니다. 보호된 VM과 보호된 패브릭을 통해 클라우드 서비스 공급자 또는 엔터프라이즈 프라이빗 클라우드 관리자는 테넌트 VM에 보다 안전한 환경을 제공할 수 있습니다.

보호된 패브릭은 다음으로 구성됩니다.

  • 1 HGS(호스트 보호 서비스)(일반적으로 노드 3개 클러스터).
  • 보호된 호스트 1개 이상.
  • 보호된 가상 컴퓨터 집합 아래 다이어그램에서는 호스트 보호 서비스에서 증명을 사용하여 알려지고 유효한 호스트만 보호된 VM 및 키 보호(보호된 VM의 키를 안전하게 릴리스)를 시작할 수 있도록 하는 방법을 보여 줍니다.

테넌트가 보호된 패브릭에서 실행되는 보호된 VM을 만든 경우 Hyper-V 호스트와 보호된 VM 자체는 HGS로 보호됩니다. HGS는 증명과 키 보호라는 두 가지 개별 서비스를 제공합니다. 증명 서비스는 신뢰할 수 있는 Hyper-V 호스트만 보호된 VM을 실행할 수 있도록 하는 반면, 키 보호 서비스는 전원을 켜고 다른 보호된 호스트로 실시간 마이그레이션하는 데 필요한 키를 제공합니다.

Diagram of the guarded host fabric.

자세한 내용은 보호된 가상 머신 소개에서 이 비디오를 참조하세요.

보호된 패브릭 솔루션의 증명 모드

HGS는 보호된 패브릭에 대해 다양한 증명 모드를 지원합니다.

  • TPM 신뢰할 수 있는 증명(하드웨어 기반)
  • 호스트 키 증명(비대칭 키 쌍 기반)

다음 표에 설명된 대로 TPM에서 신뢰할 수 있는 증명이 더 강력한 보증을 제공하므로 이 증명이 권장되지만 Hyper-V 호스트에 TPM 2.0이 있어야 합니다. 현재 TPM 2.0 또는 TPM이 없는 경우 호스트 키 증명을 사용할 수 있습니다. 새 하드웨어를 구입한 경우 TPM에서 신뢰할 수 있는 증명으로 전환하려면 패브릭 중단 없이 호스트 보호 서비스에서 증명 모드를 전환하면 됩니다.

호스트에 대해 선택한 증명 모드 호스트 보증
TPM에서 신뢰할 수 있는 증명: 가능한 가장 강력한 보호를 제공하지만 추가 구성 단계가 필요합니다. 호스트 하드웨어 및 펌웨어는 보안 부팅을 사용하도록 설정된 TPM 2.0 및 UEFI 2.3.1을 포함해야 합니다. 보호된 호스트는 TPM ID, 측정된 부팅 시퀀스 및 코드 무결성 정책에 따라 승인되어 승인된 코드만 실행되도록 합니다.
호스트 키 증명: TPM 2.0을 사용할 수 없는 기존 호스트 하드웨어를 지원하기 위한 것입니다. 필요한 구성 단계가 적고 일반적인 서버 하드웨어와 호환됩니다. 보호된 호스트는 키 소유에 따라 승인됩니다.

관리 신뢰할 수 있는 증명이라는 또 다른 모드는 Windows Server 2019부터 더 이상 사용되지 않습니다. 이 모드는 지정된 AD DS(Active Directory 도메인 Services) 보안 그룹의 보호된 호스트 멤버 자격을 기반으로 했습니다. 호스트 키 증명은 유사한 호스트 식별을 제공하며 설정하기 쉽습니다.

호스트 보호 서비스에서 제공하는 보증

HGS는 보호된 VM을 만드는 방법과 함께 다음 보증을 제공합니다.

VM에 대한 보증 유형 보호된 VM 보증, 키 보호 서비스 및 보호된 VM에 대한 생성 방법
BitLocker 암호화 디스크(OS 디스크 및 데이터 디스크) 보호된 VM은 BitLocker를 사용하여 디스크를 보호합니다. VM을 부팅하고 디스크의 암호를 해독하는 데 필요한 BitLocker 키는 보호된 VM의 가상 TPM에 의해 보호되며, 보안 측정 부팅과 같은 업계에서 입증된 기술을 사용합니다. 보호된 VM은 운영 체제 디스크를 자동으로 암호화하고 보호하지만 사용자는 보호된 VM에 연결된 데이터 드라이브를 암호화할 수도 있습니다.
"신뢰할 수 있는" 템플릿 디스크/이미지에서 보호된 새 VM 배포 새 보호된 VM을 배포할 때 테넌트는 신뢰할 수 있는 템플릿 디스크를 지정할 수 있습니다. 보호된 템플릿 디스크에는 해당 내용이 신뢰할 수 있는 것으로 간주된 시점에 계산된 서명이 있습니다. 그런 다음 디스크 서명은 테넌트가 보호된 VM을 만들 때 패브릭에 안전하게 제공하는 서명 카탈로그에 저장됩니다. 보호된 VM을 프로비전하는 동안 디스크의 서명이 다시 계산되며 카탈로그의 신뢰할 수 있는 서명과 비교됩니다. 서명이 일치하는 경우 보호된 VM이 배포됩니다. 서명이 일치하지 않으면 보호된 템플릿 디스크가 신뢰할 수 없는 것으로 간주되고 배포가 실패합니다.
보호된 VM을 만들 때 암호 및 기타 비밀 보호 VM을 만들 때 신뢰할 수 있는 디스크 서명, RDP 인증서 및 VM의 로컬 관리이스트레이터 계정의 암호와 같은 VM 비밀이 패브릭으로 유출되지 않도록 해야 합니다. 이러한 암호는 테넌트 키로 보호되고 테넌트에 의해 패브릭에 업로드되는 보호 데이터 파일(.PDK 파일)이라는 암호화된 파일에 저장됩니다. 보호된 VM이 만들어지면 테넌트는 사용할 보호 데이터를 선택합니다. 이러한 암호는 보호된 패브릭 내의 신뢰할 수 있는 구성 요소에만 안전하게 제공됩니다.
VM을 시작할 수 있는 위치에 대한 테넌트 제어 보호 데이터에는 특정 보호된 VM을 실행할 수 있는 보호된 패브릭 목록도 포함됩니다. 이는 예를 들어 보호된 VM이 일반적으로 온-프레미스 프라이빗 클라우드에 상주하지만 재해 복구를 위해 다른(퍼블릭 또는 프라이빗) 클라우드로 마이그레이션해야 하는 경우에 유용합니다. 대상 클라우드 또는 패브릭은 보호된 VM을 지원해야 하며, 보호된 VM은 해당 패브릭에서 실행하도록 허용해야 합니다.

보호 데이터의 정의 및 필요한 이유

보호 데이터 파일(구축 데이터 파일 또는 PDK 파이라고도 함)은 테넌트 또는 VM 소유자가 관리자 암호, RDP 및 기타 ID 관련 인증서, 도메인 가입 증명서 등과 같은 중요한 VM 구성 정보를 보호하기 위해 만드는 암호화된 파일입니다. 패브릭 관리자는 보호된 VM을 만들 때 보호 데이터 파일을 사용하지만 파일에 포함된 정보를 보거나 사용할 수는 없습니다.

그 중에서도 데이터 파일 보호에는 다음과 같은 비밀이 포함됩니다.

  • 관리자 자격 증명
  • 응답 파일(unattend.xml)
  • 이 보호 데이터를 사용하여 만든 VM이 보호 또는 암호화 지원으로 구성되었는지 여부를 결정하는 보안 정책
    • 보호된 VM으로 구성된 VM은 패브릭 관리자로부터 보호되지만 암호화 지원 VM은 보호되지 않습니다.
  • VM과의 원격 데스크톱 통신 보안을 위한 RDP 인증서
  • 새 VM을 만들 수 있는 신뢰할 수 있는 서명된 템플릿 디스크 서명이 포함된 볼륨 서명 카탈로그
  • 보호된 VM을 실행할 수 있는 보호된 패브릭을 정의하는 키 보호기(또는 KP)

보호 데이터 파일(PDK 파일)은 테넌트가 의도한 방식으로 VM이 만들어질 것이라는 것을 보증합니다. 예를 들어 테넌트가 보호 데이터 파일에 응답 파일(unattend.xml)을 배치하고 호스팅 공급자에게 전달하는 경우 호스팅 공급자는 해당 응답 파일을 보거나 변경할 수 없습니다. 마찬가지로 보호된 VM을 만들 때 보호된 VM을 만들 때 보호된 VM을 만들 수 있는 신뢰할 수 있는 디스크의 서명이 포함되므로 호스팅 공급자는 다른 VHDX를 대체할 수 없습니다.

다음 그림에서는 보호 데이터 파일 및 관련 구성 요소를 보여 줍니다.

Illustration that shows the shielding data file and related configuration elements.

보호된 패브릭에서 실행할 수 있는 가상 컴퓨터의 유형

보호된 패브릭은 다음 세 가지 방법 중 하나로 VM을 실행할 수 있습니다.

  1. 이전 버전의 Hyper-V에서 제공하는 수준 이상의 보호를 제공하지 않는 일반 VM
  2. 패브릭 관리자가 보호를 구성할 수 있는 암호화 지원 VM
  3. 보호가 모두 켜져 있고 패브릭 관리자가 비활성화할 수 없는 보호된 VM

암호화 지원 VM은 패브릭 관리자를 완전히 신뢰할 수 있는 경우에 사용됩니다. 예를 들어 기업에서는 규정 준수를 위해 VM 디스크가 암호화된 상태로 유지되도록 보호된 패브릭을 배포할 수 있습니다. 패브릭 관리자는 VM 콘솔 연결, PowerShell Direct 및 기타 일상적인 관리 및 문제 해결 도구와 같은 편리한 관리 기능을 계속 사용할 수 있습니다.

보호된 VM은 패브릭 관리자 및 Hyper-V 호스트에서 실행 중일 수 있는 신뢰할 수 없는 소프트웨어로부터 VM의 데이터와 상태를 보호해야 하는 패브릭에 사용됩니다. 예를 들어 보호된 VM은 VM 콘솔 연결을 허용하지 않지만, 패브릭 관리자는 암호화 지원 VM에 대해 이 보호를 설정하거나 해제할 수 있습니다.

다음 표에는 암호화 지원 VM과 보호된 VM 간의 차이점이 요약되어 있습니다.

기능 2세대 암호화 지원 2세대 보호
보안 부팅 예, 필수이지만 구성 가능 예, 필수 및 적용
Vtpm 예, 필수이지만 구성 가능 예, 필수 및 적용
VM 상태 및 실시간 마이그레이션 트래픽 암호화 예, 필수이지만 구성 가능 예, 필수 및 적용
통합 구성 요소 패브릭 관리자가 구성 가능 차단된 특정 통합 구성 요소(예: 데이터 교환, PowerShell Direct)
가상 머신 연결(콘솔), HID 디바이스(예: 키보드, 마우스) 가동 중, 비활성화할 수 없습니다. Windows Server 버전 1803부터 호스트에서 사용하도록 설정됨 이전 호스트에서 사용 안 함
COM/직렬 포트 지원됨 사용 안 함(사용할 수 없음)
디버거를 VM 프로세스에 연결 1 지원됨 사용 안 함(사용할 수 없음)

1 WinDbg.exe와 같은 프로세스에 직접 연결하는 기존 디버거는 VM의 작업자 프로세스(VMWP.exe)가 보호된 프로세스 라이트(PPL)이기 때문에 보호된 VM에 대해 차단됩니다. LiveKd.exe에서 사용하는 것과 같은 대체 디버깅 기술은 차단되지 않습니다. 보호된 VM과 달리 암호화 지원 VM에 대한 작업자 프로세스는 PPL로 실행되지 않으므로 WinDbg.exe와 같은 기존 디버거는 정상적으로 계속 작동합니다.

보호된 VM과 암호화 지원 VM 모두 실시간 마이그레이션, Hyper-V 복제본, VM 검사점 등 일반적인 패브릭 관리 기능을 계속 지원합니다.

작동 중인 호스트 보호 서비스: 보호된 VM의 전원이 켜는 방법

Diagram of shielding data file workflow.

  1. VM01의 전원이 켜집니다. 보호된 호스트가 보호된 VM에 전원을 공급하려면 먼저 정상임을 긍정적으로 증명해야 합니다. 정상임을 증명하려면 KPS(키 보호 서비스)에 상태 인증서를 제공해야 합니다. 상태 인증서는 증명 프로세스를 통해 가져옵니다.

  2. 호스트가 증명을 요청합니다. 보호된 호스트가 증명을 요청합니다. 증명 모드는 호스트 보호 서비스에 의해 결정됩니다.

    • TPM 신뢰할 수 있는 증명: Hyper-V 호스트는 다음을 포함하는 정보를 보냅니다.

      • TPM 식별 정보(해당 인증 키)

      • 가장 최근의 부팅 시퀀스 중에 시작된 프로세스에 대한 정보(TCG 로그)

      • 호스트에 적용된 CI(코드 무결성) 정책에 대한 정보입니다.

        호스트가 시작될 때와 이후 매 8시간마다 증명이 발생합니다. 어떤 이유로 인해 VM이 시작하려고 할 때 호스트에 증명 인증서가 없는 경우 증명도 트리거됩니다.

    • 호스트 키 증명: Hyper-V 호스트는 키 쌍의 공용 절반을 보냅니다. HGS는 호스트 키가 등록되어 있는지 확인합니다.

    • 관리자가 신뢰할 수 있는 증명: Hyper-V 호스트는 해당 호스트가 속한 보안 그룹을 식별하는 Kerberos 티켓을 보냅니다. HGS는 호스트가 이전에 신뢰할 수 있는 HGS 관리자에 의해 구성된 보안 그룹에 속해 있는지 확인합니다.

  3. 증명에 성공(또는 실패)합니다. 증명 모드는 호스트가 정상임을 성공적으로 증명하기 위해 필요한 검사 결정합니다. TPM에서 신뢰할 수 있는 증명을 사용하면 호스트의 TPM ID, 부팅 측정 및 코드 무결성 정책의 유효성이 검사됩니다. 호스트 키 증명을 사용하면 호스트 키 등록만 유효성이 검사됩니다.

  4. 증명 인증서가 호스트에 전송됩니다. 증명이 성공했다고 가정하면 상태 인증서가 호스트로 전송되고 호스트는 "보호됨"(보호된 VM을 실행할 수 있는 권한)으로 간주됩니다. 호스트는 상태 인증서를 사용하여 키 보호 서비스에 보호된 VM으로 작업하는 데 필요한 키를 안전하게 릴리스할 권한을 부여합니다.

  5. 호스트가 VM 키를 요청합니다. 보호된 호스트에는 보호된 VM(이 경우 VM01)에서 전원을 켜는 데 필요한 키가 없습니다. 필요한 키를 가져오기 위해 보호된 호스트는 KPS에 다음을 제공해야 합니다.

    • 현재 상태 인증서
    • VM01의 전원을 켜는 데 필요한 키가 포함된 암호화된 암호(키 보호기 또는 KP) 암호는 KPS만 알고 있는 다른 키를 사용하여 암호화됩니다.
  6. 키가 릴리스됩니다. KPS는 상태 인증서를 검사하여 유효성을 확인합니다. 인증서가 만료되어서는 안 되며, KPS가 인증서를 발행한 증명 서비스를 신뢰할 수 있어야 합니다.

  7. 키가 호스트에 반환됩니다. 상태 인증서가 유효한 경우 KPS는 비밀을 해독하고 VM의 전원을 켜는 데 필요한 키를 안전하게 반환하려고 시도합니다. 키는 보호된 호스트의 VBS에 암호화됩니다.

  8. VM01의 호스트 전원

보호된 패브릭 및 보호된 VM 용어집

용어 정의
HGS(호스트 보호 서비스) Hyper-V 호스트의 상태를 측정하고 보호된 VM의 전원을 켜거나 실시간으로 마이그레이션할 때 정상 상태의 Hyper-V 호스트에 키를 릴리스할 수 있는 운영 체제 미설치 서버의 보안 클러스터에 설치된 Windows Server 역할입니다. 이 두 기능은 보호된 VM 솔루션에 기본적인 요소이며 각각 증명 서비스키 보호 서비스라고 합니다.
보호된 호스트 보호된 VM을 실행할 수 있는 Hyper-V 호스트입니다. 호스트는 HGS의 증명 서비스에서 정상으로 간주될 때만 보호된 것으로 간주될 수 있습니다. 보호된 VM은 아직 증명되지 않았거나 증명에 실패한 Hyper-V 호스트로 전원을 켜거나 실시간으로 마이그레이션할 수 없습니다.
보호된 패브릭 Hyper-V 호스트와 보호된 VM을 관리하고 실행할 수 있는 해당 호스트 보호 서비스의 패브릭을 설명하는 데 사용되는 총체적 용어입니다.
보호된 VM(가상 머신) 보호된 호스트에서만 실행할 수 있으며 악의적인 패브릭 관리자 및 호스트 맬웨어의 검사, 변조 및 도용으로부터 보호되는 가상 머신.
패브릭 관리자 가상 컴퓨터를 관리할 수 있는 퍼블릭 또는 프라이빗 클라우드 관리자입니다. 보호된 패브릭의 컨텍스트에서 패브릭 관리자는 보호된 VM 또는 보호된 VM을 실행할 수 있는 호스트를 결정하는 정책에 액세스할 수 없습니다.
HGS 관리자 보호된 호스트에 대한 정책 및 암호화 자료를 관리할 권한이 있는 퍼블릭 또는 프라이빗 클라우드의 신뢰할 수 있는 관리자, 즉 보호된 VM을 실행할 수 있는 호스트입니다.
구축 데이터 파일 또는 보호 데이터 파일(PDK 파일) 테넌트 또는 사용자가 중요한 VM 구성 정보를 유지하고 다른 사람의 액세스로부터 해당 정보를 보호하기 위해 만드는 암호화된 파일입니다. 예를 들어 보호 데이터 파일은 VM을 만들 때 로컬 관리자 계정에 할당할 암호를 포함할 수 있습니다.
VBS(가상화 기반 보안) 관리자로부터 보호되는 Hyper-V 기반 처리 및 스토리지 환경입니다. 가상 보안 모드는 운영 체제 관리자에게 표시되지 않는 운영 체제 키를 저장할 수 있는 기능을 시스템에 제공합니다.
가상 TPM 가상화된 버전의 TPM(신뢰할 수 있는 플랫폼 모듈)입니다. Windows Server 2016의 Hyper-V부터 물리적 TPM에서 물리적 컴퓨터를 암호화할 수 있는 것처럼 가상 머신을 암호화할 수 있도록 가상 TPM 2.0 디바이스를 제공할 수 있습니다.

추가 참조