다음을 통해 공유


테넌트에 대한 보호된 VM - 보호된 VM을 정의하는 보호 데이터 만들기

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

보호 데이터 파일(구축 데이터 파일 또는 PDK 파이라고도 함)은 테넌트 또는 VM 소유자가 관리자 암호, RDP 및 기타 ID 관련 인증서, 도메인 가입 증명서 등과 같은 중요한 VM 구성 정보를 보호하기 위해 만드는 암호화된 파일입니다. 이 항목에서는 보호 데이터 파일을 만드는 방법에 대한 정보를 제공합니다. 파일을 만들려면 먼저 호스팅 서비스 공급자로부터 템플릿 디스크를 가져오거나 테넌트에 대한 보호된 VM에 설명된 대로 템플릿 디스크를 만들어야 합니다. 템플릿 디스크 만들기(선택 사항).

차폐 데이터 파일의 내용에 대한 목록 및 다이어그램은 차폐 데이터가란 무엇이며 왜 필요한가요?를 참조하세요.

Important

이 섹션의 단계는 보호된 패브릭 외부의 신뢰할 수 있는 별도의 컴퓨터에서 완료되어야 합니다. 일반적으로 VM 소유자(테넌트)는 패브릭 관리자가 아닌 VM에 대한 보호 데이터를 만듭니다.

보호 데이터 파일 만들기를 준비하려면 다음 단계를 수행합니다.

그런 다음, 보호 데이터 파일을 만들 수 있습니다.

(선택 사항) 원격 데스크톱 커넥트ion에 대한 인증서 가져오기

테넌트는 원격 데스크톱 커넥트 또는 기타 원격 관리 도구를 사용하여 보호된 VM에만 연결할 수 있으므로 테넌트가 올바른 엔드포인트에 연결하고 있는지 확인할 수 있어야 합니다(즉, 연결을 가로채는 "중간에 있는 사람"이 없음).

원하는 서버에 연결하는지 확인하는 한 가지 방법은 연결을 시작할 때 표시할 원격 데스크톱 서비스에 대한 인증서를 설치하고 구성하는 것입니다. 서버에 연결하는 클라이언트 컴퓨터는 인증서를 신뢰하는지 여부를 검사 그렇지 않으면 경고를 표시합니다. 일반적으로 연결 클라이언트가 인증서를 신뢰하도록 하기 위해 RDP 인증서는 테넌트의 PKI에서 발급됩니다. 원격 데스크톱 서비스에서 인증서를 사용하는 방법에 대한 자세한 내용은 TechNet에서 찾을 수 있습니다.

사용자 지정 RDP 인증서를 가져와야 하는지 여부를 결정하는 데 도움이 되도록 다음을 고려합니다.

  • 랩 환경에서 보호된 VM을 테스트하는 경우 사용자 지정 RDP 인증서가 필요하지 않습니다 .
  • VM이 Active Directory에 가입하도록 구성된 경우기본 일반적으로 조직의 인증 기관에서 컴퓨터 인증서를 자동으로 발급하고 RDP 연결 중에 컴퓨터를 식별하는 데 사용됩니다. 사용자 지정 RDP 인증서가 필요하지 않습니다.
  • VM이 연결되지 않았지만기본 원격 데스크톱을 사용할 때 올바른 컴퓨터에 연결하고 있는지 확인하는 방법을 원하는 경우 사용자 지정 RDP 인증서를 사용하는 것이 좋습니다.

보호 데이터 파일에 포함할 RDP 인증서를 선택할 때는 wild카드 인증서를 사용해야 합니다. 하나의 보호 데이터 파일을 사용하여 무제한의 VM을 만들 수 있습니다. 각 VM은 동일한 인증서를 공유하므로 와일드카드 인증서는 VM의 호스트 이름에 관계없이 인증서가 유효하도록 보장합니다.

응답 파일 만들기

VMM의 서명된 템플릿 디스크가 일반화되므로 테넌트는 프로비전 프로세스 중에 보호된 VM을 특수화하는 응답 파일을 제공해야 합니다. 응답 파일(종종 무인 파일이라고 함)은 의도한 역할에 대해 VM을 구성할 수 있습니다. 즉, Windows 기능을 설치하고, 이전 단계에서 만든 RDP 인증서를 등록하고, 다른 사용자 지정 작업을 수행할 수 있습니다. 또한 기본 관리자의 암호 및 제품 키를 포함하여 Windows 설정에 필요한 정보를 제공합니다.

