다음을 통해 공유


보호된 패브릭 배포를 위한 빠른 시작

이 토픽에서는 보호된 패브릭의 의미, 해당 요구 사항 및 배포 프로세스에 대한 요약을 설명합니다. 자세한 배포 단계는 보호된 호스트 및 보호된 VM에 대한 호스트 보호자 서비스 배포를 참조하세요.

비디오를 선호하시나요? Microsoft Virtual Academy 과정 Windows Server 2016에서 보호된 VM 및 보호된 패브릭 배포를 참조하세요.

보호된 패브릭의 의미

보호된 패브릭이란 호스트에서 실행되는 맬웨어 및 시스템 관리자로부터 검사, 도난 및 변조로부터 테넌트 워크로드를 보호할 수 있는 Windows Server 2016 Hyper-V 패브릭입니다. 이러한 가상화된 테넌트 워크로드(미사용 및 진행 중 모두 보호됨)를 보호된 VM이라고 합니다.

보호된 패브릭에 대한 요구 사항

보호된 패브릭에 대한 요구 사항에는 다음이 포함됩니다.

  • 악성 소프트웨어가 없는 보호된 VM을 실행하는 위치입니다.

    이를 보호된 호스트라고 합니다. 보호된 호스트는 HGS(호스트 보호 서비스)라는 외부 기관에 알려진 신뢰할 수 있는 상태에서 실행 중임을 증명할 수 있는 경우에만 보호된 VM을 실행할 수 있는 Windows Server 2016 Datacenter 버전 Hyper-V 호스트입니다. HGS는 Windows Server 2016의 새로운 서버 역할이며 일반적으로 3노드 클러스터로 배포됩니다.

  • 호스트의 상태가 정상인지 확인하는 방법입니다.

    HGS는 증명을 수행하여 보호된 호스트의 상태를 측정합니다.

  • 정상적인 호스트에 대한 키를 안전하게 릴리스하는 프로세스입니다.

    HGS는 키 보호 및 키 릴리스를 수행하여 키를 정상적인 호스트로 다시 릴리스합니다.

  • 보호된 VM의 보안 프로비저닝 및 호스팅을 자동화하는 관리 도구입니다.

    필요에 따라 보호된 패브릭에 이러한 관리 도구를 추가할 수 있습니다.

    • System Center 2016 Virtual Machine Manager(VMM). VMM은 Hyper-V 및 보호된 패브릭 워크로드와 함께 제공되는 PowerShell cmdlet만 사용하여 얻을 수 있는 것 이상으로 추가 관리 도구를 제공하기 때문에 권장됩니다.
    • System Center 2016 SPF(Service Provider Foundation). 이는 Windows Azure 팩 및 VMM 간의 API 계층이며 Windows Azure 팩을 사용하기 위한 필수 구성 요소입니다.
    • Microsoft Azure 팩은 보호된 패브릭 및 보호된 VM을 관리하기 위해 양호한 그래픽 웹 포털 인터페이스를 제공합니다.

실제로 하나의 결정, 즉 보호된 패브릭에서 사용하는 증명 모드를 미리 결정해야 합니다. HGS에서 Hyper-V 호스트가 정상임을 측정할 수 있는 방법은 두 가지(두 가지 상호 배타적 모드)가 있습니다. HGS를 초기화하는 경우 모드를 선택해야 합니다.

  • 호스트 키 증명 또는 키 모드는 보안 수준이 낮지만 채택하기 쉽습니다.
  • TPM 기반의 증명 또는 TPM 모드는 더 안전하지만 더 많은 구성 및 특정 하드웨어가 필요합니다.

필요한 경우 Windows Server 2019 Datacenter 버전으로 업그레이드된 기존 Hyper-V 호스트를 사용해서 키 모드로 배포한 다음, 서버 하드웨어(TPM 2.0 포함)를 사용할 수 있을 경우 더 안전한 TPM 모드로 변환할 수 있습니다.

이제 요소가 무엇인지 확인했으므로 배포 모델의 예제를 살펴보겠습니다.

현재 Hyper-V 패브릭에서 보호된 패브릭에 가져오는 방법

