Share via


搭配叢集共用磁碟區 (CSV) 使用 BitLocker

適用於:Windows Server 2022;Azure Stack HCI、版本 22H2 和 21H2

Bitlocker 概觀

BitLocker 磁碟機加密是一項資料保護功能,可與作業系統整合,以及處理資料竊取或因遺失、遭竊或不當解除委任電腦而導致資料公開的威脅。

在與信賴平台模組 (TPM) 1.2 版或更新版本搭配使用時,BitLocker 可以提供最大保護。 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) 或磁碟。 磁碟可以佈建為復原檔案系統 (ReFS)。 然而,CSV 磁碟機處於重新導向模式,這表示寫入權限會傳送至協調者節點。 有了 CSV,叢集角色可以快速地從一個節點容錯移轉至另一個節點,而無須變更磁碟機擁有權或卸載及重新掛接磁碟區。 CSV 也有助於簡化容錯移轉中潛在之大量 LUN 的管理。

CSV 提供一般用途的叢集檔案系統,它是在 NTFS 或 ReFS 之上。 CSV 應用程式包括:

  • 叢集 Hyper-V 虛擬機器的叢集虛擬硬碟 (VHD/VHDX) 檔案
  • 向外延展檔案共用來儲存向外延展檔案伺服器叢集角色的應用程式資料。 此角色之應用程式資料的範例包括 Hyper-V 虛擬機器檔案和 Microsoft SQL Server 資料。 Windows Server 2012 R2 和較早版本中的向外延展檔案伺服器不支援 ReFS。 如需向外延展檔案伺服器的詳細資訊,請參閱用於應用程式資料的向外延展檔案伺服器
  • SQL Server 2012 和舊版 SQL Server 中的 Microsoft SQL Server 2014 (或更高版本) 容錯移轉叢體執行個體 (FCI) 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 會依照下列順序嘗試使用保護裝置來解除鎖定受保護的磁碟區,而無須使用者介入:

  1. 清除金鑰

  2. 以驅動程式為基礎的自動解除鎖定金鑰

  3. ADAccountOrGroup 保護裝置

    1. 服務內容保護裝置

    2. 使用者保護裝置

  4. 以登錄為基礎的自動解除鎖定金鑰

容錯移轉叢集需要叢集磁碟資源的 Active Directory 型保護裝置選項。 否則,無法在控制台項目中使用 CSV 資源。

Active Directory 網域服務 (AD DS) 保護裝置用於保護在 AD DS 基礎結構中保留的叢集磁碟區。 ADAccountOrGroup 保護裝置是以網域安全性識別碼 (SID) 為基礎的保護裝置,可以繫結至使用者帳戶、電腦帳戶或群組。 對受保護的磁碟區提出解除鎖定要求時,BitLocker 服務會中斷要求,並使用 BitLocker 保護/取消保護 API 來解除鎖定或拒絕要求。

新功能

在舊版 Windows Server 和 Azure Stack HCI 中,唯一支援的加密保護裝置是 SID 型保護裝置,其中使用的帳戶是在 Active Directory 中建立的叢集名稱物件 (CNO),而這是容錯移轉叢集建立作業中的一部分。 由於保護裝置儲存於 Active Directory 並受 CNO 密碼保護,因此這屬於安全的設計。 此外,由於每個容錯移轉節點都可以存取 CNO 帳戶,因此可以輕鬆佈建和解除鎖定磁碟區。

有三種缺點:

  1. 建立容錯移轉叢集時,如未存取資料中心中的 Active Directory 控制器,此方法顯然無效。

  2. 如果 Active Directory 控制器無回應或緩慢,磁碟區解除鎖定 (容錯移轉的一部分) 可能需要太長的時間 (且可能逾時)。

  3. 如果無法使用 Active Directory 控制器,磁碟機的線上程序則會失敗。

