41
Interact × Cloud Samurai Roadshow 2015/07/11 System Center User Group Japan 後藤 諭史(Satoshi GOTO

Interact2015:Host Guardian Service ってなに?(仮)

Embed Size (px)

Citation preview

Interact × Cloud Samurai Roadshow

2015/07/11

System Center User Group Japan

後藤諭史(Satoshi GOTO)

後藤諭史( 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

7

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

10

仮想ディスクを暗号化したら、仮想マシンを起動できなくないか?

というか、どうやって暗号化するの?

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からのコンソール接続が不可に(操作は全てリモートデスクトップにて実施)

ゲストサービス経由のファイルコピー

コピー不可

13

Enter-PSSession

管理者アカウント、パスワードが判れば Guarded Hostからリモート実行可能

14

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)

23

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

ホストのプロパティで、Guarded Hostとして動作可能かを確認

26

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を使用して、仮想マシンテンプレートを作成

28

テンプレート用 Disk署名ツール

署名する証明書と Diskの名前、バージョンを指定して実行

ここで指定した証明書、 Disk名等がテンプレート用 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の作成に失敗するので注意

VM、テンプレートともに、プロパティから確認可能

36

VMのプロパティ テンプレートのプロパティ

37

Shielded VMを検証する際は、環境を構成するすべてのWindows Server 2016 TP2で最新のWindows Updateを適用すること

冗長化構成は TP2では構成不可

38

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

41