Windows インスタンスの Credential Guard
AWS Nitro System は、Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスの Credential Guard をサポートしています。Credential Guard は Windows 仮想化ベースのセキュリティ (VBS) 機能です。これにより、Windows カーネルの保護だけでなく、Windows ユーザー認証情報やコードインテグリティの適用などのセキュリティ資産を保護するための隔離環境を構築できます。EC2 Windows インスタンスを実行すると、Credential Guard は AWS Nitro System を使用して、Windows ログイン認証情報がオペレーティングシステムのメモリから抽出されないように保護します。
前提条件
Credential Guard を使用するには、Windows インスタンスが 次の前提条件を満たす必要があります。
- Amazon マシンイメージ (AMI)
-
NitroTPM と UEFI Secure Boot を有効にするには、AMI を事前に設定しておく必要があります。サポートされている AMI の詳細については、「Amazon EC2 インスタンスで NitroTPM を使用するための要件」を参照してください。
- メモリインテグリティ
-
ハイパーバイザー保護コードインテグリティ (HVCI) またはハイパーバイザー強制コードインテグリティとも呼ばれるメモリーインテグリティはサポートされていません。認証情報ガードを有効にする前に、この機能が無効になっていることを確認する必要があります。詳細については、「メモリインテグリティの無効化」を参照してください。
- インスタンスタイプ
-
次のインスタンスタイプは、特段の記載がない限り、すべてのサイズで Credential Guard をサポートしています:
C5
、C5d
、C5n
、C6i
、C6id
、C6in
、C7i
、C7i-flex
、M5
、M5d
、M5dn
、M5n
、M5zn
、M6i
、M6id
、M6idn
、M6in
、M7i
、M7i-flex
、R5
、R5b
、R5d
、R5dn
、R5n
、R6i
、R6id
、R6idn
、R6in
、R7i
、R7iz
、T3
。注記
-
NitroTPM には共通して必須インスタンスタイプがいくつかありますが、Credential Guard をサポートするには、インスタンスタイプが上記のインスタンスタイプのいずれかである必要があります。
-
Credential Guard は、以下ではサポートされていません。
-
ベアメタルインスタンス。
-
次のインスタンスタイプ:
C7i.48xlarge
、M7i.48xlarge
、R7i.48xlarge
。
-
インスタンスタイプの詳細については、Amazon EC2 インスタンスタイプガイドを参照してください。
-
サポートされているインスタンスを起動する
Amazon EC2 コンソールまたは AWS Command Line Interface (AWS CLI) を使用して、Credential Guard をサポートしているインスタンスを起動できます。インスタンスを起動するには、AWS リージョン ごとに固有の互換性のある AMI ID が必要です。
ヒント
以下のリンクを使用すると、Amazon EC2 コンソールで Amazon が提供する AMI と互換性のあるインスタンスを検出して起動できます。
メモリインテグリティの無効化
サポートされているシナリオでは、ローカルグループポリシーエディタを使用してメモリインテグリティを無効にできます。次のガイダンスは、[仮想化ベースのコードインテグリティ保護] で各構成設定に適用できます。
-
ロックなしで有効 — メモリインテグリティを無効にするには、設定を [無効] に変更します。
-
UEFI ロックで有効 — メモリインテグリティは UEFI ロックで有効になっています。UEFI ロックで一度有効にすると、メモリの整合性を無効にすることはできません。メモリインテグリティを無効にして新しいインスタンスを作成し、サポートされていないインスタンスが使用されていない場合は終了することをお勧めします。
ローカルグループポリシーエディタでメモリの整合性を無効にするには
-
リモートデスクトッププロトコル (RDP) を使用して、管理者権限を持つユーザーアカウントとしてインスタンスに接続します。詳細については、「RDP クライアントを使用して Windows インスタンスに接続する」を参照してください。
-
スタートメニューを開き、
cmd
を検索してコマンドプロンプトを起動します。 -
次のコマンドを実行して、ローカルグループポリシーエディタ
gpedit.msc
を開きます。 -
ローカルグループポリシーエディタで、[コンピュータの構成]、[管理用テンプレート]、[システム]、[Device Guard] の順に選択します。
-
[仮想化ベースのセキュリティを有効にする] を選択してから、[ポリシー設定の編集] を選択します。
-
[仮想化ベースのコードインテグリティ保護] の設定ドロップダウンを開き、[無効] を選択し、[適用] を選択します。
-
インスタンスを再起動して、変更を適用します。
Credential Guard を有効にする
サポートされているインスタンスタイプと互換性のある AMI を使用して Windows インスタンスを起動し、メモリの整合性が無効になっていることを確認すると、認証情報ガードを有効にできます。
重要
次の手順を実行して Credential Guard を有効にするには、管理者権限が必要です。
Credential Guard を有効にするには
-
リモートデスクトッププロトコル (RDP) を使用して、管理者権限を持つユーザーアカウントとしてインスタンスに接続します。詳細については、「RDP クライアントを使用して Windows インスタンスに接続する」を参照してください。
-
スタートメニューを開き、
cmd
を検索してコマンドプロンプトを起動します。 -
次のコマンドを実行して、ローカルグループポリシーエディタ
gpedit.msc
を開きます。 -
ローカルグループポリシーエディタで、[コンピュータの構成]、[管理用テンプレート]、[システム]、[Device Guard] の順に選択します。
-
[仮想化ベースのセキュリティを有効にする] を選択してから、[ポリシー設定の編集] を選択します。
-
[仮想化ベースのセキュリティを有効にする] メニューで [有効] を選択します。
-
[プラットフォームセキュリティレベルの選択] では、[Secure Boot と DMA 保護] を選択します。
-
[Credential Guard の設定] では、[UEFI ロックで有効] を選択します。
注記
残りのポリシー設定は Credential Guard を有効にするために必要ないため、[未構成] のままにしておくことができます。
以下の画像は、前述のように構成された VBS 設定を示しています。
-
インスタンスを再起動して、設定を適用します。
Credential Guard が実行されていることを確認する
Microsoft システム情報 (Msinfo32.exe
) ツールを使用して、Credential Guard が実行されていることを確認できます。
重要
Credential Guard を有効にするために必要なポリシー設定の適用を完了するには、まずインスタンスを再起動する必要があります。
Credential Guard が実行されていることの確認するには
-
リモートデスクトッププロトコル (RDP) を使用してインスタンスに接続します。詳細については、「RDP クライアントを使用して Windows インスタンスに接続する」を参照してください。
-
インスタンス用の RDP セッションで、スタートメニューを開いて、
cmd
を検索して、コマンドプロンプトを開始します。 -
次のコマンドを実行して、システム情報を開きます:
msinfo32.exe
-
Microsoft システム情報ツールには、VBS 設定の詳細が一覧表示されます。仮想化ベースのセキュリティサービスの横に、[Credential Guard] が [実行中] と表示されていることを確認します。
次の画像は、VBS が前述のように実行されていることを示しています。