注意
适用于企业的 App Control 的某些功能仅适用于特定 Windows 版本。 详细了解 应用控制功能可用性。
本部分概述了为组织中 完全托管的设备 创建适用于企业的应用控制策略的过程。 此方案与 轻型托管设备 之间的主要区别在于,部署到完全托管设备的所有软件都由 IT 管理,设备用户无法安装任意应用。 理想情况下,所有应用都是使用软件分发解决方案(例如Microsoft Intune)部署的。 此外,完全托管设备上的用户理想情况下应以标准用户身份运行,并且只有经过授权的 IT 专业人员具有管理访问权限。
注意
本主题中所述的某些适用于企业的应用控制选项仅在Windows 10版本 1903 及更高版本或Windows 11上可用。 使用本主题来规划自己组织的应用控制策略时,请考虑托管客户端是否可以使用所有这些或部分功能,并评估可能对客户端上不可用的任何功能的影响。 可能需要调整本指南以满足特定组织的需求。
如 常见的企业应用控制部署方案中所述,我们使用 Lamna Healthcare Company (Lamna) 的示例来说明此方案。 Lamna 正尝试采用更强大的应用程序策略,包括使用应用控制来防止不需要或未经授权的应用程序在其托管设备上运行。
Alice Pena 是负责推出应用控件的 IT 团队主管。
Alice 以前为组织的轻型管理设备创建了一个策略。 但是,某些设备管理得更加严格,并且可能会从受约束性更高的策略中获益。 特别是,某些工作职能(如管理人员和一线工作人员)未被授予对其设备的管理员级别访问权限。 同样,共享展台仅配置一组托管应用,除 IT 以外的设备所有用户都以标准用户身份运行。 在这些设备上,所有应用都由 IT 部署和安装。
定义完全托管设备的“信任圈”
Alice 确定了实现 Lamna 完全托管设备的“信任圈”的以下关键因素:
- 所有客户端都运行Windows 10版本 1903 或更高版本或Windows 11;
- 所有客户端都由 Configuration Manager 或 Intune 管理;
- 大多数(但不是全部)应用都是使用 Configuration Manager 部署的;
- 有时,IT 人员将应用直接安装到这些设备,而无需使用Configuration Manager;
- 除 IT 以外的所有用户都是这些设备上的标准用户。
Alice 的团队开发了一个名为 LamnaITInstaller.exe的简单控制台应用程序,该应用程序将成为 IT 人员将应用直接安装到设备的授权方式。 LamnaITInstaller.exe 允许 IT 专业人员启动另一个进程,例如应用安装程序。 Alice 会将 LamnaITInstaller.exe 配置为应用控制的额外托管安装程序,并允许她删除对文件路径规则的需求。
基于上述情况,Alice 定义了策略的伪规则:
授权的“Windows 有效” 规则:
- Windows
- WHQL (第三方内核驱动程序)
- Windows 应用商店签名的应用
“ConfigMgr有效”规则,包括签名者和哈希规则,以便Configuration Manager组件正常运行。
允许托管安装程序 (Configuration Manager 和 LamnaITInstaller.exe 配置为托管安装程序)
这组伪规则与为 Lamna 的 轻型管理设备 定义的伪规则之间的关键区别是:
- 删除 Intelligent Security Graph (ISG) 选项;和
- 删除文件路径规则。
使用示例应用控制基础策略创建自定义基本策略
在定义了“信任圈”后,Alice 已准备好为 Lamna 的完全托管设备生成初始策略,并决定使用 Configuration Manager 创建初始基本策略,然后对其进行自定义以满足 Lamna 的需求。
Alice 按照以下步骤完成此任务:
注意
如果不使用 Configuration Manager或希望将其他示例应用控制 for Business 基策略用于自己的策略,请跳到步骤 2,将 Configuration Manager 策略路径替换为首选的示例基策略。
使用 Configuration Manager 创建审核策略并将其部署到运行 Windows 10 版本 1903 或更高版本或Windows 11的客户端设备。
在客户端设备上,在提升的Windows PowerShell会话中运行以下命令以初始化变量:
$PolicyPath=$env:userprofile+"\Desktop\" $PolicyName= "Lamna_FullyManagedClients_Audit" $LamnaPolicy=$PolicyPath+$PolicyName+".xml" $ConfigMgrPolicy=$env:windir+"\CCM\DeviceGuard\MergedPolicy_Audit_ISG.xml"
将Configuration Manager创建的策略复制到桌面:
cp $ConfigMgrPolicy $LamnaPolicy
为新策略提供唯一的 ID、描述性名称和初始版本号:
Set-CIPolicyIdInfo -FilePath $LamnaPolicy -PolicyName $PolicyName -ResetPolicyID Set-CIPolicyVersion -FilePath $LamnaPolicy -Version "1.0.0.0"
修改复制的策略以设置策略规则:
Set-RuleOption -FilePath $LamnaPolicy -Option 3 # Audit Mode Set-RuleOption -FilePath $LamnaPolicy -Option 6 # Unsigned Policy Set-RuleOption -FilePath $LamnaPolicy -Option 9 # Advanced Boot Menu Set-RuleOption -FilePath $LamnaPolicy -Option 12 # Enforce Store Apps Set-RuleOption -FilePath $LamnaPolicy -Option 13 # Managed Installer Set-RuleOption -FilePath $LamnaPolicy -Option 16 # No Reboot Set-RuleOption -FilePath $LamnaPolicy -Option 17 # Allow Supplemental Set-RuleOption -FilePath $LamnaPolicy -Option 19 # Dynamic Code Security
如果适用,请添加更多签名者或文件规则,以进一步为组织自定义策略。
使用 ConvertFrom-CIPolicy 将适用于企业的应用控制策略转换为二进制格式:
[xml]$PolicyXML = Get-Content $LamnaPolicy $LamnaPolicyBin = Join-Path $PolicyPath "$($PolicyXML.SiPolicy.PolicyID).cip" ConvertFrom-CIPolicy $LamnaPolicy $LamnaPolicyBin
将基本策略 XML 和关联的二进制文件上传到源代码管理解决方案(如 GitHub)或文档管理解决方案(如 Office 365 SharePoint)。
此时,Alice 现在有一个初始策略,该策略已准备好在审核模式下部署到 Lamna 中的托管客户端。
此完全托管策略的安全注意事项
Alice 为 Lamna 的完全托管设备定义了一个策略,该策略在应用的安全性和可管理性之间做出一些权衡。 一些权衡包括:
具有管理访问权限的用户
尽管应用的用户较少,但 Lamna 仍允许一些 IT 员工以管理员身份登录到其完全托管的设备。 此权限允许这些用户使用用户的权限 (或恶意软件运行,) 修改或删除设备上应用的应用控制策略。 此外,管理员可以配置他们希望作为托管安装程序运行的任何应用,以允许他们获取所需的任何应用或二进制文件的持久应用授权。
可能的缓解措施:
- 使用已签名的应用控制策略和 UEFI BIOS 访问保护来防止篡改应用控制策略。
- 创建和部署已签名的目录文件作为应用部署过程的一部分,以消除对托管安装程序的要求。
- 使用设备证明在启动时检测应用控制的配置状态,并使用该信息来限制对敏感公司资源的访问。
未签名的策略
以管理员身份运行的任何进程都可以替换或删除未签名的策略,而不会造成任何后果。 同时启用补充策略的未签名基础策略可以使其“信任圈”被任何未签名的补充策略更改。
应用的现有缓解措施:
- 限制谁可以提升到设备上的管理员。
可能的缓解措施:
- 使用已签名的应用控制策略和 UEFI BIOS 访问保护来防止篡改应用控制策略。
托管安装程序
请参阅 托管安装程序的安全注意事项
应用的现有缓解措施:
- 限制谁可以提升到设备上的管理员。
可能的缓解措施:
- 创建和部署已签名的目录文件作为应用部署过程的一部分,以消除对托管安装程序的要求。
补充策略
补充策略旨在放宽关联的基本策略。 此外,允许未签名的策略允许任何管理员进程不受限制地扩展基本策略定义的“信任圈”。
可能的缓解措施:
- 使用仅允许经过授权的已签名补充策略的已签名应用控制策略。
- 使用限制性审核模式策略来审核应用使用情况并增强漏洞检测。