온-프레미스 장치 상태 증명 서버 구성

Sanket Mishra

Windows 10 모바일 장치에 대한 DHA(장치 상태 증명)를 온-프레미스 Windows 서버를 통해 사용할 수 있습니다. DHA를 온-프레미스로 사용하려면 먼저 DHA 서버를 구성해야 합니다.

DHA 서버를 구성한 후 온-프레미스 DHA 서비스를 사용하도록 설정하는 XenMobile Server 정책을 만듭니다. 이 정책 만들기에 대한 자세한 내용은 장치 상태 증명 장치 정책을 참조하십시오.

DHA 서버의 사전 요구 사항

  • 데스크톱 환경 설치 옵션을 사용하여 설치된 Windows Server Technical Preview 5 이상을 실행하는 서버.
  • 하나 이상의 Windows 10 클라이언트 장치. 이러한 장치에는 최신 버전의 Windows를 실행하는 TPM 1.2 또는 2.0이 있어야 합니다.
  • 인증서:
    • DHA SSL 인증서. 내보내기 가능한 개인 키를 사용하여 엔터프라이즈의 신뢰할 수 있는 루트에 체인으로 연결되는 x.509 SSL 인증서. 이 인증서는 서버-서버(DHA 서비스와 MDM 서버) 및 서버-클라이언트(DHA 서비스와 Windows 10 장치) 커뮤니케이션을 포함하여 전송 중인 DHA 데이터 통신을 보호합니다.
    • DHA 서명 인증서. 내보내기 가능한 개인 키를 사용하여 엔터프라이즈의 신뢰할 수 있는 루트에 체인으로 연결되는 x.509 인증서. DHA 서비스는 이 인증서를 디지털 서명에 사용합니다.
    • DHA 암호화 인증서. 내보내기 가능한 개인 키를 사용하여 엔터프라이즈의 신뢰할 수 있는 루트에 체인으로 연결되는 x.509 인증서. DHA 서비스는 이 인증서를 암호화에도 사용합니다.
  • 다음과 같은 인증서 유효성 검사 모드 중에서 하나를 선택합니다.
    • EKCert. EKCert 유효성 검사 모드는 인터넷에 연결되지 않은 조직의 장치에 최적화되었습니다. EKCert 유효성 검사 모드에서 실행되는 DHA 서비스에 연결하는 장치는 인터넷에 직접 연결할 수 없습니다.
    • AIKCert. AIKCert 유효성 검사 모드는 인터넷에 액세스할 수 있는 작동 환경에 최적화되었습니다. AIKCert 유효성 검사 모드에서 실행되는 DHA 서비스에 연결하는 장치는 인터넷에 직접 연결할 수 있고 Microsoft에서 AIK 인증서를 가져올 수 있어야 합니다.

Windows 서버에 DHA 서버 역할 추가

  1. Windows 서버에서 서버 관리자가 이미 열려 있지 않은 경우 시작을 클릭하고 서버 관리자를 클릭합니다.
  2. 역할 및 기능 추가를 클릭합니다.
  3. 시작하기 전에 페이지에서 다음을 클릭합니다.
  4. 설치 유형 선택 페이지에서 역할 기반 또는 기능 기반 설치를 클릭하고 다음을 클릭합니다.
  5. 대상 서버 선택 페이지에서 서버 풀에서 서버 선택을 클릭하고 서버를 선택한 후 다음을 클릭합니다.
  6. 서버 역할 선택 페이지에서 장치 상태 증명 확인란을 선택합니다.
  7. 선택 사항: 기능 추가를 클릭하여 필요한 다른 역할 서비스 및 기능을 설치합니다.
  8. 다음을 클릭합니다.
  9. 기능 선택 페이지에서 다음을 클릭합니다.
  10. 웹 서버 역할(IIS) 페이지에서 다음을 클릭합니다.
  11. 역할 서비스 선택 페이지에서 다음을 클릭합니다.
  12. 장치 상태 증명 서비스 페이지에서 다음을 클릭합니다.
  13. 설치 선택 확인 페이지에서 설치를 클릭합니다.
  14. 설치가 완료되면 닫기를 클릭합니다.

서버의 인증서 저장소에 SSL 인증서 추가

  1. SSL 인증서 파일로 이동하고 파일을 선택합니다.
  2. 현재 사용자를 저장소 위치로 선택하고 다음을 클릭합니다.

    Windows 서버 관리자의 이미지

  3. 개인 키에 대한 암호를 입력합니다.

  4. 확장 속성 모두 포함 가져오기 옵션이 선택되었는지 확인합니다. 다음을 클릭합니다.

    Windows 서버 관리자의 이미지

  5. 이 창이 나타나면 를 클릭합니다.

    Windows 서버 관리자의 이미지

  6. 인증서가 설치되었는지 확인합니다.

    1. 명령 프롬프트 창을 엽니다.

    2. mmc 를 입력하고 Enter 키를 누릅니다. 로컬 컴퓨터 저장소의 인증서를 보려면 관리자 역할이 있어야 합니다.

    3. 파일 메뉴에서 스냅인 추가/제거를 클릭합니다.

    4. 추가를 클릭합니다.

    5. 독립 실행형 스냅인 추가 대화 상자에서 인증서를 선택합니다.

    6. 추가를 클릭합니다.

    7. 인증서 스냅인 대화 상자에서 내 사용자 계정을 선택합니다. 서비스 계정 소유자로 로그인한 경우 서비스 계정을 선택합니다.

    8. 컴퓨터 선택 대화 상자에서 마침을 클릭합니다.

      Windows 서버 관리자의 이미지

  7. 서버 관리자 > IIS로 이동하고 아이콘 목록에서 서버 인증서를 선택합니다.

    Windows 서버 관리자의 이미지

  8. 작업 메뉴에서 가져오기…를 선택하여 SSL 인증서를 가져옵니다.

    Windows 서버 관리자의 이미지

