MBAM 2.5 安全注意事项

本文包含有关如何保护 Microsoft BitLocker 管理和监视 (MBAM) 的信息。

配置 MBAM 以托管 TPM 并存储 OwnerAuth 密码

注意

对于 Windows 10 版本 1607 或更高版本,只有 Windows 可以获取 TPM 的所有权。 Windows 在预配 TPM 时不会保留 TPM 所有者密码。 有关详细信息,请参阅 TPM 所有者密码

受信任的平台模块 (TPM) 在某些情况下锁定自身,并可以保持锁定状态,具体取决于其配置。 例如,当用户输入过多不正确的密码时。 在 TPM 锁定期间,BitLocker 无法访问加密密钥来解锁或解密驱动器。 此状态要求用户输入其 BitLocker 恢复密钥才能访问操作系统驱动器。 若要重置 TPM 锁定,必须提供 TPM OwnerAuth 密码。

如果 MBAM 拥有 TPM 或托管密码,则 MBAM 可以将 TPM OwnerAuth 密码存储在 MBAM 数据库中。 然后,当必须从 TPM 锁定中恢复时,可以在管理和监视网站上轻松访问 OwnerAuth 密码,而无需等待锁定自行解决。

在 Windows 8 及更高版本中托管 TPM OwnerAuth

注意

对于 Windows 10 版本 1607 或更高版本,只有 Windows 可以获取 TPM 的所有权。 Windows 在预配 TPM 时不会保留 TPM 所有者密码。 有关详细信息,请参阅 TPM 所有者密码

在 Windows 8 或更高版本中,只要所有者身份验证在本地计算机上可用,MBAM 就不再需要拥有 TPM 来存储 OwnerAuth 密码。

若要允许 MBAM 进行托管,然后存储 TPM OwnerAuth 密码,必须配置这些组策略设置。

组策略设置 配置
启用到 Active Directory 域服务的 TPM 备份 禁用或未配置
配置可用于操作系统的 TPM 所有者授权信息的级别 委托/无或未配置

这些组策略设置的位置是 计算机配置>管理模板>系统>受信任的平台模块服务

注意

在 MBAM 使用这些设置成功托管所有者身份验证后,Windows 在本地删除所有者身份验证。

在 Windows 7 中托管 TPM 所有者身份验证

在 Windows 7 中,MBAM 必须拥有 TPM,才能在 MBAM 数据库中自动托管 TPM 所有者身份验证信息。 如果 MBAM 不拥有 TPM,则必须使用 MBAM Active Directory (AD) 数据导入 cmdlet 将 TPM OwnerAuth 从 Active Directory 复制到 MBAM 数据库中。

MBAM Active Directory 数据导入 cmdlet

MBAM Active Directory 数据导入 cmdlet 允许检索存储在 Active Directory 中的恢复密钥包和 OwnerAuth 密码。

MBAM 2.5 SP1 服务器附带四个 PowerShell cmdlet,这些 cmdlet 使用存储在 Active Directory 中的卷恢复和 TPM 所有者信息预填充 MBAM 数据库。

对于卷恢复密钥和包:

  • Read-ADRecoveryInformation

  • Write-MbamRecoveryInformation

对于 TPM 所有者信息:

  • Read-ADTpmInformation

  • Write-MbamTpmInformation

若要将用户关联到计算机:

  • Write-MbamComputerUser

cmdlet Read-AD* 从 Active Directory 读取信息。 cmdlet Write-Mbam* 将数据推送到 MBAM 数据库。 有关这些 cmdlet 的详细信息(包括语法、参数和示例),请参阅 适用于 Microsoft BitLocker 管理和监视 2.5 的 Cmdlet 参考

创建用户到计算机关联: MBAM Active Directory 数据导入 cmdlet 从 Active Directory 收集信息,并将数据插入 MBAM 数据库中。 但是,它们不会将用户关联到卷。 可以下载 Add-ComputerUser.ps1 PowerShell 脚本来创建用户到计算机关联,让用户通过管理和监视网站或使用 Self-Service 门户恢复计算机的访问权限。 Add-ComputerUser.ps1 脚本从 Active Directory (AD) 、AD 中的对象所有者或自定义 CSV 文件中的 Managed By 属性收集数据。 然后,该脚本会将发现的用户添加到恢复信息管道对象,必须将该对象传递给 Write-MbamRecoveryInformation 才能将数据插入恢复数据库。