New-ShieldingDataAnswerFile 함수를 가져와서 보호된 VM을 만들기 위한 응답 파일(Unattend.xml 파일)을 생성하는 방법에 대한 자세한 내용은 New-ShieldingDataAnswerFile 함수를 사용하여 응답 파일 생성을 참조하세요. 이 함수를 사용하면 다음과 같은 선택 항목을 반영하는 응답 파일을 보다 쉽게 생성할 수 있습니다.

  • VM은 초기화 프로세스가 끝날 때 기본 조인될 예정입니까?
  • VM당 볼륨 라이선스 또는 특정 제품 키를 사용하시겠습니까?
  • DHCP 또는 고정 IP를 사용하고 있나요?
  • VM이 조직에 속한다는 것을 증명하는 데 사용할 사용자 지정 RDP(원격 데스크톱 프로토콜) 인증서를 사용하나요?
  • 초기화가 끝날 때 스크립트를 실행하시겠습니까?

데이터 파일을 보호하는 데 사용되는 응답 파일은 해당 보호 데이터 파일을 사용하여 만든 모든 VM에서 사용됩니다. 따라서 응답 파일에 VM 관련 정보를 하드 코딩하지 않도록 해야 합니다. VMM은 VM에서 VM으로 변경되는 특수화 값을 처리하기 위해 무인 파일에서 일부 대체 문자열(아래 표 참조)을 지원합니다. 이러한 항목은 사용할 필요가 없습니다. 그러나 VMM이 있는 경우 이를 활용합니다.

보호된 VM에 대한 unattend.xml 파일을 만들 때 다음 제한 사항에 유의하세요.

  • VMM을 사용하여 데이터 센터를 관리하는 경우 무인 파일로 인해 VM이 구성된 후 꺼져야 합니다. 이는 VM이 프로비저닝을 완료하고 사용할 준비가 되었다는 것을 테넌트에 보고해야 하는 시기를 VMM이 알 수 있도록 하기 위한 것입니다. VMM은 프로비전 중에 꺼진 것을 감지하면 VM에 자동으로 전원을 다시 켭니다.

  • 구성된 후 VM에 액세스할 수 있도록 RDP 및 해당 방화벽 규칙을 사용하도록 설정해야 합니다. VMM 콘솔을 사용하여 보호된 VM에 액세스할 수 없으므로 VM에 연결하려면 RDP가 필요합니다. Windows PowerShell 원격으로 시스템을 관리하려는 경우 WinRM도 사용하도록 설정되어 있는지 확인합니다.

  • 보호된 VM 무인 파일에서 지원되는 유일한 대체 문자열은 다음과 같습니다.

    Replaceable 요소 대체 문자열
    컴퓨터 이름 @ComputerName@
    TimeZone @TimeZone@
    ProductKey @ProductKey@
    IPAddr4-1 @IP4Addr-1@
    IPAddr6-1 @IP6Addr-1@
    MACAddr-1 @MACAddr-1@
    접두사-1-1 @Prefix-1-1@
    NextHop-1-1 @NextHop-1-1@
    접두사-1-2 @Prefix-1-2@
    NextHop-1-2 @NextHop-1-2@

    둘 이상의 NIC가 있는 경우 첫 번째 숫자를 증가시켜 IP 구성에 대해 여러 대체 문자열을 추가할 수 있습니다. 예를 들어 2개의 NIC에 대해 IPv4 주소, 서브넷 및 게이트웨이를 설정하려면 다음 대체 문자열을 사용합니다.

    대체 문자열 대체 예제
    @IP4Addr-1@ 192.168.1.10/24
    @MACAddr-1@ 이더넷
    @Prefix-1-1@ 24
    @NextHop-1-1@ 192.168.1.254
    @IP4Addr-2@ 10.0.20.30/24
    @MACAddr-2@ 이더넷 2
    @Prefix-2-1@ 24
    @NextHop-2-1@ 10.0.20.1