인증서 지문 검색 및 저장

  1. 파일 탐색기 검색 표시줄에 mmc를 입력합니다.
  2. 콘솔 루트 창에서 파일 > 스냅인 추가/제거…를 클릭합니다.

    Windows 파일 탐색기의 이미지

  3. 사용 가능한 스냅인에서 인증서를 선택하고 선택한 스냅인에 추가합니다.

    Windows 스냅인 추가 또는 제거의 이미지

  4. 내 사용자 계정을 선택합니다.

    Windows 스냅인 추가 또는 제거의 이미지

  5. 인증서를 선택하고 확인을 클릭합니다.

    Windows 스냅인 추가 또는 제거의 이미지

  6. 인증서를 두 번 클릭하고 세부 정보 탭을 선택합니다. 아래로 스크롤하여 인증서 지문을 표시합니다.

    Windows 스냅인 추가 또는 제거의 이미지

  7. 지문을 파일에 복사합니다. PowerShell 명령에서 지문을 사용하는 경우 공백을 제거합니다.

서명 및 암호화 인증서 설치

Windows 서버에서 다음 PowerShell 명령을 실행하여 서명 및 암호화 인증서를 설치합니다.

표시된 것과 같이 ReplaceWithThumbprint 자리 표시자를 바꾸고 큰따옴표로 묶습니다.

$key = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Thumbprint -like "ReplaceWithThumbprint"}

$keyname = $key.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName

$keypath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys" + $keyname icacls $keypath /grant IIS_IUSRS`:R

TPM 루트 인증서 추출 및 신뢰할 수 있는 인증서 패키지 설치

Windows 서버에서 다음 명령을 실행합니다.

mkdir .\TrustedTpm

expand -F:* .\TrustedTpm.cab .\TrustedTpm

cd .\TrustedTpm

.\setup.cmd

DHA 서비스 구성

Windows 서버에서 다음 명령을 실행하여 DHA 서비스를 구성합니다.

ReplaceWithThumbprint 자리 표시자를 바꿉니다.

Install-DeviceHealthAttestation -EncryptionCertificateThumbprint ReplaceWithThumbprint

-SigningCertificateThumbprint ReplaceWithThumbprint

-SslCertificateStoreName My -SslCertificateThumbprint ReplaceWithThumbprint

-SupportedAuthenticationSchema "AikCertificate"

Windows 서버에서 다음 명령을 실행하여 DHA 서비스에 대한 인증서 체인 정책을 설정합니다.

$policy = Get-DHASCertificateChainPolicy

$policy.RevocationMode = "NoCheck"

Set-DHASCertificateChainPolicy -CertificateChainPolicy $policy

다음 프롬프트에 다음과 같이 응답합니다.

  Confirm

    Are you sure you want to perform this action?

    Performing the operation "Install-DeviceHealthAttestation" on target "WIN-N27D1FKCEBT".

    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A

    Adding SSL binding to website 'Default Web Site'.

    Add SSL binding?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Adding application pool 'DeviceHealthAttestation_AppPool' to IIS.

    Add application pool?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Adding web application 'DeviceHealthAttestation' to website 'Default Web Site'.

    Add web application?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Adding firewall rule 'Device Health Attestation Service' to allow inbound connections on port(s) '443'.

    Add firewall rule?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Setting initial configuration for Device Health Attestation Service.

    Set initial configuration?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

    Registering User Access Logging.

    Register User Access Logging?

    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y

구성 확인

DHASActiveSigningCertificate가 활성 상태인지 확인하려면 서버에서 다음 명령을 실행합니다.

Get-DHASActiveSigningCertificate

인증서가 활성 상태인 경우 인증서 유형(서명)과 지문이 표시됩니다.

DHASActiveSigningCertificate가 활성 상태인지 확인하려면 서버에서 다음 명령을 실행합니다.

표시된 것과 같이 ReplaceWithThumbprint 자리 표시자를 바꾸고 큰따옴표로 묶습니다.

Set-DHASActiveEncryptionCertificate -Thumbprint "ReplaceWithThumbprint" -Force

Get-DHASActiveEncryptionCertificate

인증서가 활성 상태인 경우 지문이 나타납니다.

최종 검사를 수행하려면 다음 URL로 이동합니다.

https://<dha.myserver.com>/DeviceHeathAttestation/ValidateHealthCertificate/v1

DHA 서비스가 실행 중인 경우 “메서드를 사용할 수 없음”이 나타납니다.

DHA 서비스 검사의 이미지