使用 Outlook 客户端时的 Teams 会议加载项安全性

Teams 会议加载项 (或 TMA) 用于从 Windows 上的 Outlook 桌面客户端在 Teams 中安排会议。

Outlook 和 Teams 服务之间的 TMA 协调,因此请务必确保 TMA 的安全。 采取安全措施有助于降低网络攻击的风险。

以下是本文中介绍的保护 Teams 会议加载项的方法:

  1. (建议) 使用 Microsoft Outlook 信任中心在 TMA DLL 未使用受信任发布者的证书进行签名时防止 Outlook 加载 TMA。
    1. 对域使用组策略并更新 根证书受信任的发布者,特别是因为它会阻止提示用户信任发布者。
  2. AppLocker 还可用于阻止加载不受信任的发布者的 DLL。

Microsoft Outlook 信任中心组策略

可以使用 信任中心组策略 进行外接程序管理:

  • 确保仅加载组织信任的加载项
  • 停止加载未指定位置的加载项

这种做法有助于防止恶意软件危及 COM 注册,以便通过已植入 DLL 从另一个位置加载。

下面是步骤:

  1. 保护 Outlook 免受不安全加载项的防护
    1. 转到 Outlook 信任中心 https://www.microsoft.com/en-us/trust-center
    2. 到达后,选择“ 文件 > 选项 > 信任中心”。
    3. 选择 “Microsoft Outlook 信任中心”。
    4. 在左侧菜单的“Microsoft Outlook 信任中心”下,选择“ 信任中心设置”。
    5. “宏设置”下, 为数字签名的宏选择“通知”,所有其他宏已被禁用
    6. 在这种情况下,管理员必须选择“ 将宏安全设置应用于已安装的加载项 ”。
    7. 选择“ 确定” 按钮进行这些更改并退出信任中心,然后再次选择“ 确定” 以关闭选项。

这些选择仍然存在。

现在,在 Outlook 信任中心之外:

  1. 在客户端上重启 Outlook。

  2. 当 Outlook 重新打开时,应用程序会请求加载每个加载项的权限,并自动禁用任何 未签名的 加载项。

    1. 下图显示了 TMA 的用户体验: Outlook 安全通知以及信任来自此发布者的所有文档和启用应用程序加载项的工作原理。
    2. 最终用户会看到一个 Microsoft Outlook 安全通知,其中可能阅读 Microsoft Office 已识别出一个潜在的安全问题 列表Microsoft.Teams.AddinLoader.dll。 选项包括:
      1. 信任此发布服务器中的所有文档。
        1. 选择此选项将信任证书的发布者,在证书更改之前不会再次提示用户。
      2. 2. 启用应用程序加载项。
        1. 此选项仅会逐个启用,因此此加载项将启用此一次,并且将再次提示用户。
      3. 3. 禁用应用程序加载项。
        1. 禁用加载项。
    3. 按照步骤设置组策略自动信任特定的根证书颁发机构
      1. 打开域控制器上的组策略管理控制台, (DC) 。
      2. 创建一个新的 组策略 对象 (GPO) 或编辑要用于配置设置的现有 GPO。
      3. 接下来转到“计算机配置 > 策略 > ”“Windows 设置”“ > 安全设置 > ”“公钥策略”。
      4. 右键单击“受信任的根证书颁发机构”,然后选择“导入”。
      5. 浏览到要信任的证书发布者的根证书 Microsoft 根证书颁发机构 2010 文件并导入该文件。
      6. 将 GPO 链接到相应的组织单位,以将设置应用到想要使用该策略的计算机。 有关此过程的详细信息,请参阅: 将 Applocker 策略部署到生产环境
    4. 接下来,按照步骤设置组策略以自动信任发布者。
      1. 在域控制器上打开组策略管理控制台。
      2. 创建新的 GPO 或编辑要用于配置设置的现有 GPO。
      3. 导航到“计算机配置 > 策略 > ”“Windows 设置”“ > 安全设置 > ”“公钥策略”。
      4. 右键单击“受信任的发布者”,然后选择“导入”。
      5. 浏览到要信任的证书发布者的叶证书 Microsoft Corporation 文件,并将其导入。
      6. 将 GPO 链接到相应的组织单位,以将设置应用于所选计算机。
  3. 通过组策略管理外接程序

    1. 下载适用于 (Microsoft 365 企业应用版/Office LTSC 2021/Office 2019/Office 2016 和 Office 2016 的 ADMX/ADML) 的管理模板文件。
    2. 将 ADMX/ADML 模板文件添加到组策略管理:
      1. “用户配置 > 管理模板” > 下,Microsoft Outlook (版本号) > 安全 > 信任中心
        1. 将宏安全设置应用于宏、加载项和其他操作:此策略设置控制 Outlook 是否还对已安装的 COM 加载项和其他操作应用宏安全设置。
          1. 设置为: 启用
        2. 宏的安全设置:此策略设置控制 Outlook 中宏的安全级别。
          1. 设置为: 警告已签名,请禁用未签名。
            1. 此选项对应于信任中心内 数字签名宏的通知,所有其他宏均已禁用 选项。 如果加载项由受信任的发布者进行数字签名,则加载项可以运行由受信任的发布者签名。
      2. 有关外接程序的其他组策略。
        1. “用户配置>管理模板”>下,Microsoft Outlook 2016>安全性
          1. 配置外接程序信任级别:可以信任所有已安装的受信任 COM 加载项。 加载项的 Exchange 设置仍会重写(如果存在且已选中此选项)。
        2. “用户配置>管理模板”>下,Microsoft Outlook 2016>杂项
          1. 阻止所有非托管加载项:此策略设置阻止所有不受“托管加载项列表”策略设置管理的加载项。
          2. 托管加载项列表:使用此策略设置可以指定始终启用、始终禁用 (阻止) 的加载项,或由用户配置。 若要阻止非此策略设置管理的加载项,还必须配置“阻止所有非托管加载项”策略设置。
        3. “用户配置>管理模板”>下,Microsoft Outlook 2016>安全>安全表单设置>,编程安全>受信任的加载项
          1. 配置受信任的加载项:此策略设置用于指定受信任的加载项列表,这些加载项可以在不受 Outlook 中的安全措施限制的情况下运行。