대체 문자열을 사용하는 경우 VM 프로비전 프로세스 중에 문자열이 채워지도록 하는 것이 중요합니다. 배포 시와 같은 @ProductKey@ 문자열이 제공되지 않고 ProductKey> 노드를 <무인 파일에 비워 두면 특수화 프로세스가 실패하고 VM에 연결할 수 없습니다.

또한 테이블 끝에 대한 네트워킹 관련 대체 문자열은 VMM 고정 IP 주소 풀을 활용하는 경우에만 사용됩니다. 호스팅 서비스 공급자는 이러한 대체 문자열이 필요한지 알려줄 수 있어야 합니다. VMM 템플릿의 고정 IP 주소에 대한 자세한 내용은 VMM 설명서에서 다음을 참조하세요.

마지막으로 보호된 VM 배포 프로세스는 OS 드라이브만 암호화한다는 점에 유의해야 합니다. 하나 이상의 데이터 드라이브가 있는 보호된 VM을 배포하는 경우 테넌트 do기본에 무인 명령 또는 그룹 정책 설정을 추가하여 데이터 드라이브를 자동으로 암호화하는 것이 좋습니다.

볼륨 서명 카탈로그 파일 가져오기

데이터 파일 보호에는 테넌트가 신뢰하는 템플릿 디스크에 대한 정보도 포함됩니다. 테넌트는 VSC(볼륨 서명 카탈로그) 파일 형식으로 신뢰할 수 있는 템플릿 디스크에서 디스크 서명을 획득합니다. 그런 다음 새 VM이 배포될 때 이러한 서명의 유효성이 검사됩니다. 보호 데이터 파일의 서명이 VM과 함께 배포하려는 템플릿 디스크와 일치하지 않는 경우(즉, 수정되었거나 잠재적으로 악의적인 다른 디스크로 교환된 경우) 프로비전 프로세스가 실패합니다.

Important

VSC는 디스크가 변조되지 않았는지 확인하지만, 테넌트가 처음에 디스크를 신뢰하는 것은 여전히 중요합니다. 테넌트이고 호스트가 템플릿 디스크를 제공하는 경우 해당 템플릿 디스크를 사용하여 테스트 VM을 배포하고 고유한 도구(바이러스 백신, 취약성 스캐너 등)를 실행하여 디스크가 실제로 신뢰할 수 있는 상태인지 확인합니다.

템플릿 디스크의 VSC를 획득하는 방법에는 두 가지가 있습니다.

  1. 호스트(또는 테넌트가 VMM에 액세스할 수 있는 경우 테넌트)는 VMM PowerShell cmdlet을 사용하여 VSC를 저장하고 테넌트에 제공합니다. 이는 호스팅 패브릭의 VMM 환경을 관리하도록 VMM 콘솔이 설치되고 구성된 모든 컴퓨터에서 수행할 수 있습니다. VSC를 저장하는 PowerShell cmdlet은 다음과 같습니다.

    $disk = Get-SCVirtualHardDisk -Name "templateDisk.vhdx"
    
    $vsc = Get-SCVolumeSignatureCatalog -VirtualHardDisk $disk
    
    $vsc.WriteToFile(".\templateDisk.vsc")
    
  2. 테넌트는 템플릿 디스크 파일에 액세스할 수 있습니다. 테넌트가 호스팅 서비스 공급자에 업로드할 템플릿 디스크를 만들거나 테넌트가 호스터의 템플릿 디스크를 다운로드할 수 있는 경우일 수 있습니다. 이 경우 그림에 VMM이 없으면 테넌트는 다음 cmdlet을 실행합니다(보호된 VM 도구 기능과 함께 설치됨, 원격 서버 관리istration Tools의 일부).

    Save-VolumeSignatureCatalog -TemplateDiskPath templateDisk.vhdx -VolumeSignatureCatalogPath templateDisk.vsc
    

신뢰할 수 있는 패브릭 선택

보호 데이터 파일의 마지막 구성 요소는 VM의 소유자 및 보호자와 관련이 있습니다. 보호자는 보호된 VM의 소유자와 실행 권한이 있는 보호된 패브릭을 모두 지정하는 데 사용됩니다.