다음 그림의 Contoso.com과 같은 기존 Hyper-V 패브릭이 있고 Windows Server 2016 보호 패브릭을 빌드하려는 경우를 가정해 보겠습니다.

기존 Hyper-V 패브릭

1단계: Windows Server 2016을 실행하는 Hyper-V 호스트 배포

Hyper-V 호스트는 Windows Server 2016 Datacenter 버전 이상을 실행해야 합니다. 호스트를 업그레이드하는 경우 Standard 버전에서 Datacenter 버전으로 업그레이드할 수 있습니다.

Hyper-V 호스트 업그레이드

2단계: HGS(호스트 보호자 서비스) 배포

그런 다음, HGS 서버 역할을 설치하고 다음 그림에 있는 relecloud.com 예제와 같이 3노드 클러스터로 배포합니다. 이렇게 하려면 다음 세 가지 PowerShell cmdlet이 필요합니다.

  • HGS 역할을 추가하려면 Install-WindowsFeature를 사용합니다.
  • HGS를 설치하려면 Install-HgsServer을 사용합니다.
  • 선택한 증명 모드로 HGS를 초기화하려면 Initialize-HgsServer을 사용합니다.

기존 Hyper-V 서버가 TPM 모드의 필수 구성 요소를 충족하지 않는 경우(예: TPM 2.0이 없는 경우) 패브릭 도메인에 Active Directory 트러스트가 필요한 AD 모드(관리자 기반 증명)를 사용하여 HGS를 초기화할 수 있습니다.

이 예제에서는 Contoso가 규정 준수 요구 사항을 즉시 충족하기 위해 AD 모드에서 처음 배포하고 적절한 서버 하드웨어를 구매한 후 보다 안전한 TPM 기반 증명으로 변환할 계획이라고 가정해 보겠습니다.

HGS 설치

3단계: ID, 하드웨어 기준 및 코드 무결성 정책 추출

Hyper-V 호스트에서 ID를 추출하는 프로세스는 사용 중인 증명 모드에 따라 다릅니다.

AD 모드의 경우 호스트의 ID는 도메인에 가입된 컴퓨터 계정이며 패브릭 도메인에 지정된 보안 그룹의 구성원이어야 합니다. 지정된 그룹의 구성원 자격은 호스트가 정상인지 여부를 결정하는 유일한 결정입니다.

이 모드에서는 패브릭 관리자가 Hyper-V 호스트의 상태를 확인하는 작업만 담당합니다. HGS는 실행이 허용되거나 허용되지 않는 것을 결정하는 데 어떤 역할도 하지 않으므로 맬웨어 및 디버거는 설계된 대로 작동합니다.

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

즉, TPM 모드에 사용되는 엄격한 유효성 검사 단계는 어떤 방식으로도 AD 모드에 사용되지 않습니다.

TPM 모드의 경우 다음 세 가지 사항이 필요합니다.

  1. 각각의 모든 Hyper-V 호스트에 있는 TPM 2.0의 공개 인증 키(또는 EKpub). EKpub를 캡처하려면 Get-PlatformIdentifier를 사용합니다.
  2. 하드웨어 기준. 각 Hyper-V 호스트가 동일한 경우 단일 기준만 필요합니다. 그렇지 않은 경우 하드웨어의 각 클래스에 대해 한 가지가 필요합니다. 기준은 신뢰할 수 있는 컴퓨팅 그룹 로그 파일 또는 TCGlog 형식입니다. TCGlog는 호스트가 완전히 부팅되는 위치까지 UEFI 펌웨어에서 커널을 통해 호스트가 한 모든 작업을 포함합니다. 하드웨어 기준을 캡처하려면 Hyper-V 역할 및 호스트 보호자 Hyper-V 지원 기능을 설치하고 Get-HgsAttestationBaselinePolicy을 사용합니다.
  3. 코드 무결성 검사. 각 Hyper-V 호스트가 동일한 경우 단일 CI 정책만 필요합니다. 그렇지 않은 경우 하드웨어의 각 클래스에 대해 한 가지가 필요합니다. Windows Server 2016 및 Windows 10에는 모두 HVCI(하이퍼바이저 적용 코드 무결성)라는 CI 정책에 대한 새로운 형태의 적용이 있습니다. HVCI는 강력한 적용을 제공하며 신뢰할 수 있는 관리자가 실행하도록 허용한 이진 파일만 실행할 수 있도록 호스트가 허용됩니다. 이러한 지침은 HGS에 추가된 CI 정책으로 래핑됩니다. HGS는 보호된 VM을 실행하도록 허용되기 전에 각 호스트의 CI 정책을 측정합니다. CI 정책을 캡처하려면 New-CIPolicy를 사용합니다. 그런 다음 ConvertFrom-CIPolicy을 사용하여 정책을 이진 형식으로 변환해야 합니다.