AppLocker

AppLocker 应用程序控制策略可帮助你控制用户可以运行的应用和文件。 这些文件类型包括可执行文件、脚本、Windows Installer 文件、动态链接库 (DLL) 、打包的应用和打包的应用安装程序。

让我们重点介绍如何使用 AppLocker 来阻止 加载未由受信任发布者签名的 DLL。

使用 AppLocker 停止加载未签名的 DLL。

若要使用 Applocker 停止加载未签名的 DLL,必须在本地或组策略中创建新的 DLL 规则。

注意

本部分的先决条件是Windows 10 企业版 和、教育版或 Windows Server 2012 或更高版本。

若要在特定 DLL 的 Windows 10 或 Windows 11 上设置 AppLocker,请执行以下步骤:

  1. 打开策略编辑器。
    1. 本地计算机
      1. 打开“本地安全策略”编辑器。 在“运行”对话框或“开始”菜单搜索栏中键入 secpol.msc,然后按 Enter。
    2. 组策略
      1. 通过组策略编辑 AppLocker 策略 |Microsoft Learn
  2. 在“本地安全策略”编辑器中,导航到“应用程序控制策略 > ”“应用锁定 DLL > 规则”。
    1. 如果你使用的是受支持的 Windows 版本,但仍看不到 DLL 规则,则可能是系统上未启用或配置 AppLocker。 在这种情况下,可以按照以下步骤启用 AppLocker:
      1. 打开“本地安全策略”编辑器。 在“运行”对话框或“开始”菜单搜索栏中键入 secpol.msc,然后按 Enter。
      2. 在“本地安全策略”编辑器中,导航到“应用程序控制策略 > ”“AppLocker”。
      3. 右键单击“AppLocker”,然后选择“属性”。
      4. 在“AppLocker 属性”下的“强制”选项卡中:
        1. 选择“配置规则强制”旁边的“配置”。
        2. 将额外的策略(如规则集合)配置为仅审核模式。
        3. 验证后,可以将其更新为“强制实施”
        4. 选择“确定”以保存更改。
        5. 确保应用程序标识服务 正在运行
  3. 创建新的 DLL 规则
    1. 从本地安全策略编辑器
      1. 右键单击“DLL 规则”,然后选择“创建新规则”。
      2. 在“创建 DLL 规则”向导中,选择“使用现有文件”,并浏览到要为其创建规则的 DLL 文件。
      3. 选择要创建的规则类型, (例如允许或拒绝) 并配置所需的任何其他规则条件。
      4. 完成向导并保存新规则。
    2. 或从 PowerShell:
      1. 创建新的 DLL 规则所需的 PowerShell cmdlet 可以一起通过管道进行。
  4. 通过 AppLocker 组策略进行外接程序管理
    1. Get-ChildItem - 获取文件的对象
    2. Get-AppLockerFileInformation - 从文件列表或事件日志中获取创建 AppLocker 规则所需的文件信息
    3. New-AppLockerPolicy - 从文件信息和其他规则创建选项的列表创建新的 AppLocker 策略。
      1. 需要发布 RuleType,这会强制实施代码签名。
      2. 用户可以是单个用户或组,所有示例都使用 Everyone。
      3. AllowWindows 指示 AppLocker 策略允许所有本地 Windows 组件。
    4. 创建每个文件的 DLL 规则
      1. TMA 文件位置取决于安装类型
        1. 按用户安装
          1. 安装位置:%localappdata%\Microsoft\TeamsMeetingAddin
        2. 按计算机安装
          1. 安装位置:C:\Program Files (x86) \TeamsMeetingAddin
      2. Get-ChildItem <TMAFileLocation>\Microsoft.Teams.AddinLoader.dll | Get-AppLockerFileInformation | New-AppLockerPolicy -RuleType Publisher, Hash -User Everyone -RuleNamePrefix TeamsMeetingAddin -AllowWindows -Xml | Out-File .\TMA.xml
      3. 设置策略:
        1. 本地计算机 i.Set-AppLockerPolicy -XmlPolicy .\TMA.xml -Merge
        2. 组策略 i. Set-AppLockerPolicy -XMLPolicy .\TMA.xm -LDAP "<LDAP Info for Group Policy>"
      4. 对于 TMA 的 x64 和 x86 目录下的每个 DLL,需要完成步骤 1 和 2。
    5. 一次性创建所有 DLL 规则
      1. Get-AppLockerFileInformation -Directory .\Microsoft\TeamsMeetingAddin\1.0.23089.2 -Recurse |New-AppLockerPolicy -Verbose -RuleType Publisher, Hash -User Everyone -RuleNamePrefix TeamsMeetingAddin -AllowWindows -Xml |Out-File .\TMA.xml'
      2. Set-AppLockerPolicy -XmlPolicy .\TMA.xml -Merge3. 需要 LDAP 信息来执行组策略更新。

需要了解的重要事项:

  1. 假定如果在环境中打开 AppLocker,则 IT 部门熟悉 AppLocker。 他们知道,它旨在使用允许模型,任何不允许的项都会被阻止。
  2. 当发布服务器规则失败时,会提供哈希规则用于回退。 每次 TMA 更新时都需要更新哈希规则。
  3. 用于添加 AppLocker 策略的 PowerShell 命令将设置为仅与要添加 > 的 DLL 的确切版本匹配,这些版本会进入发布服务器规则的“允许属性”,并将“文件版本”选项的范围更改为“高于列出的版本”。
  4. 若要使 AppLocker 接受发布服务器规则的更多 DLL 版本,请转到发布服务器规则的“允许属性”,并将“文件版本”的下拉列表从“精确) ”更改为“更高 (”。 使 AppLocker 接受发布者规则的更广泛的 DLL 版本。
  5. 如果 AppLocker 策略阻止加载项,则启用后,它将不会显示,并且检查 COM 加载项将显示: 启用后,如果 AppLocker 策略阻止外接程序,则不会显示,检查 COM 加载项将显示为不可用。

有关详细信息

在 Microsoft 365 文件中启用或禁用宏 - Microsoft 支持部门 AppLocker (Windows) |Microsoft Learn