보호된 VM을 실행하도록 호스팅 패브릭에 권한을 부여하려면 호스팅 서비스 공급자의 호스트 보호 서비스에서 보호자 메타데이터를 가져와야 합니다. 종종 호스팅 서비스 공급자는 관리 도구를 통해 이 메타데이터를 제공합니다. 엔터프라이즈 시나리오에서는 직접 메타데이터를 가져올 수 있습니다.

사용자 또는 호스팅 서비스 공급자는 다음 작업 중 하나를 수행하여 HGS에서 보호자 메타데이터를 가져올 수 있습니다.

  • 다음 Windows PowerShell 명령을 실행하거나 웹 사이트로 이동하여 표시되는 XML 파일을 저장하여 HGS에서 직접 보호자 메타데이터를 가져옵니다.

    Invoke-WebRequest 'http://hgs.bastion.local/KeyProtection/service/metadata/2014-07/metadata.xml' -OutFile .\RelecloudGuardian.xml
    
  • VMM PowerShell cmdlet을 사용하여 VMM에서 보호자 메타데이터를 가져옵니다.

    $relecloudmetadata = Get-SCGuardianConfiguration
    $relecloudmetadata.InnerXml | Out-File .\RelecloudGuardian.xml -Encoding UTF8
    

계속하기 전에 보호된 VM이 실행되도록 권한을 부여하려는 보호된 각 패브릭에 대한 보호자 메타데이터 파일을 가져옵니다.

보호 데이터 파일 마법사를 사용하여 보호 데이터 파일 만들기 및 보호자 추가