可以指定 帮助 Add-ComputerUser.ps1 以获取脚本的帮助,包括如何使用 cmdlet 和脚本的示例。

若要在安装 MBAM 服务器后创建用户到计算机关联,请使用 PowerShell cmdlet Write-MbamComputerUser。 与 Add-ComputerUser.ps1 PowerShell 脚本类似,此 cmdlet 允许指定可以使用 Self-Service 门户获取指定计算机的 TPM OwnerAuth 信息或卷恢复密码的用户。

注意

当该计算机开始向服务器报告时,MBAM 代理将覆盖用户到计算机的关联。

先决条件:Read-AD*仅当 cmdlet 作为高特权用户帐户(例如域管理员)运行,或者作为自定义安全组中的帐户运行,该组才可从 AD 检索信息,该组 (建议) 。

BitLocker 驱动器加密操作指南:使用 ADDS 恢复加密卷 提供了有关创建自定义安全组 (或多个组的详细信息,) 具有对 AD 信息的读取访问权限。

MBAM 恢复和硬件 Web 服务写入权限: cmdlet Write-Mbam* 接受 MBAM 恢复和硬件服务的 URL,用于发布恢复或 TPM 信息。 通常,只有域计算机服务帐户可以与 MBAM 恢复和硬件服务通信。 在 MBAM 2.5 SP1 中,可以使用名为 DataMigrationAccessGroup 的安全组配置 MBAM 恢复和硬件服务。 此组的成员可以绕过域计算机服务帐户检查。 cmdlet Write-Mbam* 必须以属于此配置组的用户身份运行。 (或者,可以使用 cmdlets 中的 -Credential 参数 Write-Mbam* 指定已配置组中单个用户的凭据。)

可以通过以下方法之一使用此安全组的名称配置 MBAM 恢复和硬件服务:

  • 在 Enable-MbamWebApplication -AgentService PowerShell cmdlet 的 -DataMigrationAccessGroup 参数中提供安全组 (或单个) 的名称。

  • 在安装 MBAM 恢复和硬件服务后配置组。 编辑文件夹中的 web.config 文件 <inetpub>\Microsoft Bitlocker Management Solution\Recovery and Hardware Service\

    <add key="DataMigrationUsersGroupName" value="<groupName>|<empty>" />
    

    其中 <groupName> 替换为域和组名称 (或用于允许从 Active Directory 迁移数据的各个用户) 。

  • 若要编辑此 appSetting,请使用 IIS 管理器中的配置编辑器。

在以下示例中,当作为 ADRecoveryInformation 和 Data Migration Users 组的成员运行 命令时,它会从 WORKSTATIONS 组织单位中的计算机拉取卷恢复信息, (OU) contoso.com 域中。 然后,它通过使用在 mbam.contoso.com 服务器上运行的 MBAM 恢复和硬件服务将它们写入 MBAM。

Read-ADRecoveryInformation -Server contoso.com -SearchBase "OU=WORKSTATIONS,DC=CONTOSO,DC=COM" | Write-MbamRecoveryInformation -RecoveryServiceEndPoint "https://mbam.contoso.com/MBAMRecoveryAndHardwareService/CoreService.svc"

Read-AD* cmdlet 接受 Active Directory 托管服务器计算机的名称或 IP 地址,以查询恢复或 TPM 信息。 建议提供计算机对象所在的 AD 容器的可分辨名称作为 SearchBase 参数的值。 如果计算机存储在多个 OU 中,则 cmdlet 可以接受管道输入,为每个容器运行一次。 AD 容器的可分辨名称类似于 OU=Machines,DC=contoso,DC=com

运行针对特定容器的搜索时,它将提供以下优势:

  • 降低查询计算机对象的大型 AD 数据集时超时的风险。

  • 可以省略包含数据中心服务器或可能不需要或不需要备份的其他计算机类的 OU。

