クラスター共有ボリューム (CSV) で BitLocker を使用する
適用対象: Windows Server 2022、Azure Stack HCI、バージョン 22H2 および 21H2
BitLocker の概要
BitLocker ドライブ暗号化は、オペレーティング システムと統合されており、紛失したか、盗難に遭ったか、または不適切に使用停止されたコンピューターからのデータの盗難や漏洩の脅威に対処するデータ保護機能です。
BitLocker は、トラステッド プラットフォーム モジュール (TPM) バージョン 1.2 以降と共に使用すると、最も強力な保護機能を提供します。 TPM は、コンピューターの製造元によって多数の新しいコンピューターにインストールされているハードウェア コンポーネントです。 これは BitLocker と連携して、ユーザー データを保護したり、コンピューターがシステムのオフライン中に改ざんされなかったことを確認したりできるようにします。
TPM バージョン 1.2 以降が存在しないコンピューターでも、引き続き BitLocker を使用して Windows オペレーティング システムのドライブを暗号化できます。 ただし、この実装方法では、コンピューターを起動したり休止状態から再開したりするたびに、ユーザーが USB 起動キーを挿入する必要があります。 Windows 8 からは、オペレーティング システム ボリュームのパスワードを使用して、TPM が存在しないコンピューター上のボリュームを保護できます。 どちらのオプションでも、BitLocker と TPM によって提供される起動前のシステム整合性の検証は提供されません。
TPM に加えて、BitLocker では、ユーザーが暗証番号 (PIN) を指定するか、またはリムーバブル デバイスを挿入するまで通常の起動プロセスをロックするオプションが提供されます。 このデバイスは、スタートアップ キーを含む USB フラッシュ ドライブでもかまいません。 これらの付加的なセキュリティ対策により、多要素認証を実現できます。また、正しい PIN または起動キーが入力されるまで、コンピューターを起動したり休止状態から再開したりできないようにすることもできます。
クラスター共有ボリュームの概要
クラスター共有ボリューム (CSV) を使用すると、Windows Server フェールオーバー クラスターまたは Azure Stack HCI 内の複数のノードで、NTFS ボリュームとしてプロビジョニングされている同じ論理ユニット番号 (LUN) (ディスク) への読み取り/書き込みアクセス権を同時に取得できます。 このディスクは、Resilient File System (ReFS) としてプロビジョニングできます。 ただし、CSV ドライブはリダイレクト モードになります。つまり、書き込みアクセス権がコーディネーター ノードに送信されます。 CSV を使用すると、ドライブの所有権を変更したり、ボリュームをマウント解除して再マウントしたりすることなく、クラスター化されたロールをあるノードから別のノードにすばやくフェールオーバーできます。 また、フェールオーバー クラスター内の多数の LUN の管理も簡素化されます。
CSV は、NTFS または ReFS の上に階層化された汎用の、クラスター化されたファイル システムを提供します。 CSV アプリケーションには、次のものが含まれます。
- クラスター化された Hyper-V 仮想マシン用のクラスター化された仮想ハード ディスク (VHD/VHDX) ファイル
- スケールアウト ファイル サーバーのクラスター化されたロール用のアプリケーション データを格納するためのスケールアウト ファイル共有。 この役割のアプリケーション データの例には、Hyper-V 仮想マシン ファイルや Microsoft SQL Server のデータがあります Windows Server 2012 R2 以前のスケールアウト ファイル サーバーでは、ReFS はサポートされていません。 スケールアウト ファイル サーバーの詳細については、アプリケーション データ用のスケールアウト ファイル サーバーに関するページを参照してください。
- Microsoft SQL Server 2014 (以上) のフェールオーバー クラスター インスタンス (FCI)。SQL Server 2012 以前のバージョンの SQL Server の Microsoft SQL Server のクラスター化されたワークロードでは、CSV の使用はサポートされていません。
- Windows Server 2019 以上の Microsoft 分散トランザクション制御 (MSDTC)
クラスターの共有ボリュームでの BitLocker の使用
クラスター内のボリュームに対する BitLocker は、クラスター サービスから保護対象のボリュームがどのように "見える" かに基づいて管理されます。 ボリュームが、記憶域ネットワーク (SAN) やネットワーク接続ストレージ (NAS) 上の論理ユニット番号 (LUN) など、物理ディスク リソースとなる場合があります。
あるいは、ボリュームをクラスター内のクラスター共有ボリューム (CSV) にすることもできます。 クラスター用に指定されたボリュームで BitLocker を使用する場合は、それがクラスターに追加される前か、またはクラスター内に存在するときに、そのボリュームで BitLocker を有効にできます。 BitLocker を有効にする前に、リソースをメンテナンス モードにします。
Windows PowerShell または Manage-BDE コマンド ライン インターフェイスは、CSV ボリュームの BitLocker を管理するための推奨される方法です。 この方法は、CSV ボリュームがマウント ポイントであるため、BitLocker コントロール パネル項目よりも推奨されます。 マウント ポイントは、他のボリュームへのエントリ ポイントとして使われる NTFS オブジェクトです。 マウント ポイントでは、ドライブ文字を使用する必要がありません。 ドライブ文字がないボリュームは、BitLocker コントロール パネル項目に表示されません。
BitLocker は、次の順序で保護機能を試すことで、ユーザーの介入なしに、保護されたボリュームのロックを解除します。
クリア キー
ドライバー ベースの自動ロック解除キー
ADAccountOrGroup 保護機能
サービス コンテキスト保護機能
ユーザー保護機能
レジストリ ベースの自動ロック解除キー
フェールオーバー クラスターでは、クラスター ディスク リソースに対して Active Directory ベースの保護機能オプションが必要です。 そうでない場合は、コントロール パネル項目で CSV リソースを使用できません。
Active Directory Domain Services (AD DS) 保護機能は、AD DS インフラストラクチャ内に保持されているクラスター化されたボリュームを保護します。 ADAccountOrGroup 保護機能は、ユーザー アカウント、マシン アカウント、またはグループにバインドできる、ドメイン セキュリティ識別子 (SID) ベースの保護機能です。 保護されたボリュームに対してロック解除要求があると、BitLocker サービスはその要求を中断し、BitLocker 保護/保護解除 API を使って、ロックを解除するか、その要求を拒否します。
新しい機能
以前のバージョンの Windows Server および Azure Stack HCI では、サポートされる唯一の暗号化保護機能は SID ベースの保護機能です。この場合、使用されるアカウントは、フェールオーバー クラスタリングの作成の一部として Active Directory 内に作成されたクラスター名オブジェクト (CNO) です。 保護機能が Active Directory に格納され、CNO パスワードによって保護されるため、これは安全な設計です。 また、すべてのフェールオーバー クラスター ノードから CNO アカウントにアクセスできるため、ボリュームのプロビジョニングやロック解除も簡単になります。
欠点は次の 3 つです。
フェールオーバー クラスターが、データセンター内の Active Directory コントローラーにまったくアクセスできない状態で作成されている場合、この方法は明らかに機能しません。
Active Directory コントローラーが無応答または低速である場合は、フェールオーバーの一部としてのボリュームのロック解除に時間がかかりすぎる (場合によっては、タイムアウトする) 可能性があります。
Active Directory コントローラーが使用できない場合は、ドライブのオンライン プロセスが失敗します。
フェールオーバー クラスタリングでボリュームのための独自の BitLocker キー保護機能を生成して保持するという新しい機能が追加されました。 これは暗号化され、ローカルのクラスター データベースに保存されます。 クラスター データベースは、すべてのクラスター ノード上のシステム ボリュームによってサポートされるレプリケートされたストアであるため、すべてのクラスター ノード上のシステム ボリュームも BitLocker で保護する必要があります。 ソリューションによってはシステム ボリュームの暗号化が必要ない場合もあるため、フェールオーバー クラスタリングでこれを強制的に行うことはありません。 システム ドライブで BitLocker が使用されていない場合、フェールオーバー クラスターでは、オンラインおよびロック解除プロセス中にこれに警告イベントのフラグを付けます。 フェールオーバー クラスターの検証では、これが Active Directory なしか、またはワークグループのセットアップであり、システム ボリュームが暗号化されていないことを検出した場合、メッセージをログに記録します。
BitLocker 暗号化のインストール
BitLocker は、クラスターのすべてのノードに追加する必要がある機能です。
サーバー マネージャーを使用した BitLocker の追加
[サーバー マネージャー] アイコンを選択するか、または servermanager.exe を実行することによってサーバー マネージャーを開きます。
サーバー マネージャーのナビゲーション バーから [管理] を選択し、[役割と機能の追加] を選択して、役割と機能の追加ウィザードを開始します。
役割と機能の追加ウィザード を開いたら、 [開始する前に] ウィンドウ (表示される場合) で [次へ] を選択します。
役割と機能の追加ウィザード の [インストールの種類] ウィンドウで [役割ベースまたは機能ベースのインストール] を選択し、 [次へ] を選択して続けます。
[サーバーの選択] ウィンドウで [サーバー プールからサーバーを選択] オプションを選択し、BitLocker 機能をインストールするサーバーを確認します。
役割と機能の追加 ウィザードの [サーバーの役割] ウィンドウで [次へ] を選択して、 [機能] ウィンドウに進みます。
役割と機能の追加ウィザードの [機能] ウィンドウ内で、[BitLocker ドライブ暗号化] の横にあるチェック ボックスをオンにします。 BitLocker で使用できる他の管理機能がウィザードに表示されます。 これらの機能をインストールしたくない場合は、[管理ツールを含める] オプションをオフにして [機能の追加] を選択します。 オプション機能の選択が完了したら、[次へ] を選択して続行します。
Note
BitLocker を有効にするには、 [拡張記憶域] 機能が必要です。 この機能により、対応システムで暗号化ハード ドライブをサポートできます。
役割と機能の追加ウィザード の [確認] ウィンドウで [インストール] を選択し、BitLocker 機能のインストールを開始します。 完了するためには再起動が必要です。 [確認] ウィンドウの [必要に応じて対象サーバーを自動的に再起動する] オプションを選択すると、インストール完了後にコンピューターが強制的に再起動されます。
[必要に応じて対象サーバーを自動的に再起動する] チェック ボックスがオンになっていない場合は、役割と機能の追加ウィザードの [結果] ウィンドウに BitLocker 機能のインストールの成功または失敗が表示されます。 必要な場合は、機能のインストールを完了するために必要な追加の操作 (コンピューターの再起動など) の通知が結果テキストに表示されます。
PowerShell を使用して BitLocker を追加する
各サーバーに対して次のコマンドを使用します。
Install-WindowsFeature -ComputerName "Node1" -Name "BitLocker" -IncludeAllSubFeature -IncludeManagementTools
すべてのクラスター サーバー上でコマンドを同時に実行するには、次のスクリプトを使用し、先頭にある変数の一覧を環境に合わせて変更します。
次の変数に値を入力します。
$ServerList = "Node1", "Node2", "Node3", "Node4"
$FeatureList = "BitLocker"
この部分では、$ServerList 内のすべてのサーバー上で Install-WindowsFeature コマンドレットを実行し、$FeatureList 内の機能の一覧を渡します。
Invoke-Command ($ServerList) {
Install-WindowsFeature -Name $Using:Featurelist -IncludeAllSubFeature -IncludeManagementTools
}
次に、すべてのサーバーを再起動します。
$ServerList = "Node1", "Node2", "Node3", "Node4" Restart-Computer -ComputerName $ServerList -WSManAuthentication Kerberos
複数のロールと機能を同時に追加できます。 たとえば、BitLocker、フェールオーバー クラスタリング、ファイル サーバー ロールを追加するには、必要なすべての機能をコンマで区切って $FeatureList に含めます。 次に例を示します。
$ServerList = "Node1", "Node2", "Node3", "Node4"
$FeatureList = "BitLocker", “Failover-Clustering”, “FS-FileServer”
暗号化されたボリュームをプロビジョニングする
BitLocker 暗号化でのドライブのプロビジョニングは、そのドライブがフェールオーバー クラスターに含まれているときと、追加される前の外部にあるときのどちらでも実行できます。 外部キー保護機能を自動的に作成するには、BitLocker を有効にする前に、そのドライブがフェールオーバー クラスター内のリソースである必要があります。 フェールオーバー クラスターにドライブを追加する前に BitLocker が有効になっている場合は、外部キー保護機能を作成するための追加の手動の手順を実行する必要があります。
暗号化されたボリュームをプロビジョニングするには、PowerShell コマンドを管理者特権で実行する必要があります。 ドライブを暗号化し、フェールオーバー クラスタリングで独自の BitLocker キーを作成して使用できるようにするには、2 つのオプションがあります。
内部の回復キー
外部の回復キー ファイル
回復キーを使用して暗号化する
回復キーを使用してドライブを暗号化すると、BitLocker 回復キーを作成し、クラスター データベースに追加できるようになります。 ドライブがオンラインになったら、ローカル クラスター ハイブで回復キーを調べるだけで済みます。
BitLocker 暗号化を有効にするノードにディスク リソースを移動します。
Get-ClusterSharedVolume -Name "Cluster Disk 1" | Move-ClusterSharedVolume Resource -Node Node1
そのディスク リソースをメンテナンス モードにします。
Get-ClusterSharedVolume -Name "Cluster Disk 1" | Suspend-ClusterResource
次のようなダイアログ ボックスがポップアップ表示されます。
Suspend-ClusterResource
Are you sure that you want to turn on maintenance for Cluster Shared Volume ‘Cluster Disk 1’? Turning on maintenance will stop all clustered roles that use this volume and will interrupt client access.
続行するには、「Yes」を押します。
BitLocker 暗号化を有効にするには、次を実行します。
Enable-BitLocker -MountPoint "C:\\ClusterStorage\\Volume1" -RecoveryPasswordProtector
このコマンドを入力すると、数値の回復パスワードを提供する警告が表示されます。 このパスワードは今後の手順でも必要になるため、安全な場所に保存します。 警告は次のように表示されます。
WARNING: ACTIONS REQUIRED:
1. Save this numerical recovery password in a secure location away from your computer:
271733-258533-688985-480293-713394-034012-061963-682044
To prevent data loss, save this password immediately. This password helps ensure that you can unlock the encrypted volume.
ボリュームの BitLocker 保護機能の情報を取得するには、次のコマンドを実行できます。
(Get-BitlockerVolume -MountPoint "C:\\ClusterStorage\\Volume1").KeyProtector
これにより、キー保護機能 ID と回復パスワード文字列の両方が表示されます。
KeyProtectorId : {26935AC3-8B17-482D-BA3F-D373C7954D29}
AutoUnlockProtector :
KeyProtectorType : RecoveryPassword
KeyFileName :
RecoveryPassword : 271733-258533-688985-480293-713394-034012-061963-682044
KeyCertificateType :
Thumbprint :
キー保護機能 ID と回復パスワードは後で必要になるため、BitLockerProtectorInfo という名前の新しい物理ディスク プライベート プロパティに保存されます。 この新しいプロパティは、リソースがメンテナンス モードから戻されたときに使用されます。 保護機能の形式は、保護機能 ID とパスワードが ":" で区切られた文字列になります。
Get-ClusterSharedVolume "Cluster Disk 1" | Set-ClusterParameter -Name BitLockerProtectorInfo -Value "{26935AC3-8B17-482D-BA3F-D373C7954D29}:271733-258533-688985-480293-713394-034012-061963-682044" -Create
BitlockerProtectorInfo キーと値が設定されていることを確認するには、次のコマンドを実行します。
Get-ClusterSharedVolume "Cluster Disk 1" | Get-ClusterParameter BitLockerProtectorInfo
これで情報が得られたので、暗号化プロセスが完了したら、ディスクをメンテナンス モードから戻すことができます。
Get-ClusterSharedVolume -Name "Cluster Disk 1" | Resume-ClusterResource
リソースをオンラインにできない場合は、ストレージの問題、回復パスワードの間違い、またはその他の何らかの問題である可能性があります。 BitlockerProtectorInfo キーに正しい情報が含まれていることを確認します。 そうでない場合は、前に指定されたコマンドを再び実行する必要があります。 問題がこのキーに関するものでない場合は、組織内の適切なグループまたはストレージ ベンダーと協力して問題を解決することをお勧めします。
リソースがオンラインになったら、それらは正しい情報です。 メンテナンス モードから戻すプロセス中に、BitlockerProtectorInfo キーが削除され、クラスター データベース内のリソースの下に暗号化されます。
外部の回復キー ファイルを使用した暗号化
回復キー ファイルを使用してドライブを暗号化すると、BitLocker 回復キーを作成し、すべてのノードからアクセスできる場所 (ファイル サーバーなど) からアクセス可能にできるようになります。 ドライブがオンラインになったら、所有しているノードが回復キーに接続します。
BitLocker 暗号化を有効にするノードにディスク リソースを移動します。
Get-ClusterSharedVolume -Name "Cluster Disk 2" | Move-ClusterSharedVolume Resource -Node Node2
そのディスク リソースをメンテナンス モードにします。
Get-ClusterSharedVolume -Name "Cluster Disk 2" | Suspend-ClusterResource
ダイアログ ボックスがポップアップ表示されます。
Suspend-ClusterResource
Are you sure that you want to turn on maintenance for Cluster Shared Volume ‘Cluster Disk 2’? Turning on maintenance will stop all clustered roles that use this volume and will interrupt client access.
続行するには、「Yes」を押します。
BitLocker 暗号化を有効にし、キー保護機能ファイルをローカルに作成するには、次のコマンドを実行します。 このファイルは、まずローカルに作成してから、すべてのノードからアクセスできる場所に移動することをお勧めします。
Enable-BitLocker -MountPoint "C:\ClusterStorage\Volume2" -RecoveryKeyProtector -RecoveryKeyPath C:\Windows\Cluster
ボリュームの BitLocker 保護機能の情報を取得するには、次のコマンドを実行できます。
(Get-BitlockerVolume -MountPoint "C:\ClusterStorage\Volume2").KeyProtector
これにより、キー保護機能 ID と、それにより作成されるキー ファイル名の両方が表示されます。
KeyProtectorId : {F03EB4C1-073C-4E41-B43E-B9298B6B27EC}
AutoUnlockProtector :
KeyProtectorType : ExternalKey
KeyFileName : F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
RecoveryPassword :
KeyCertificateType :
Thumbprint :
その作成中に指定したフォルダーに移動しても、一見しただけではそれが表示されません。 この理由は、それが隠しファイルとして作成されるためです。 次に例を示します。
C:\Windows\Cluster\>dir f03
Directory of C:\\Windows\\Cluster
File Not Found
C:\Windows\Cluster\>dir /a f03
Directory of C:\Windows\Cluster
<Date> <Time> 148 F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
C:\Windows\Cluster\>attrib f03
A SHR C:\Windows\Cluster\F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
これはローカル パス上に作成されるため、Copy-Item コマンドを使用して、すべてのノードからアクセスできるようにネットワーク パスにコピーする必要があります。
Copy-Item -Path C:\Windows\Cluster\F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK -Destination \\Server\Share\Dir
このドライブはファイルを使用し、ネットワーク共有上に配置されているため、ファイルへのパスを指定してドライブをメンテナンス モードから戻します。 ドライブの暗号化が完了したら、それを再開するためのコマンドは次のようになります。
Resume-ClusterPhysicalDiskResource -Name "Cluster Disk 2" -RecoveryKeyPath \\Server\Share\Dir\F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
ドライブがプロビジョニングされたら、*.BEK ファイルは共有から削除することができ、必要なくなります。
新しい PowerShell コマンドレット
この新機能では、回復キーまたは回復キー ファイルを使用して、リソースをオンラインにするか、またはリソースを手動で再開するための 2 つの新しいコマンドレットが作成されました。
Start-ClusterPhysicalDiskResource
例 1
Start-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryPassword "password-string"
例 2
Start-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryKeyPath "path-to-external-key-file"
Resume-ClusterPhysicalDiskResource
例 1
Resume-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryPassword "password-string"
例 2
Resume-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryKeyPath "path-to-external-key-file"
新しいイベント
Microsoft-Windows-FailoverClustering/Operational イベント チャネル内に存在する、いくつかの新しいイベントが追加されました。
キー保護機能またはキー保護機能ファイルの作成に成功した場合、表示されるイベントは次のようになります。
Source: Microsoft-Windows-FailoverClustering Event ID: 1810 Task Category: Physical Disk Resource Level: Information Description: Cluster Physical Disk Resource added a protector to a BitLocker encrypted volume.
キー保護機能またはキー保護機能ファイルの作成中にエラーが発生した場合、表示されるイベントは次のようになります。
Source: Microsoft-Windows-FailoverClustering Event ID: 1811 Task Category: Physical Disk Resource Level: Information Description: Cluster Physical Disk Resource failed to create an external key protector for the volume
先に説明したように、クラスター データベースは、すべてのクラスター ノード上のシステム ボリュームによってサポートされるレプリケートされたストアであるため、すべてのクラスター ノード上のシステム ボリュームも BitLocker で保護することをお勧めします。 ソリューションによってはシステム ボリュームの暗号化が必要ない場合もあるため、フェールオーバー クラスタリングでこれを強制的に行うことはありません。 システム ドライブが BitLocker によってセキュリティ保護されていない場合、フェールオーバー クラスターでは、ロック解除またはオンライン プロセス中にこれにイベントのフラグを付けます。 表示されるイベントは次のようになります。
Source: Microsoft-Windows-FailoverClustering Event ID: 1824 Task Category: Physical Disk Resource Level: Warning Description: Cluster Physical Disk Resource contains a BitLocker protected volume, but the system volume is not BitLocker protected. For data protection, it is recommended that the system volume be BitLocker protected as well. ResourceName: Cluster Disk 1
フェールオーバー クラスターの検証では、これが Active Directory なしか、またはワークグループのセットアップであり、システム ボリュームが暗号化されていないことを検出した場合、メッセージをログに記録します。