데이터 파일 보호 마법사를 실행하여 PDK(보호 데이터) 파일을 만듭니다. 여기서는 이전 단계에서 얻은 RDP 인증서, 무인 파일, 볼륨 서명 카탈로그, 소유자 보호자 및 다운로드한 보호자 메타데이터를 추가합니다.

  1. 서버 관리자 또는 다음 Windows PowerShell 명령을 사용하여 컴퓨터에 원격 서버 관리istration > Tools 기능 관리Istration Tools > Shielded VM Tools를 설치합니다.

    Install-WindowsFeature RSAT-Shielded-VM-Tools
    
  2. 시작 메뉴 관리istrator Tools 섹션에서 또는 다음 실행 파일 C:\Windows\System32\ShieldingDataFileWizard.exe를 실행하여 데이터 파일 보호 마법사를 엽니다.

  3. 첫 번째 페이지에서 두 번째 파일 선택 상자를 사용하여 보호 데이터 파일의 위치 및 파일 이름을 선택합니다. 일반적으로 보호 데이터(예: HR, IT, Finance)로 만든 VM을 소유하는 엔터티와 실행 중인 워크로드 역할(예: 파일 서버, 웹 서버 또는 무인 파일로 구성된 다른 항목)의 이름을 지정합니다. 보호된 템플릿의 데이터 보호로 설정된 라디오 단추를 그대로 둡니다.

    참고 항목

    데이터 파일 보호 마법사에서 아래 두 가지 옵션을 확인할 수 있습니다.

    • 보호된 템플릿에 대한 데이터 보호
    • 기존 VM 및 보호되지 않은 템플릿에 대한 데이터 보호
      첫 번째 옵션은 보호된 템플릿에서 보호된 새 VM을 만들 때 사용됩니다. 두 번째 옵션을 사용하면 기존 VM을 변환하거나 보호되지 않은 템플릿에서 보호된 VM을 만들 때만 사용할 수 있는 보호 데이터를 만들 수 있습니다.

    Shielding Data File Wizard, file selection

    또한 이 보호 데이터 파일을 사용하여 만든 VM이 실제로 보호되는지 아니면 "암호화 지원" 모드에서 구성할지 선택해야 합니다. 이러한 두 옵션에 대한 자세한 내용은 보호된 패브릭에서 실행할 수 있는 가상 머신 유형은 무엇인가요?를 참조하세요.

    Important

    보호된 VM의 소유자를 정의하고 보호된 VM을 실행할 권한이 부여되는 패브릭을 정의하기 때문에 다음 단계에 주의하세요.
    나중에 보호된 기존 VM을 보호된 VM에서 암호화 지원됨으로 변경하거나 그 반대로 변경하려면 소유자 보호자 소유가 필요합니다.

  4. 이 단계의 목표는 두 배입니다.

    • VM 소유자로 나타내는 소유자 보호자를 만들거나 선택합니다.

    • 이전 단계에서 호스팅 공급자(또는 사용자 고유의) 호스트 보호자 서비스에서 다운로드한 보호자 가져오기

    기존 소유자 보호자를 지정하려면 드롭다운 메뉴에서 적절한 보호자를 선택합니다. 개인 키가 손상되지 않은 로컬 컴퓨터에 설치된 보호자만 이 목록에 표시됩니다. 오른쪽 아래 모서리에서 지역 보호자 관리를 선택하고 만들기를 클릭하고 마법사를 완료하여 소유자 보호자를 만들 수도 있습니다.

    다음으로, 소유자 및 보호자 페이지를 사용하여 이전에 다운로드한 보호자 메타데이터를 다시 가져옵니다. 오른쪽 아래 모서리에서 지역 보호자 관리를 선택합니다. 가져오기 기능을 사용하여 보호자 메타데이터 파일을 가져옵니다. 필요한 보호자를 모두 가져오거나 추가한 후 확인을 클릭합니다. 모범 사례로, 그들이 나타내는 호스팅 서비스 공급자 또는 엔터프라이즈 데이터 센터의 이름을 후견인으로 지정합니다. 마지막으로 보호된 VM을 실행할 수 있는 권한이 있는 데이터 센터를 나타내는 모든 보호자를 선택합니다. 소유자 보호자를 다시 선택할 필요가 없습니다. 완료되면 다음을 클릭합니다.

    Shielding Data File Wizard, owner and guardians

  5. 볼륨 ID 한정자 페이지에서 추가를 클릭하여 보호 데이터 파일에서 서명된 템플릿 디스크에 권한을 부여합니다. 대화 상자에서 VSC를 선택하면 해당 디스크의 이름, 버전 및 서명에 사용된 인증서에 대한 정보가 표시됩니다. 권한을 부여하려는 각 템플릿 디스크에 대해 이 프로세스를 반복합니다.

  6. 특수화 값 페이지에서 찾아보기를 클릭하여 VM을 특수화하는 데 사용할 unattend.xml 파일을 선택합니다.

    맨 아래에 있는 추가 단추를 사용하여 전문화 프로세스 중에 필요한 추가 파일을 PDK에 추가합니다. 예를 들어 무인 파일이 VM에 RDP 인증서를 설치하는 경우(New-ShieldingDataAnswerFile 함수를 사용하여 응답 파일 생성에 설명된 대로) 여기에 RDP 인증서 PFX 파일과 RDPCertificateConfig.ps1 스크립트를 추가해야 합니다. 여기서 지정하는 모든 파일은 생성된 VM의 C:\temp\에 자동으로 복사됩니다. 무인 파일은 경로별로 참조할 때 해당 폴더에 파일이 있어야 합니다.

  7. 다음 페이지에서 선택 항목을 검토한 다음 생성을 클릭합니다.

  8. 완료된 후 마법사를 닫습니다.

PowerShell을 사용하여 보호 데이터 파일 만들기 및 보호자 추가

데이터 파일 보호 마법사 대신 New-ShieldingDataFile을 실행하여 보호 데이터 파일을 만들 수 있습니다.

보호된 패브릭에서 보호된 VM을 실행할 권한을 부여하려면 모든 보호 데이터 파일을 올바른 소유자 및 보호 인증서로 구성해야 합니다. Get-HgsGuardian을 실행하여 보호자를 로컬로 설치한 경우 검사 수 있습니다. 소유자 보호자는 개인 키를 가지고 있지만 데이터 센터의 보호자는 일반적으로 그렇지 않습니다.

소유자 보호자를 만들어야 하는 경우 다음 명령을 실행합니다.

New-HgsGuardian -Name "Owner" -GenerateCertificates