已新增下列新功能:容錯移轉叢集會產生並維護磁碟區的 BitLocker 金鑰保護裝置。 它會加密並儲存在本機叢集資料庫中。 由於叢集資料庫是以每個叢集節點上系統磁碟區備份的複寫存放區,因此每個叢集節點上的系統磁碟區也應受到 BitLocker 保護。 由於某些解決方案可能不想要或不需要將系統磁碟區加密,因此容錯移轉叢集不會強制執行它。 如果系統磁碟機未受 Bitlocker 保護,容錯移轉叢集會在線上和解除鎖定程序期間將此標示為警告事件。 如果容錯移轉叢集驗證偵測到這是無 Active Directory 或工作群組設定,且系統磁碟區未加密,則會記錄訊息。

安裝 BitLocker 加密

BitLocker 是必須新增至叢集所有節點的功能。

使用伺服器管理員新增 BitLocker

  1. 選取伺服器管理員圖示或執行 servermanager.exe,以開啟 [伺服器管理員]

  2. 從伺服器管理員導覽列選取 [管理],然後選取 [新增角色及功能],以啟動 [新增角色及功能精靈]

  3. 開啟 [新增角色及功能精靈] 後,在 [開始之前] 窗格中 (如出現),選取 [下一步]

  4. 在 [新增角色及功能精靈] 的 [安裝類型] 窗格中,選取 [角色型或功能型安裝],然後選取[下一步] 以繼續作業。

  5. 在 [選取伺服器] 窗格中,選取 [從伺服器集區選取伺服器] 選項並確認伺服器,以安裝 BitLocker 功能。

  6. 在 [新增角色及功能精靈] 的 [伺服器角色] 窗格中選取 [下一步],以繼續前往 [功能] 窗格。

  7. 在 [新增角色及功能精靈] 的 [功能] 窗格中,選取 [BitLocker 磁碟機加密] 旁的核取方塊。 此精靈會顯示可供 BitLocker 使用的其他管理功能。 如果不想安裝這些功能,請取消選取 [包含管理工具] 選項,然後選取 [新增功能]。 完成選取選用功能後,請選取 [下一步] 以繼續作業。

注意

增強儲存體功能是啟用 BitLocker 的必要功能。 此功能可在支援的系統上啟用對於加密硬碟的支援。

  1. 選取 [新增角色及功能精靈] 其 [確認] 窗格上的 [安裝],以開始安裝 BitLocker 功能。 BitLocker 功能需要重新開機才能完成。 選取 [確認] 窗格中的 [必要時自動重新啟動目的地伺服器] 選項,即會在安裝完成後強制重新啟動電腦。

  2. 如未選取 [必要時自動重新啟動目的地伺服器] 核取方塊,則 [新增角色及功能精靈] 的 [結果] 窗格會顯示 BitLocker 功能安裝成功或失敗。 如有必要,結果文字會顯示完成功能安裝所需其他動作的通知,例如重新啟動電腦。

使用 PowerShell 新增 BitLocker

對每個伺服器使用以下命令:

Install-WindowsFeature -ComputerName "Node1" -Name "BitLocker" -IncludeAllSubFeature -IncludeManagementTools

若要同時在所有叢集伺服器上執行該命令,請使用下列指令碼修改開頭的變數清單,以符合您的環境:

使用您的值填入這些變數。

$ServerList = "Node1", "Node2", "Node3", "Node4" 
$FeatureList = "BitLocker"

這部分會在 $ServerList 中的所有伺服器上執行 Install-WindowsFeature cmdlet,傳遞 $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 金鑰。

  1. 內部修復金鑰

  2. 外部修復金鑰檔案

使用修復金鑰加密

使用修復金鑰加密磁碟機,即可建立 BitLocker 修復金鑰並新增至叢集資料庫。 磁碟機上線時,僅需諮詢本機叢集 Hive,以取得修復金鑰。

請將磁碟資源移至將啟用 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.

若要繼續,請按下 [是]

若要啟用 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.

若要繼續,請按下 [是]

若要啟用 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 Cmdlet

有了此新功能,已可建立兩個新 Cmdlet 讓資源上線,或使用修復金鑰或修復金鑰檔案手動繼續資源。

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 或工作群組設定,且系統磁碟區未加密,則會記錄訊息。