另一个选项是提供 -Recurse 标志,无论是否具有可选 SearchBase,以分别搜索指定 SearchBase 下的所有容器或整个域的计算机对象。 使用 -Recurse 标志时,还可以使用 -MaxPageSize 参数来控制为查询提供服务所需的本地和远程内存量。

这些 cmdlet 写入 PsObject 类型的管道对象。 每个 PsObject 实例都包含一个卷恢复密钥或 TPM 所有者字符串,其中包含其关联的计算机名称、时间戳以及将其发布到 MBAM 数据存储所需的其他信息。

Write-Mbam* cmdlet** 按属性名称接受管道中的恢复信息参数值。 此行为允许 Write-Mbam* cmdlet 接受 cmdlet 的 Read-AD* 管道输出。 例如,Read-ADRecoveryInformation -Server contoso.com -Recurse | Write-MbamRecoveryInformation -RecoveryServiceEndpoint mbam.contoso.com

cmdlet Write-Mbam* 包括可选参数,这些参数为 WhatIf 和 Confirm 提供容错、详细日志记录和首选项的选项。

cmdlet Write-Mbam* 还包括一个可选的 Time 参数,其值为 DateTime 对象。 此对象包含可设置为 LocalUTCUnspecifiedKind 属性。 从 Active Directory 获取的数据填充 Time 参数时,时间将转换为 UTC,并且此 Kind 属性会自动设置为 UTC。 但是,在使用其他源(如文本文件)填充 Time 参数时,必须将 Kind 属性显式设置为其适当的值。

注意

cmdlet Read-AD* 无法发现表示计算机用户的用户帐户。 以下情况需要用户帐户关联:

  • 使用 Self-Service 门户恢复卷密码或包的用户。

  • 不在安装期间定义的 MBAM 高级支持人员用户安全组中的用户,代表其他用户进行恢复。

配置 MBAM 以在锁定后自动解锁 TPM

可以将 MBAM 2.5 SP1 配置为在 TPM 锁定时自动解锁 TPM。如果启用了 TPM 锁定自动重置,MBAM 可以检测到用户被锁定,然后从 MBAM 数据库中获取 OwnerAuth 密码,以自动解锁用户的 TPM。 仅当使用自助服务门户或管理和监视网站检索了该计算机的 OS 恢复密钥时,TPM 锁定自动重置才可用。

重要提示

若要启用 TPM 锁定自动重置,必须在服务器端和客户端的组策略中配置此功能。

  • 若要在客户端启用 TPM 锁定自动重置,请在 计算机配置>管理模板>Windows 组件>MDOP MBAM>客户端管理中配置组策略设置“配置 TPM 锁定自动重置”。

  • 若要在服务器端启用 TPM 锁定自动重置,可以在安装期间在 MBAM 服务器配置向导中选中“启用 TPM 锁定自动重置”。

    还可以在 PowerShell 中启用 TPM 锁定自动重置,方法是在启用代理服务 Web 组件时指定 -TPM “锁定自动重置”开关。

用户输入从自助服务门户或管理和监视网站获取的 BitLocker 恢复密钥后,MBAM 代理将确定是否锁定 TPM。如果它被锁定,它会尝试从 MBAM 数据库中检索计算机的 TPM OwnerAuth。 如果成功检索 TPM OwnerAuth,则用于解锁 TPM。 解锁 TPM 可使 TPM 完全正常运行,并且用户不会在 TPM 锁定的后续重新启动期间强制输入恢复密码。

默认情况下,TPM 锁定自动重置处于禁用状态。

注意

仅在运行 TPM 版本 1.2 的计算机上支持 TPM 锁定自动重置。 TPM 2.0 提供内置的锁定自动重置功能。

恢复审核报告 包括与 TPM 锁定自动重置相关的事件。 如果 MBAM 客户端请求检索 TPM OwnerAuth 密码,则会记录一个事件以指示恢复。 审核条目包括以下事件:

条目
审核请求源 代理 TPM 解锁
密钥类型 TPM 密码哈希
原因说明 TPM 重置

保护与 SQL Server 的连接

在 MBAM 中,SQL Server 与 SQL Server Reporting Services 以及管理和监视网站以及 Self-Service 门户的 Web 服务通信。 建议保护与 SQL Server 的通信。 有关详细信息,请参阅 加密与 SQL Server 的连接

有关保护 MBAM 网站的详细信息,请参阅 规划如何保护 MBAM 网站

创建帐户和组

管理用户帐户的最佳做法是创建域全局组并向其添加用户帐户。 有关建议的帐户和组的说明,请参阅 规划 MBAM 2.5 组和帐户

使用 MBAM 日志文件

本部分介绍 MBAM 服务器和 MBAM 客户端日志文件。

MBAM 服务器安装日志文件

在 MBAM 安装期间 ,MBAMServerSetup.exe 文件在用户的 %temp% 文件夹中生成以下日志文件:

  • Microsoft_BitLocker_Administration_and_Monitoring_<14 numbers>.log

    记录 MBAM 设置和 MBAM 服务器功能配置期间的操作。

  • Microsoft_BitLocker_Administration_and_Monitoring_<14_numbers>_0_MBAMServer.msi.log

    记录安装期间的其他操作。

MBAM 服务器配置日志文件

  • Applications and Services Logs/Microsoft Windows/MBAM-Setup

    记录使用 Windows PowerShell cmdlet 或 MBAM 服务器配置向导配置 MBAM 服务器功能时出现的任何错误。

MBAM 客户端安装日志文件

  • MSI<five random characters>.log

    记录 MBAM 客户端安装期间执行的操作。

MBAM-Web 日志文件

  • 显示 Web 门户和服务中的活动。

查看 MBAM 数据库 TDE 注意事项

SQL Server 中提供的透明数据加密 (TDE) 功能是托管 MBAM 数据库功能的数据库实例的可选安装。

使用 TDE,可以执行实时、完整的数据库级加密。 TDE 是批量加密的最佳选择,以满足法规遵从性或公司数据安全标准。 TDE 在文件级别工作,这类似于两个 Windows 功能:加密文件系统 (EFS) 和 BitLocker 驱动器加密。 这两个功能还加密硬盘驱动器上的数据。 TDE 不会替换单元级加密、EFS 或 BitLocker。

在数据库上启用 TDE 后,所有备份都会加密。 因此,必须特别小心,以确保用于保护数据库加密密钥的证书与数据库备份一起备份和维护。 如果此证书丢失,则数据不可读。

使用数据库备份证书。 每个证书备份应包含两个文件。 这两个文件都应存档。 为了安全起想,应从数据库备份文件单独备份它们。 或者,可以考虑使用可扩展密钥管理 (EKM) 功能来存储和维护用于 TDE 的密钥。

有关如何为 MBAM 数据库实例启用 TDE 的示例,请参阅 透明数据加密 (TDE)

了解一般安全注意事项

  • 了解安全风险。 使用 MBAM 时,最严重的风险是其功能可能被未经授权的用户入侵。 然后,此用户可以重新配置 BitLocker 驱动器加密,并获取 MBAM 客户端上的 BitLocker 加密密钥数据。 由于拒绝服务攻击,MBAM 功能在短时间内丢失通常不会造成灾难性影响。

  • 在物理上保护计算机。 没有物理安全就没有安全性。 获取 MBAM 服务器物理访问权限的攻击者可能会使用它来攻击整个客户端群。 所有潜在的物理攻击都必须被视为高风险,并得到适当缓解。 MBAM 服务器应存储在具有受控访问权限的安全服务器机房中。 通过使操作系统锁定计算机或使用安全屏幕保护程序,在管理员不在物理上时保护这些计算机。

  • 将最新的安全更新应用到所有计算机

  • 使用强密码或密码短语。 始终对所有 MBAM 管理员帐户使用包含 15 个或更多字符的强密码。 切勿使用空白密码。 有关密码概念的详细信息,请参阅 密码策略

计划部署 MBAM 2.5