온-프레미스 장치 상태 증명 서버 구성
작성자: Sanket Mishra
Windows 10 및 Windows 11 모바일 장치에 대한 DHA(장치 상태 증명)를 온-프레미스 Windows 서버를 통해 사용할 수 있습니다. DHA 온-프레미스를 사용하려면 먼저 DHA 서버를 구성해야 합니다.
DHA 서버를 구성한 후 온-프레미스 DHA 서비스를 사용하도록 설정하는 XenMobile Server 정책을 만듭니다. 이 정책 만들기에 대한 자세한 내용은 장치 상태 증명 장치 정책을 참조하십시오.
DHA 서버의 사전 요구 사항
- 데스크톱 환경 설치 옵션을 사용하여 설치된 Windows Server Technical Preview 5 이상을 실행하는 서버.
- 하나 이상의 Windows 10 및 Windows 11 클라이언트 장치. 이러한 장치에는 최신 버전의 Windows를 실행하는 TPM 1.2 또는 2.0이 있어야 합니다.
- 인증서:
- DHA SSL 인증서. 내보내기 가능한 개인 키를 사용하여 엔터프라이즈의 신뢰할 수 있는 루트에 체인으로 연결되는 x.509 SSL 인증서. 이 인증서는 서버-서버(DHA 서비스와 MDM 서버) 및 서버-클라이언트(DHA 서비스와 Windows 10 및 Windows 11 장치) 커뮤니케이션을 포함하여 전송 중인 DHA 데이터 통신을 보호합니다.
- DHA 서명 인증서. 내보내기 가능한 개인 키를 사용하여 엔터프라이즈의 신뢰할 수 있는 루트에 체인으로 연결되는 x.509 인증서. DHA 서비스는 이 인증서를 디지털 서명에 사용합니다.
- DHA 암호화 인증서. 내보내기 가능한 개인 키를 사용하여 엔터프라이즈의 신뢰할 수 있는 루트에 체인으로 연결되는 x.509 인증서. DHA 서비스는 이 인증서를 암호화에도 사용합니다.
- 다음과 같은 인증서 유효성 검사 모드 중에서 하나를 선택합니다.
- EKCert. EKCert 유효성 검사 모드는 인터넷에 연결되지 않은 조직의 장치에 최적화되었습니다. EKCert 유효성 검사 모드에서 실행되는 DHA 서비스에 연결하는 장치는 인터넷에 직접 연결할 수 없습니다.
- AIKCert. AIKCert 유효성 검사 모드는 인터넷에 액세스할 수 있는 작동 환경에 최적화되었습니다. AIKCert 유효성 검사 모드에서 실행되는 DHA 서비스에 연결하는 장치는 인터넷에 직접 연결할 수 있고 Microsoft에서 AIK 인증서를 가져올 수 있어야 합니다.
Windows 서버에 DHA 서버 역할 추가
- Windows 서버에서 서버 관리자가 이미 열려 있지 않은 경우 시작을 클릭하고 서버 관리자를 클릭합니다.
- 역할 및 기능 추가를 클릭합니다.
- 시작하기 전에 페이지에서 다음을 클릭합니다.
- 설치 유형 선택 페이지에서 역할 기반 또는 기능 기반 설치를 클릭하고 다음을 클릭합니다.
- 대상 서버 선택 페이지에서 서버 풀에서 서버 선택을 클릭하고 서버를 선택한 후 다음을 클릭합니다.
- 서버 역할 선택 페이지에서 장치 상태 증명 확인란을 선택합니다.
- 선택 사항: 기능 추가를 클릭하여 필요한 다른 역할 서비스 및 기능을 설치합니다.
- 다음을 클릭합니다.
- 기능 선택 페이지에서 다음을 클릭합니다.
- 웹 서버 역할(IIS) 페이지에서 다음을 클릭합니다.
- 역할 서비스 선택 페이지에서 다음을 클릭합니다.
- 장치 상태 증명 서비스 페이지에서 다음을 클릭합니다.
- 설치 선택 확인 페이지에서 설치를 클릭합니다.
- 설치가 완료되면 닫기를 클릭합니다.
서버의 인증서 저장소에 SSL 인증서 추가
- SSL 인증서 파일로 이동하고 파일을 선택합니다.
-
현재 사용자를 저장소 위치로 선택하고 다음을 클릭합니다.
-
개인 키에 대한 암호를 입력합니다.
-
확장 속성 모두 포함 가져오기 옵션이 선택되었는지 확인합니다. 다음을 클릭합니다.
-
이 창이 나타나면 예를 클릭합니다.
-
인증서가 설치되었는지 확인합니다.
-
명령 프롬프트 창을 엽니다.
-
mmc를 입력하고 Enter 키를 누릅니다. 로컬 컴퓨터 저장소의 인증서를 보려면 관리자 역할이 있어야 합니다.
-
파일 메뉴에서 스냅인 추가/제거를 클릭합니다.
-
추가를 클릭합니다.
-
독립 실행형 스냅인 추가 대화 상자에서 인증서를 선택합니다.
-
추가를 클릭합니다.
-
인증서 스냅인 대화 상자에서 내 사용자 계정을 선택합니다. 서비스 계정 소유자로 로그인한 경우 서비스 계정을 선택합니다.
-
컴퓨터 선택 대화 상자에서 마침을 클릭합니다.
-
-
서버 관리자 > IIS로 이동하고 아이콘 목록에서 서버 인증서를 선택합니다.
-
작업 메뉴에서 가져오기…를 선택하여 SSL 인증서를 가져옵니다.
인증서 지문 검색 및 저장
- 파일 탐색기 검색 표시줄에 mmc를 입력합니다.
-
콘솔 루트 창에서 파일 > 스냅인 추가/제거…를 클릭합니다.
-
사용 가능한 스냅인에서 인증서를 선택하고 선택한 스냅인에 추가합니다.
-
내 사용자 계정을 선택합니다.
-
인증서를 선택하고 확인을 클릭합니다.
-
인증서를 두 번 클릭하고 세부 정보 탭을 선택합니다. 아래로 스크롤하여 인증서 지문을 표시합니다.
- 지문을 파일에 복사합니다. 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
<!--NeedCopy-->
TPM 루트 인증서 추출 및 신뢰할 수 있는 인증서 패키지 설치
Windows 서버에서 다음 명령을 실행합니다.
mkdir .\TrustedTpm
expand -F:* .\TrustedTpm.cab .\TrustedTpm
cd .\TrustedTpm
.\setup.cmd
<!--NeedCopy-->
DHA 서비스 구성
Windows 서버에서 다음 명령을 실행하여 DHA 서비스를 구성합니다.
ReplaceWithThumbprint 자리 표시자를 바꿉니다.
Install-DeviceHealthAttestation -EncryptionCertificateThumbprint ReplaceWithThumbprint
-SigningCertificateThumbprint ReplaceWithThumbprint
-SslCertificateStoreName My -SslCertificateThumbprint ReplaceWithThumbprint
-SupportedAuthenticationSchema "AikCertificate"
<!--NeedCopy-->
Windows 서버에서 다음 명령을 실행하여 DHA 서비스에 대한 인증서 체인 정책을 설정합니다.
$policy = Get-DHASCertificateChainPolicy
$policy.RevocationMode = "NoCheck"
Set-DHASCertificateChainPolicy -CertificateChainPolicy $policy
<!--NeedCopy-->
다음 프롬프트에 다음과 같이 응답합니다.
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
<!--NeedCopy-->
구성 확인
DHASActiveSigningCertificate가 활성 상태인지 확인하려면 서버에서 다음 명령을 실행합니다.
Get-DHASActiveSigningCertificate
인증서가 활성 상태인 경우 인증서 유형(서명)과 지문이 표시됩니다.
DHASActiveSigningCertificate가 활성 상태인지 확인하려면 서버에서 다음 명령을 실행합니다.
표시된 것과 같이 ReplaceWithThumbprint 자리 표시자를 바꾸고 큰따옴표로 묶습니다.
Set-DHASActiveEncryptionCertificate -Thumbprint "ReplaceWithThumbprint" -Force
Get-DHASActiveEncryptionCertificate
<!--NeedCopy-->
인증서가 활성 상태인 경우 지문이 나타납니다.
최종 검사를 수행하려면 다음 URL로 이동합니다.
https://<dha.myserver.com>/DeviceHeathAttestation/ValidateHealthCertificate/v1
DHA 서비스가 실행 중인 경우 “메서드를 사용할 수 없음”이 나타납니다.