老板昨天让豆子看看怎么统一配置一下BitLocker。豆子花了一天把网上的资料都翻了翻,中文资料基本太初级没用,英文的资料倒是很多,不过相当的凌乱,大概看了7,8份不同的参考资料,自己小结了一下整个最基本的配置流程。BitLocker的各种应用场景很多,有些东西限于水平和时间,可能不够精确,以后会慢慢修正和添加。
以下解释都是豆子的大白话理解:
基本定义:首先说说什么是BitLocker, 简单的说就是用来加密硬盘的,这样如果硬盘丢了,在其他的计算机上,如果没有正确的密码,是无法访问的。
硬件:Bitlocker的使用需要硬件的支持,这个硬件模块叫TPM,一般计算机都有,可以在设备管理器里面查看。但是,Macbook上面没有这个东西,因此苹果电脑上如果装了Windows系统,而且还想使用 Bitlocker这个功能,需要额外使用USB或者单独的密码来验证,这个本文不做讨论~
操作系统: OSX和Linux是不支持的。操作系统 win7 pro之前的是不支持的,win7支持的版本也只限于Ultimate和Enterprise版本,Win8之后的各种版本都支持。
怎么玩:
BitLocker把硬盘分为OS,Data和removable 3大类,都可以进行加密,加密之后会看见盘符上面多了一把锁;如果可以访问的状态锁是打开的,如果不能访问的话锁会扣上;解锁一般有3种方式:password或者叫做PIN,recovery key以及 data recovery agent(其实就是证书解锁)。锁上之后任何一种方式都能解锁姿势~。
PIN一般可以有用户自己设定,他会同时生成一个Recovery Key,如果忘记了密码,可以通过这个Key来解锁,这个Key可以保存在文件,网络或者AD中; data recovery agent则是一个签发的证书,只要在对应的电脑上导入了对应的certificate和private key,就可以通过这个证书的Thumprint来解锁。这个东西比较麻烦和混淆,后面会做具体说明。
额外还有很多具体的设置,比如你可以设定某台电脑上连接的硬盘都自动解锁,网络解锁,用户设置PIN,操作系统的硬盘开机前额外验证PIN等等。
具体操作:
下面来看看具体怎么配置的步骤:
- 添加Scheme
- 配置权限,允许保存Recovery key到AD
- DC安装BitLocker的feature
- 配置CA和签署证书
- 配置GPO组策略
- 推送已有的BitLocker的计算机到AD
- 使用manage-bde工具来测试
- 首先看看Scheme
一般说来,Server 2008 R2以后的DC是不需要手动添加的了,可以通过这个Powershell命令查看,如果返回值有下面5个对象,那么恭喜,第一步就可以略过了。
PS C:\WINDOWS\system32> Get-ADObject -SearchBase ((GET-ADRootDSE).SchemaNamingContext) -Filter {Name -like "*ms-FVE*"} DistinguishedName Name ObjectClass ObjectGUID ----------------- ---- ----------- ---------- CN=ms-FVE-RecoveryInformation,CN=Schema,CN=Configuration,DC=omnicom,DC=com,DC=au ms-FVE-RecoveryInformation classSchema 6dc4c79b-f090-4930-abb3-05b6a0c6db49 CN=ms-FVE-RecoveryGuid,CN=Schema,CN=Configuration,DC=omnicom,DC=com,DC=au ms-FVE-RecoveryGuid attributeSchema 6e84277d-64df-4147-85af-4cf84fd3620f CN=ms-FVE-VolumeGuid,CN=Schema,CN=Configuration,DC=omnicom,DC=com,DC=au ms-FVE-VolumeGuid attributeSchema c6cb202b-59b3-485f-b063-fd85319c57d9 CN=ms-FVE-RecoveryPassword,CN=Schema,CN=Configuration,DC=omnicom,DC=com,DC=au ms-FVE-RecoveryPassword attributeSchema 6370af52-3375-4961-8f67-50f9dbc6d9b2 CN=ms-FVE-KeyPackage,CN=Schema,CN=Configuration,DC=omnicom,DC=com,DC=au ms-FVE-KeyPackage attributeSchema 2b3a4e41-35ca-4c41-b09f-0286bb80086
2. 给AD添加权限
首先需要从官网下载几个VBS的脚本。现在都Powershell的时代了,微软也没改进一下10年前的方法~~
https://technet.microsoft.com/en-us/library/dn466534.aspx#Sample scripts
复制粘贴脚本然后保存到DC的C:\Bitlocker目录下
执行
然后就可以添加权限了。
打开ADUC , 对应存放计算机对象的OU上,然后Delegate Control
打开向导
添加用户
添加Self
选择自定义
选择对象Computer
选择权限,写入TPM的信息
结束
这样计算机就有权限把TPM的信息写入AD了
3. DC上安装BitLocker的feature,这个没啥好说的,点开Server Manager,安装BitLocker,重启DC。DC会自动安装Bitlocker Viewer。
4. 配置CA和证书。 data recovery agent的配置是所有过程里面最让人混淆的一步。CA的配置这里不赘述了,主要是关于证书的签发。有些文档说需要复制一份Key Recovery 的证书模板,然后手动添加Application Extension,签发给用户,最后再配置证书和私钥到对应的计算机上。豆子自己的测试结果并不好使。
实际测试的结果显示,不需要这么麻烦,我可以直接签发basic EFS的证书,然后成功利用这个证书在多台计算机上解锁U盘。
MMC里面打开Certificate的SnapIn,Personal -> Certificate -> Request New Certificate
一路Next下去
选择Basic EFS~
成功Enrol之后找到这个签发的证书,双击,选择‘Copy to File’
注意要导出私钥
把导出的PFX文件保存好,稍后需要安装到需要测试的计算机上。
5. 重头戏来了,配置GPO,官方推荐的配置如下,当然可以根据自己的需要进行修改
https://technet.microsoft.com/en-us/library/dd875532(WS.10).aspx
不过上面的内容仅仅是BitLocker的一部分,还需要修改下面的组策略
Computer Configuration -> Administrative Template -> System -> Trusted Platform Module Service
Enable 这个服务。 豆子的DC是windows 2008 R2,据说 Windows 2012里面这个选项就已经没有了
除此以为,我们还需要配置Data Recovery Agent的GPO
- Computer Configuration -> Policies ->Windows Settings-> Security Settings->Public Key Policies, 然后右击 BitLocker Drive Encryption 选择 Add Data Recovery Agent…
点击Next
这里我直接选择Browse Directory, 然后选择我自己的账户(因为之前我签发的EFS证书是用自己的账户)
他会提示我选择绑定哪一个证书,因为我做测试在自己的账户上签发了N个不同的证书,选择前面我们生成的那个EFS 的就可以了
这里可以绑定任意多个,理论上任何一个都是可以用来解锁的
到这一步,基本上配置就都完成了。剩下的就是推送GPO到计算机了。
6. 如果已经有计算机打开BitLocker了,那么我们还需要推送已有的Recovery Key到AD上。
执行下面命令,获取对应磁盘的ID和密码
PS C:\WINDOWS\system32> .\manage-bde.exe -protectors -get c: BitLocker Drive Encryption: Configuration Tool version 10.0.15063 Copyright (C) 2013 Microsoft Corporation. All rights reserved. Volume C: [Windows] All Key Protectors Numerical Password: ID: {5AE32687-8E48-46D9-8096-9394B996323A} Password: 003135-453508-448393-555390-091179-159577-396374-379665 TPM: ID: {D25D3302-CC81-4FA5-BA41-F84F64D4246F} PCR Validation Profile: 7, 11 (Uses Secure Boot for integrity validation) Data Recovery Agent (Certificate Based): ID: {7184E029-D82C-47D8-AEA1-507E1EB8FAC6} Certificate Thumbprint: 482bda8296519fbdb95e3228ff021d1cf2c62ab2
推送到AD
PS C:\WINDOWS\system32> .\manage-bde.exe -protectors -adbackup c: -id ‘{5AE32687-8E48-46D9-8096-9394B996323A}‘ BitLocker Drive Encryption: Configuration Tool version 10.0.15063 Copyright (C) 2013 Microsoft Corporation. All rights reserved. Recovery information was successfully backed up to Active Directory. PS C:\WINDOWS\system32>
登陆ADUC,查看一下已经成功保持到AD了
7. 测试
我电脑上弄了3种类型的盘符,一个是操作系统C盘,一个是放数据的E盘,还有一个U盘 D。
看看状态
PS C:\WINDOWS\system32> PS C:\WINDOWS\system32> .\manage-bde.exe -status BitLocker Drive Encryption: Configuration Tool version 10.0.15063 Copyright (C) 2013 Microsoft Corporation. All rights reserved. Disk volumes that can be protected with BitLocker Drive Encryption: Volume C: [Windows] [OS Volume] Size: 231.29 GB BitLocker Version: 2.0 Conversion Status: Used Space Only Encrypted Percentage Encrypted: 100.0% Encryption Method: AES 128 Protection Status: Protection On Lock Status: Unlocked Identification Field: omnicom Key Protectors: Numerical Password TPM Data Recovery Agent (Certificate Based) Volume E: [Data] [Data Volume] Size: 0.49 GB BitLocker Version: 2.0 Conversion Status: Used Space Only Encrypted Percentage Encrypted: 100.0% Encryption Method: XTS-AES 128 Protection Status: Protection On Lock Status: Unlocked Identification Field: omnicom Automatic Unlock: Disabled Key Protectors: Numerical Password Password Data Recovery Agent (Certificate Based) Volume D: [Label Unknown] [Data Volume] Size: Unknown GB BitLocker Version: 2.0 Conversion Status: Unknown Percentage Encrypted: Unknown% Encryption Method: AES 128 Protection Status: Unknown Lock Status: Locked Identification Field: Unknown Automatic Unlock: Disabled Key Protectors: Numerical Password Password Data Recovery Agent (Certificate Based)
D盘和E盘我可以在图像界面设置密码或者修改密码 , D盘目前木有显示是因为我故意把他锁住了。事实上,U盘一旦拔出来,再插回去,不管是不是同一台电脑,只要之前在他上面打开了Bitlocker,他的状态都是锁住的,需要使用任意三种方式之一来解锁才能访问。
下面演示一下如何解锁,双击D盘,他会弹出下面的对话框,我们可以输入自己设置的密码解锁,或者recovery key解锁,recovery key可以在ADUC上查看,或者在解锁状态下通过manage-bde -protectors -get d: 查看
解锁之后就可以访问了
最后看看如何通过证书解锁
首先手动锁上D盘
PS C:\WINDOWS\system32> .\manage-bde.exe -lock d: BitLocker Drive Encryption: Configuration Tool version 10.0.15063 Copyright (C) 2013 Microsoft Corporation. All rights reserved. Volume D: is now locked
查看一下对应的证书是否配置,指纹是什么
PS C:\WINDOWS\system32> .\manage-bde.exe -protectors -get d: BitLocker Drive Encryption: Configuration Tool version 10.0.15063 Copyright (C) 2013 Microsoft Corporation. All rights reserved. Volume D: [Label Unknown] All Key Protectors Numerical Password: ID: {92319191-E7DC-4393-875A-663926AC47D7} Password: ID: {DCF42582-F2C3-44A7-81E2-6FC26685060E} Data Recovery Agent (Certificate Based): ID: {AD39876C-3D7C-4444-91BA-EFE6C11ACE34} Certificate Thumbprint: 482bda8296519fbdb95e3228ff021d1cf2c62ab2
在当前计算机上,导入这个证书指纹对应的证书和私钥(第4步导出的那个证书文件)到personal,然后执行下面的命令,同样可以解锁。
PS C:\WINDOWS\system32> manage-bde -unlock d: -certificate -ct 482bda8296519fbdb95e3228ff021d1cf2c62ab2 BitLocker Drive Encryption: Configuration Tool version 10.0.15063 Copyright (C) 2013 Microsoft Corporation. All rights reserved. The certificate successfully unlocked volume D:.
综述,上面演示了一个基本的流程来在AD环境里面配置和使用BitLocker,有些细节限于篇幅没有详细解释。