[仮想マシンに追加されている TPM は HGS 関連のもの] |
Shielded VMs and Guarded Fabric Validation Guide for Windows Server 2016 (v1.4 8/15/2015)
[URL] https://gallery.technet.microsoft.com/Shielded-VMs-and-Guarded-44176db3
追記) 8/29 付けで TP3 対応版 Shielded VM and Guarded Fabric Deployment Guide for TP3.docx が出ました。TP3 対応版では、Windows Azure Pack がシールド VM 対応になり、その手順も書いてました。
追記) 11/24 付けで TP4 対応版 Technical Preview 4 Step-by-Step Guide:
Deploy Shielded VMs Using Hardware-trusted (TPM) Attestation が出ました。
詳しい説明は省略します。赤い部分が変更点。
● Host Guardian Service のインストールと構成
Install-WindowsFeature -Name HostGuardianServiceRole -IncludeManagementTools
(※ 以下の手順に進む前に、TP3 の FailoverClusters モジュールの修正が必要名場合があります。Install-HgsServer はクラスターをセットアップするために Get-Cluster とか使うんですが、システムロケールが ja-jp の場合、Install-HgsServer を実行する前に対処しておかないとクラスター関連の PowerShell が見つからずに失敗します。原因は、 Microsoft.FailoverClusters.PowerShell.psm1 の 74-75行目、96 行目あたりの文字が壊れているから。→ Windows Server 2016 TP3 > システムロケールと FailoverClusters モジュール問題(の真相))
$dsrmPassword = ConvertTo-SecureString -AsPlainText "<ディレクトリサービス復元モード(DSRM)のパスワード>" -Force
Install-HgsServer -HgsDomainName <HGS専用Active DirectoryドメインのFQDN> -SafeModeAdministratorPassword $dsrmPassword -Restart
(※Initialize-HgsServer の前に自己署名証明書を作っておきます)
$signingCert = New-SelfSignedCertificate -DnsName "Signing-$env:computername.$env:userdnsdomain" -CertStoreLocation Cert:\LocalMachine\My -KeyExportPolicy Exportable
$encryptionCert = New-SelfSignedCertificate -DnsName "Encryption-$env:computername.$env:userdnsdomain" -CertStoreLocation Cert:\LocalMachine\My -KeyExportPolicy Exportable
$communicationCert = New-SelfSignedCertificate -DnsName "$env:computername.$env:userdnsdomain" -CertStoreLocation Cert:\LocalMachine\My -KeyExportPolicy Exportable
Export-Certificate -Cert $communicationCert -FilePath ".\communication.cer"
Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root -FilePath ".\communication.cer"
(※
New-WebBinding -Name "Default Web Site" -IP "*" -Port 443 -Protocol https
$communicationCert | New-Item IIS:\SslBindings\0.0.0.0!443
Initialize-HgsServer -HgsServiceName "MyHgsService" -TrustActiveDirectory -EncryptionCertificateThumbprint $encryptionCert.Thumbprint -SigningCertificateThumbprint $signingCert.Thumbprint -CommunicationsCertificateThumbprint $communicationCert.Thumbprint
(※ -StaticAddress は使用できなくなりました。TPM モード(既定)とAD モードの切り替えは TP3 ではできないので、-TrustActiveDirectory の指定を忘れた場合は Uninstall-HgsServer しないとだめらしい。)
$attestationCert = Set-HgsAttestationSignerCertificate
Add-HgsKeyProtectionAttestationSignerCertificate -Certificate $attestationCert[0]
ローカル環境で以下の 2 つの URL に IE でアクセスできることを確認。
http://localhost/KeyProtection/service/metadata/2014-07/metadata.xml
http://<Host Guardian ServiceのFQDN>/KeyProtection/service/metadata/2014-07/metadata.xml
(※ TP2のときの Register-HgsAttestation -TrustActiveDirectory -force -confirm:$false は実行する必要なし)
● Active Directory ドメインの信頼関係の作成
HGS 専用の Active Directory ドメインの DNS と、ファブリック用 Active Directory ドメインの DNS の両方で、お互いのスタブ ゾーンを作成し、相互に名前解決できるようにしておく。
HGS 側の DC で
netdom trust <Host Guardian Service専用Active DirectoryドメインのFQDN> /domain: <ファブリックのActive DirectoryドメインのFQDN> /userD:<ファブリックのドメイン名>\<ドメイン管理者のユーザー名> /passwordD:<ドメイン管理者のパスワード> /add
ファブリック側の DC で
netdom trust <ファブリックActive DirectoryドメインのFQDN> /domain: <Host Guardian Service専用Active DirectoryドメインのFQDN> /userD:<Host Guardian Service専用Active Directoryドメイン名>\<ドメイン管理者のユーザー名> /passwordD:<ドメイン管理者のパスワード> /add
ファブリック側の DC で
New-ADGroup -Name "GuardedHosts" -SamAccountName "GuardedHosts" -GroupCategory Security -GroupScope Global
Add-ADGroupMember -Identity GuardedHosts -Members guardedhost01$,guardedhost02$
$ADGroup = Get-ADGroup -Identity GuardedHosts
$ADGroup.SID.Value
(※ SID を控える)
HGS 側の DC で
Add-HgsAttestationHostGroup -Name "GuardedHosts" -Identifier "上で控えた SID"
(※ Add-HgsAttestationHostGroupPolicy から Add-HgsAttestationHostGroup に変更されている)
● ファブリック内の Guarded Host の構成
Install-WindowsFeature HostGuardian, RSAT-Shielded-VM-Tools -Restart
または (Hyper-V も一緒にインストールする場合)
Install-WindowsFeature Hyper-V, HostGuardian, RSAT-Shielded-VM-Tools -InculdeManagementTools -Restart
(※ RSAT-Shielded-VM-Tools は必須ではないと思う )
Invoke-WebRequest -Uri http://<Host Guardian ServiceサービスのFQDN>/KeyProtection/service/metadata/2014-07/metadata.xml -outfile ".\GuardianKey.xml"
Import-HgsGuardian -Path ".\GuardianKey.xml" -Name "Guardian"
-AllowUntrustedRoot
Set-HgsClientConfiguration -KeyProtectionServerUrl http://<Host Guardian ServiceのFQDN>/KeyProtection -AttestationServerUrl http://<Host Guardian ServiceのFQDN>/Attestation
(※ クライアントじゃなくするには Set-HgsClientConfiguration -EnableLocalMode を実行する)
● シールド用の Hyper-V ホストの構成 (テナントさんのオンプレミスの Hyper-V 環境)
Install-WindowsFeature HostGuardian, RSAT-Shielded-VM-Tools -Restart
または (Hyper-V も一緒にインストールする場合)
Install-WindowsFeature Hyper-V, HostGuardian, RSAT-Shielded-VM-Tools -InculdeManagementTools -Restart
(※ RSAT-Shielded-VM-Tools は必須ではないと思う )
Invoke-WebRequest -Uri http://<Host Guardian ServiceサービスのFQDN>/KeyProtection/service/metadata/2014-07/metadata.xml -outfile ".\GuardianKey.xml"
Import-HgsGuardian -Path ".\GuardianKey.xml" -Name "Guardian" -AllowUntrustedRoot
Get-HgsGardian
(ローカルのシールド ツールの証明書の名前を確認。DefaultOwner から UntrustedGuardian に変わっているようです)
● 仮想マシンのシールド
第 2 世代仮想マシンにゲスト OS をインストールして、リモートデスクトップ接続を有効化(シールドするとローカルログオンできなくなるので)、シャットダウンして停止したら...
$Guardian = Get-HgsGuardian -Name "Guardian"
$Owner = Get-HgsGuardian -Name "UntrustedGuardianr"
$KP = New-HgsKeyProtector -Owner $Owner -Guardian $Guardian
(※ "A required certificte is not within its validity period when ..."云々のエラーが出る場合は2日ほどあとに実行すれば解決すると思います。日本のタイムゾーンだと、UntrustedOwner の証明書の有効期限がツールインストール時の時間+ 9 時間からになる問題がありそう。ホストの日付を 2 日ほどバックデートして、New-HgsGuardian -GenerateCertificates で作成するという方法もありかも。)
$VMName="<仮想マシン名>"
Add-VMTPM -VMName $vmName
Set-VMTPM -VMName $vmName -Enabled $true -Shielded $true -KeyProtector $kp.RawData
(※ -Shiedled $true が必要になった)
Start-VM -VMName $vmName
仮想マシンが起動したら、リモートデスクトップ接続でゲスト OS に接続し...
Install-WindowsFeature BitLocker -Restart
Enable-BitLocker -MountPoint "C:" -UsedSpaceOnly -TPMProtector
(※この後も再起動必要。再移動後、暗号化スタート)
暗号化が完了したら、シャットダウンして、エクスポートし、Guarded Host にインポート。そして、シールド VM を起動。
● シールドされたテンプレート(VMM用)の作成ツール
Protected Template Disk Creation Wizard (C:\Windows\System32\TemplateDiskWizard.exe) と Shielding Data File Wizard (C:\Windows\System32\ShieldingDataFileWizard.exe) は、Remote Server Administration Tools\Feature Administration Tools\Shielded VM Tools(RSAT-Shielded-VM-Tools )に入ってます。
Install-WindowsFeature -Name RSAT-Shielded-VM-Tools -Restart
(※BitLocker も入るので再起動が必要です)
以下は、System Center 2016 TP3 Virtual Machine Manager 側のインポート画面
追記)
8/29 付けで TP3 対応版 Shielded VM and Guarded Fabric Deployment Guide for TP3.docx が出ました。Guarded Host とシールド用ホストによるシールドと Guarded Host によるシールド VM の実行までの手順は、Import-HgsGuardian の-AllowUntrustedRoot パラメーター以外は私の手順で問題なかったようです(私は自己署名証明書を信頼されたルート証明書としてインポートすることで回避しましたが...)。
さらに追記) VMM の手順、きました。
How to Deploy Host Guardian Service using Service Templates in VMM Tech Preview 3 (16 Sep 2015)
[URL] http://blogs.technet.com/b/scvmm/archive/2015/09/16/how-to-deploy-host-guardian-service-using-service-templates-in-vmm-tech-preview-3.aspx
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。