ID, 기준 및 CI 정책 추출

이것이 다입니다. 보호된 패브릭은 이를 실행하는 인프라 측면에서 빌드됩니다. 이제 보호된 VM을 간단하고 안전하게 프로비저닝할 수 있도록 보호된 VM 템플릿 디스크 및 보호 데이터 파일을 만들 수 있습니다.

4단계: 보호된 VM에 대한 템플릿 만들기

보호된 VM 템플릿은 신뢰할 수 있는 알려진 시점에 디스크의 서명을 만들어 템플릿 디스크를 보호합니다.  템플릿 디스크가 이후에 맬웨어에 감염된 경우 해당 서명은 보안 보호된 VM 프로비저닝 프로세스에 의해 검색되는 원래 템플릿과 다릅니다.  보호된 템플릿 디스크는 일반 템플릿 디스크에 대해 보호된 템플릿 디스크 만들기 마법사 또는 Protect-TemplateDisk를 실행하여 만들어집니다.

각각은 Windows 10용 원격 서버 관리 도구보호된 VM 도구 기능에 포함되어 있습니다. RSAT를 다운로드한 후 이 명령을 실행하여 보호된 VM 도구 기능을 설치합니다.

Install-WindowsFeature RSAT-Shielded-VM-Tools -Restart

패브릭 관리자 또는 VM 소유자와 같이 신뢰할 수 있는 관리자는 VHDX 템플릿 디스크에 서명하기 위해 인증서(호스팅 서비스 공급자가 제공하는 인증서)가 필요합니다.

보호된 템플릿 디스크 마법사

디스크 서명은 가상 디스크의 OS 파티션을 통해 계산됩니다. OS 파티션에서 변경되는 내용이 있는 경우 서명도 변경됩니다. 이를 통해 사용자는 적절한 서명을 지정하여 신뢰하는 디스크를 강력하게 식별할 수 있습니다.

시작하기 전에 템플릿 디스크 요구 사항을 검토합니다.

5단계: 실딩 데이터 파일 만들기

.pdk 파일이라고도 알려진 실딩 데이터 파일은 관리자 암호와 같은 가상 머신에 대한 중요한 정보를 캡처합니다.

실딩 데이터

실딩 데이터 파일에는 보호된 VM에 대한 보안 정책 설정도 포함됩니다. 실딩 데이터 파일을 만들 때 다음 두 가지 보안 정책 중 하나를 선택해야 합니다.

  • 보호됨

    많은 관리 공격 벡터를 제거하는 가장 안전한 옵션입니다.

  • 암호화 지원

    VM을 암호화할 수 있다는 규정 준수 이점을 제공하지만 Hyper-V 관리자가 VM 콘솔 연결 및 PowerShell Direct 사용과 같은 작업을 수행할 수 있는 보호 수준은 낮습니다.

    새로운 암호화 지원 VM

VMM 또는 Windows Azure 팩과 같은 선택적 관리 요소를 추가할 수 있습니다. 이러한 요소를 설치하지 않고 VM을 만들려면 단계별 - VMM 없이 보호된 VM 만들기를 참조하세요.

6단계: 보호된 VM 만들기

보호된 가상 머신을 만드는 것은 일반 가상 머신과 거의 다르지 않습니다. Windows Azure 팩에서는 이름, 실딩 데이터 파일(나머지 전문화 정보 포함) 및 VM 네트워크만 제공해야 하기 때문에 일반 VM을 만드는 것보다 환경이 훨씬 쉽습니다.

Windows Azure 팩의 새로운 보호된 VM

다음 단계