一種基于Bitlocker的移動存儲介質管控“食用”指南
00. 參考貼鎮樓
- Group Policy Home :
- https://admx.help/?Category=MDOP&Policy=Microsoft.Policies.BitLockerManagement::OSDriveRecoveryPolicy
- manage-bde 指令:
- https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/manage-bde
- BitLocker 組策略:
- https://docs.microsoft.com/zh-cn/windows/security/information-protection/bitlocker/bitlocker-group-policy-settings
- Bitlocker、TPM和系統安全:
- https://zhuanlan.zhihu.com/p/29840740
- UEFI安全啟動 :
- https://zhuanlan.zhihu.com/p/25279889
01. 寫在前面
如今,很多公司內部會有使用U盤、移動硬盤等可移動存儲介質(Removable Driver)來拷貝、傳遞、存儲項目重要文件的需求,并希望這些內部專用的可移動介質能夠被有效管控。如,僅在項目或部門內流轉,在丟失、被竊、外借的情況下,其中存儲的數據仍然只有指定的設備和人員才能訪問。目前市面上針對USB和U盤管控的第三方工具雖然不少,但大多魚龍混雜,盲目引入不僅徒增采購和管理成本,還可能帶來兼容性問題和新的安全問題,最終適得其反。
如果你的企業使用windows域環境辦公,那么采用基于Windows平臺自帶的Bitlocker磁盤加密技術就可以有效解決上述問題,不僅不需要額外采購第三方工具,也不需要堆人進行復雜的二次開發的情況下,通過簡單配置(或腳本)即可實現對U盤和移動硬盤等移動存儲介質的定制化安全管理。
以下進入“菜單”正式內容,請按順序食用。
02. 前序備注
使用此方案需要了解和具備的條件:
首先,Bitlocker技術僅支持微軟產品系OS的桌面終端和DC域控,尤其建議Server在2012及以上,桌面終端在win10及以上;
使用Bitlocker加密后會有一定程度的讀寫性能下降,尚無量化指標,但我本人使用下來幾乎無感知;
主要使用到的加解密方式分為密碼和TPM密鑰,因密碼方式存在諸多弊端,本文將闡述后者,至于智能卡選項,我相信很少公司會單獨采購;
顧名思義,基于TPM密鑰加解密和自動解鎖的技術方式需要桌面終端具有并啟用TPM模塊,否則只能使用設置密碼的方式加密;
最后,目前尚無曝光的Bitlocker破解技術,所以一旦解密密鑰和還原密鑰都丟失,被加密的分區則無法解密,只能格式化。所以使用Bitlocker技術,密鑰備份是關鍵,這一點我會在后面的配置中再次強調。
03. 實現功能
基于此技術加密后的可移動存儲介質,可實現如下管理需求:
- 授權用戶使用自動解鎖U盤,無需輸入密碼或密鑰信息,過程透明化;
- 以域內賬戶(account)為SID添加保護器的,U盤只能在指定賬戶登錄的終端上使用;
- 以域內組(group)為SID添加保護器的,U盤只能在指定組成員登錄的終端上使用;
- 恢復密鑰備份在域控服務器,不易丟失;密鑰對用戶不可見,安全性更有保障。
04. 配置步驟
配置部分分為AD域控server端和桌面操作終端兩部分,server端配置Bitlocker相關組策略和添加域內賬號/小組,操作終端執行命令/腳本,實施U盤加密操作。
4.1 AD域控服務器
a. 首先在域控server中安裝Bitlocker密碼恢復器。

b. 安裝完成后,打開組策略管理GPM,創建Bitlocker的GPO,這里我設置為“bitlocker”。

c. 編輯該策略,路徑Computer Configuration > Policies > Administrative Templates > Windows Components > BitLocker Drive Encryption>Removable Data Drives,編輯Choose how Bitlocker-protected removable drives can be recovered,如下所示:其他選項如無特殊需求,可保持Not configured狀態。這里注意,最后一項務必勾上,它能保證還原密鑰備份成功后再對U盤加密。

d.若沒有創建組,運行dsa.msc打開AD用戶頁,根據部門或項目等需求,創建group,這里我創建一個測試組testgroup.

e. 根據業務需要把域用戶加入組內:

f. (可選項)很多時候管理者并不希望用戶擅自備份和使用解密的還原密鑰,因為可能有用戶會使用它在授權范圍外訪問U盤,此時可采用如下方式隱藏:
在user configuration中,添加桌面PC的Bitlocker管理工具隱藏選項,具體路徑為User configuration > Policies > Administrative Templates > Control Panel: Hide specified Control Panel items,設置隱藏值Microsoft.BitLockerDriveEncryption

至此,AD Server端的配置完成。接下來在桌面終端電腦上執行命令,對需要被管控的可移動介質執行加密操作即可。
4.2 桌面終端電腦
- 選擇一臺域內并具有管理員權限的PC,操作系統建議在Win10或以上,啟用TPM。
- 插上需要加密的U盤,假設此時盤符為F:,運行powershell中依次執行以下命令:(個人比較推薦,可標記區分命令和參數,自動記錄執行歷史,比cmd好用)
- manage-bde-protectors-add F: -sid Domainname\Account or Groupname //按需求,采用特定賬戶名或組名為U盤添加保護器
- manage-bde -autounlock -enable f: //(可選)打開U盤的自動解鎖功能
- manage-bde-on-sid Domainname\Account or Groupname F: -usedspaceonly -encryptionmethod xts_aes128 -rp //這里使用xts_aes128加密U盤,此算法能夠提供足夠的安全性并能兼顧加解密開銷(推薦新存儲介質僅加密已用空間 -usedspaceonly,可以極大節省加密時間)
- manage-bde -status //查詢U盤加密進度和結果
注:為確保加密過程順利,建議U盤的文件格式為exFAT,且磁盤分區為inactive,否則可能出現Bitlocker無法識別,參數執行錯誤的報錯。關于磁盤格式及分區的調整,如有需要,我可另開一貼介紹。
4.3 登錄AD服務器檢查
在AD服務器上運行dsa.msc,此時可以在操作終端的屬性中查看到Bitlocker Recovery,根據Password ID可查詢到對應48位恢復密鑰,證明密鑰備份成功。

注:若上述“Bitlocker Recovery”的計算機屬性標簽看不到,在powershell中執行命令Install-WindowsFeature RSAT-Feature-Tools-BitLocker-BdeAducExt 打開。
4.4 試用
截止到現在,所有配置工作已完成,測試效果:
- 在授權范圍內的其他桌面終端上運行tpm.msc查看tpm模塊是否啟用,若未啟用,需在BISO內啟用TPM;
- 在授權范圍內的PC上使用已加密U盤,其訪問和使用與常規U盤無異,對用戶來說沒有區別;
- 對授權范圍外的設備、賬戶,或直接無法訪問,或提示需輸入還原密鑰。
05. 小結
Bitlocker是微軟的一款極其強大的安全工具,自Vista時代開始,并在Win10上獲得了極好的兼容。企業日常管理中的需求場景可能千奇百怪,本文只介紹了其中的一種應用方法,但 Bitlocker還有很多靈活的配置和指令,并可通過powershell腳本來簡化執行過程,如有需要,將繼續開貼。
最后,本人也是工作中的實用派,并非微軟安全產品的研究人員,其中的部分原理也還在學習中,如果文中有哪些描述不妥之處,歡迎指正反饋。