interact2015:host guardian service ってなに?(仮)
TRANSCRIPT
後藤諭史( Satoshi GOTO)
某 ISP所属。
仮想化製品が主な専門分野です。
Microsoft MVP - System Center Cloud and Datacenter Management
(Jul.2012 - Jun.2016)
TwitterとBlogはこちら◦ Twitter:@wind06106/Blog:Tech Notes(http://www.dob1.info :ドタバタしてて更新サボってます)
2
セッションの目的◦ Windows Server 2016にて実装される新たなセキュリティー機能『 Shielded VM』と、必須サービスである『 Host Guardian Service』の機能をご理解いただく。
◦ 『 Shielded VM』で保護されるもの、並びに実装上のポイントをご理解いただく。
セッションのゴール◦ 『 Shielded VM』がどのようなセキュリティー保護機能を提供するかを説明できる。
3
Shielded VMと Host Guardian Serviceってなに?
Host Guardian Serviceの実装
Host Guardian Service with SCVMM
まとめ
4
本セッション資料ですが、個人で準備した環境において、個人的に実施した検証/結果を基に記載しています。
あくまで個人の意見/見解であり、所属する会社/組織及びマイクロソフト社とは『まったく/なにも/全然』関係がございません。
所属する会社/組織/マイクロソフト社の正式な回答/見解ではない事に留意してください。
また、本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切の不利益について、発表者は一切の責任を負う事はできませんのでご了承ください。
5
本セッションはWindows Server 2016 Technical Preview 2 (#10074) およびSystem Center 2016 Technical Preview 2 Virtual Machine Manager (#3.2.9234.0)での検証結果を基に記載しています。
今後、仕様および機能は変更される可能性があります。
6
8
物理サーバーと仮想サーバーでは、考慮しなくてはいけない範囲が異なる
管理者 物理マシン 仮想マシン
サーバー管理者 Yes Yes
ストレージ管理者 No Yes
ネットワーク管理者 No Yes
バックアップオペレーター No Yes
仮想化ホスト管理者 No Yes
仮想サーバーの場合、サーバー(仮想マシン)管理者以外がアクセス可能である場合がある
9
管理者 物理マシン 仮想マシン
サーバー管理者 Yes Yes
ストレージ管理者 No Yes
ネットワーク管理者 No Yes
バックアップオペレーター No Yes
仮想化ホスト管理者 No Yes
サーバー管理者以外、データへのアクセス不可能となる。
問題解決
No
No
No
No
11
Windows Server 2016で実装される Host Guardian ServiceとWindows Server 2016 Hyper-Vが連携して実現する、仮想マシンの暗号化ソリューション
仮想マシンには仮想 Trusted Platform Module(TPM) が提供され、vTPMを利用したBitLockerドライブ暗号化にて、起動ドライブを含むすべての仮想ディスクの保護を実施
仮想マシンの起動キーは Host Guardian Serviceサーバーで管理され、 Hyper-Vホストからのキー取得要求を精査し、問題なければキーを発行する
キーを要求する Hyper-Vホストの証明方式 (Attestation Mode)は『 Hardware Rooted Attestation』と『 Administrative Based Attestation』の 2方式から選択して実装する
12
仮想ディスク
BitLockerによるディスク暗号化
コンソール
Hyper-Vマネージャ、SCVMMからのコンソール接続が不可に(操作は全てリモートデスクトップにて実施)
ゲストサービス経由のファイルコピー
コピー不可
15
Hardware Rooted Attestation (H/W-Trusted)
◦ Hyper-Vホストに H/W(TPM 2.0,UEFI 2.3.1)の実装が必要
◦ Hardwareベースとなるため、 Hyper-VホストのPlatform ID をHost Guardian Service
に登録する必要あり
◦ コンフィグレーションは複雑になる
◦ サービスプロバイダー向けの実装
Administrative Based Attestation (Admin-Trusted)
◦ AD間の信頼関係とセキュリティー設定が必要
◦ コンピューターアカウントをセキュリティーグループに登録し、設定を実施
◦ 特別な H/Wを必要とせず、すべて S/W設定で実装可能
◦ 簡単に実装可能
◦ PoCや社内システムとして利用する場合を想定
- Domain Controller
- Host Guardian Service
・ Attestation Server
・ Key Protection Server
Physical or VirtualDomain Controller
16
Internet
Virtual Machine Manager
Hyper-V Hosts
for
Shielded VM
Shielded VMs
Physical Server
- Hyper-V host
- Remote Server
Administration Tools
Host Guardian Service
contoso-hgs.com
Hoster Active Directory
contoso.com
Tenant Infrastructure
fabrikam.com
信頼関係
Service Provider
Infrastructure
17
Attestation Service
(IIS WebApp)
Key Protection Service
(IIS WebApp)
Guarded Host
(Hyper-V Host) Host Guardian Service node
① Shielded VM起動
② Attestation Clientが認証処理開始
Attestation Protocol
REST API
③ Kerberosサービスチケットをホストが提出
④グループメンバーを検証
⑤証明書発行
18
Windows Server 2016 TP2必須
役割として、以下のものを導入
◦ Host Guardian Service
同時に以下のものが自動的に導入
.Net Framework 4.6
Active Directory Domain Service
Failover Clustering
Web Server(IIS)
Windows Process Autentication
19
Windows Server 2016 TP2必須
役割として、以下のものを導入
◦ Hyper-V
機能として、以下のものを導入
◦ Host Guardian Hyper-V Support
◦ Remote Service Administration Tools → Shielded VM Tools
20
System Center TP2 VMMにて、 HGSに対応
PowerShellだけでも HGSは実装可能であるため、オプション扱い
Hyper-Vホストのプロパティで設定
Shielded VMのテンプレート展開も可能
21
Gen2 VMであること
パーティションテーブルが GPTであること
Secure Bootが有効であること
Shielded VMにインストールする OSはWindows Server 2016 TP2またはWindows Server 2012 R2であること
22
Host Guardian Serviceの役割インストール
Host Guardian Serviceのセットアップ( Install-HgsServer)
◦ HGS用 Active Directory Domain Serviceも、このタイミングでセットアップ
Host Guardian Serviceの初期化( Initialize-HgsServer )
◦ HGS Clusterのセットアップも実施
Attestation Modeの設定( Register-HgsAttestation)
Guarded Hostのドメインと信頼関係設定
セキュリティーグループの設定とAttestationポリシーの設定
Key Protection Server用の証明書の発行
Key Protection Server用Webサイトの SSL設定
Key Protection Serverの設定( Register-HgsKeyProtection )
Guarded Hostの設定( Import-HgsGuardian/ New-HgsKeyProtector)
24
Attestation Serverと Key Protection ServerのURLをグローバル設定として一括設定可能
◦ SCVMMを使用しない場合、各 Guarded Hostで『 Set-HgsClientConfiguration 』Cmdletにて Attestation Serverと Key Protection ServerのURLを設定する必要あり
→ この設定を実施しないと、Live Migrationや import/exportでエラーが発生する
SCVMMを利用して、Shielded VMをテンプレートから展開することが可能
◦ 但し、Shielded VM用にカスタマイズ(署名)した VHDXファイルが必要になる
テンプレート展開時、パスワードなどの機密情報を VMMコンソール上で入力不要になる
◦ 事前に Unattend.xmlを作成、Shielding Data File (.PDK)に組み込むことで実現
Shielding Data File で使用可能な VHDXファイルを指定することにより、無許可で変更(もしくは改ざん)された DiskでShielded VMを展開することを防止
『 Setting』→ 『 Host Guardian Server Settings』からグローバル設定として設定
各 Hyper-Vホスト( Guarded Host)から個別設定も可能→ H/W-Trastedの場合は、個別設定をしなければいけない項目が存在
25
27
Windows Server 2016 TP2ないしはWindows Server 2012 R2のインストール ISOから初期イメージを抽出(注 1)
→ イメージ抽出は『 Convert-WindowsImage.ps1』を使用(注 2)
抽出したイメージに BitLockerの役割を導入( Add-WindowsFeature -Vhd)
テンプレート用 Disk署名用証明書を生成
TemplateDiskWizard.exe を使用して、テンプレート用 Diskに署名
署名済みテンプレート用 Diskを SCVMMのライブラリにコピー
署名済みテンプレート用 Disk の Volume Signature Catalog(.vsc)を作成( Get-SCVolumeSignatureCatalog )
署名済みテンプレート用 Diskを使用して、仮想マシンテンプレートを作成
29
(注 1) TP2では、Sysprep済みカスタム VMからテンプレートを作成不可
→ Sysprep済み Diskを TemplateDiskWizard.exe で署名しようとするとエラーが発生
→ Step-by-Stepガイド (Ver.1.3)には『 TP2に限っては、イメージ抽出が必要』と記載
(注 2) Convert-WindowsImage.ps1は、英語環境のみ動作?
→ 日本語環境で実行するとエラー発生、英語環境では正常終了
30
VM作成用の Unattend.xmlを作成
◦ 以下のものを Unattend.xml内で指定可能
Administratorパスワード
ドメイン参加する場合のドメイン名、および参加するためのユーザー名/パスワード
リモートデスクトップ接続の有効化
Windows Firewall設定
コンピューター名( SCVMM側からの設定を引き継ぐことも可能)
タイムゾーン( SCVMM側からの設定を引き継ぐことも可能)
その他言語設定等
Shielding Data File (.PDK)の作成
31
テンプレートから Shielded VMを展開する際に使用する、Unattend.xmlなどを指定した Shielding Data File (.PDK)
を作成するためのツール
テンプレート展開時に使用するテンプレート用 Diskを、Volume Signature Catalog(.VSC)ファイルを使用して指定する
バージョンに関しては、『 Equals』『 Grater than』『 At least』が指定可能で、条件に一致した Diskを使用可能
32
パスワード、ファイヤーウォール設定などのセットアップ情報が記載された Unattend.xml
と同時配布するファイルを指定。以下の例ではリモートデスクトップ用の証明書を配布
Win32_TSGeneralSetting を設定すると、以下のようにRDP接続時の証明書を設定可能
33
OS設定の項目で、設定可能な項目が通常のテンプレート展開時と比べて少なくなっていることが確認できるこれは、パスワード等の機密情報を入力できないようにするための処置
通常展開時 Shielded VM展開時
34
次の画面で、 VM管理者が作成したShielding Data File (.PDK) を指定する画面になるので、あらかじめ作成した pdkファイルを指定するパスワード等は、すべて pdkの設定が反映される
35
SCVMMを使用したテンプレート展開をする場合、 IP Pool からの静的 IP Address が設定不可
→ VMMコンソール上、 IP Addressが割り当てられているようにみえるが、実際には設定されていない
→別途 DHCP Serverが必要
Guarded Hostの Disk I/O性能によっては、VM作成にかかる時間が 60分以上かかる場合がある。その場合、 SCVMMのジョブがタイムアウトで異常終了するので注意が必要
テンプレートで使用している仮想 Diskが、 Shielding Data File内で指定した Disk名とバージョンの条件を満たしていない場合、 Shielded VMの作成に失敗するので注意
39
Shielded VMは、仮想 Diskの暗号化を基軸にした画期的なセキュリティーソリューションですこれにより『仮想 Diskそのもの』の持ち去りから発生する情報漏えいを、未然に防止できます
Hyper-Vベースの Service Provider Cloudを展開している場合、 Shielded VMを導入することにより、顧客に堅牢なセキュリティーという付加価値を提供することも可能です
System Center Virtual Machine Managerを合わせて使用する事により、 Shielded VMの展開もより簡単に実施可能です
機会がありましたら、ぜひ一度テストをしてみてください
40
Shielded VMs and Guarded Fabric Validation Guide for Windows Server 2016https://gallery.technet.microsoft.com/Shielded-VMs-and-Guarded-44176db3
Harden the Fabric: Protecting Tenant Secrets in Hyper-Vhttp://channel9.msdn.com/Events/Ignite/2015/BRK3457
Windows Server 2016世代のクラウド基盤の守護者、Host Guardian Serviceとはhttp://www.atmarkit.co.jp/ait/articles/1506/15/news009.html