이 명령은 "보호된 VM 로컬 인증서" 폴더 아래에 로컬 컴퓨터의 인증서 저장소에 서명 및 암호화 인증서 쌍을 만듭니다. 가상 머신의 선택을 해제하려면 소유자 인증서와 해당 프라이빗 키가 필요하므로 이러한 인증서가 백업되고 도난으로부터 보호되어야 합니다. 소유자 인증서에 액세스할 수 있는 공격자는 이를 사용하여 보호된 가상 머신을 시작하거나 보안 구성을 변경할 수 있습니다.

가상 머신(기본 데이터 센터, 백업 데이터 센터 등)을 실행하려는 보호된 패브릭에서 보호자 정보를 가져와야 하는 경우 보호된 패브릭에서 검색된 각 메타데이터 파일에 대해 다음 명령을 실행합니다.

Import-HgsGuardian -Name 'EAST-US Datacenter' -Path '.\EastUSGuardian.xml'

자체 서명된 인증서를 사용했거나 HGS에 등록된 인증서가 만료된 경우 Import-HgsGuardian 명령과 함께 및/또는 -AllowExpired 플래그를 사용하여 -AllowUntrustedRoot 보안 검사 무시해야 할 수 있습니다.

또한 이 보호 데이터 파일과 함께 사용하려는 각 템플릿 디스크에 대한 볼륨 서명 카탈로그보호 데이터 응답 파일을 가져와서 운영 체제가 해당 특수화 작업을 자동으로 완료할 수 있도록 해야 합니다. 마지막으로 VM을 완전히 보호할지 아니면 vTPM을 사용하도록 설정할지 결정합니다. 완전히 보호된 VM 또는 -Policy EncryptionSupported 기본 콘솔 연결 및 PowerShell Direct를 허용하는 vTPM 지원 VM에 사용합니다-Policy Shielded.

모든 것이 준비되면 다음 명령을 실행하여 보호 데이터 파일을 만듭니다.

$viq = New-VolumeIDQualifier -VolumeSignatureCatalogFilePath 'C:\temp\marketing-ws2016.vsc' -VersionRule Equals
New-ShieldingDataFile -ShieldingDataFilePath "C:\temp\Marketing-LBI.pdk" -Policy EncryptionSupported -Owner 'Owner' -Guardian 'EAST-US Datacenter' -VolumeIDQualifier $viq -AnswerFile 'C:\temp\marketing-ws2016-answerfile.xml'

보호 데이터 파일에 포함해야 하는 사용자 지정 RDP 인증서, SSH 키 또는 기타 파일을 사용하는 경우 매개 변수를 사용하여 -OtherFile 포함합니다. 다음과 같이 쉼표로 구분된 파일 경로 목록을 제공할 수 있습니다. -OtherFile "C:\source\myRDPCert.pfx", "C:\source\RDPCertificateConfig.ps1"

위의 명령에서 "소유자"(Get-HgsGuardian에서 얻은)라는 보호자는 나중에 VM의 보안 구성을 변경할 수 있지만 'EAST-US Datacenter'는 VM을 실행할 수 있지만 해당 설정을 변경할 수는 없습니다. 보호자가 두 명 이상인 경우 보호자의 이름을 쉼표로 구분합니다 'EAST-US Datacenter', 'EMEA Datacenter'. 볼륨 ID 한정자는 템플릿 디스크의 정확한 버전(같음)만 신뢰하는지 또는 이후 버전(GreaterThanOrEquals)만 신뢰할 수 있는지 여부를 지정합니다. 배포 시 고려할 버전 비교를 위해 디스크 이름 및 서명 인증서가 정확히 일치해야 합니다. 매개 변수에 쉼표로 구분된 볼륨 ID 한정자 목록을 제공하여 둘 이상의 템플릿 디스크를 -VolumeIDQualifier 신뢰할 수 있습니다. 마지막으로 응답 파일을 VM과 함께 제공해야 하는 다른 파일이 있는 경우 매개 변수를 -OtherFile 사용하고 쉼표로 구분된 파일 경로 목록을 제공합니다.

보호 데이터 파일을 구성하는 추가 방법에 대한 자세한 내용은 New-ShieldingDataFileNew-VolumeIDQualifier 에 대한 cmdlet 설명서를 참조하세요.

추가 참조