企业 IT 管理员和安全软件供应商应遵循这些最佳做法,以确保安全工具不会阻止 WebView2 应用功能或导致 WebView2 应用崩溃。 使用这些做法和过程来配置环境和安全工具,以避免破坏 WebView2 的多进程体系结构。
详细内容:
- 安全工具来配置
- 根据需要更新企业安全策略
- 将 WebView2 运行时和应用的主机可执行文件加入允许列表
- 在运行时文件夹上保留默认访问控制列表 (ACL)
- 在运行时文件夹上保留低完整性级别 (LowIL)
- 保留默认访问控制列表 (ACL) 在应用的用户数据文件夹 (UDF)
- 授予写入 UDF) (用户数据文件夹的权限
- 允许运行时文件夹访问、子进程和子进程创建
- 不要将 DLL 注入 WebView2 进程
- 避免广泛的全球排除
- 信任内部代理证书颁发机构 (CA) ,并允许必要的登录或内容分发网络 (CDN) 终结点
- 通过签名信任 WebView2 运行时
- 不要修改 Windows 组件从 C:\Windows\System32 加载的 WebView2 运行时文件
- 将传输层安全性 (TLS) 检查和代理配置保持一致
- 允许更新 Evergreen WebView2 运行时
- 不要应用仅限 Edge 浏览器的组策略
- 用于检查症状和原因的工具
- 工具适用性
- 解决性能问题
- 为什么 WebView2 出现在企业工作负载中
- 另请参阅
安全工具来配置
要适当配置的安全工具包括:
- 防病毒 (AV) 工具。
- 数据丢失防护 (DLP) 工具。
- EDR) 工具 (终结点检测和响应。
企业安全工具还包括:
- 传输层安全性 (TLS) 检查。
企业配置问题的症状
企业安全工具如果不遵循以下最佳做法,可能会通过以下方式破坏 WebView2 的多进程体系结构:
- 阻止子进程。
- 收紧文件夹访问控制列表 (ACL) 。
- 将动态链接库注入 (DLL) 。
发生此类中断时,WebView2 托管的体验可能会出现白屏、冻结或无法初始化。
请参阅:
- Microsoft Edge 开发人员文档中为 WebView2 应用的进程模型。
根据需要更新企业安全策略
WebView2 遵循所有企业安全策略。
如果任何工具或策略不允许加载某些 WebView2 DLL,IT 管理员需要更新企业安全策略。
WebView2 不会实现特定于应用的逻辑。
将 WebView2 运行时和应用的主机可执行文件加入允许列表
将 WebView2 运行时 (msedgewebview2.exe) 和应用的主机可执行文件加入允许列表。
请参阅:
- 防止防病毒和 DLP 工具阻止或崩溃 Microsoft Teams - 在 Microsoft Teams 疑难解答中。
首选发布者规则。
请参阅:
- 了解 AppLocker 中的发布者规则条件 - 在 Windows 安全中心 (适用于 Windows) 的应用程序控制。
运行时初始化被阻止
问题:
可能存在初始化错误,例如
E_FAIL。 在这种情况下,WebView2 控件无法初始化,并且应用内容永远不会加载。对于以下任何工具,运行时初始化将被阻止:
WDAC) (Windows Defender 应用程序控制。
AppLocker 拒绝规则;明确阻止执行的策略。
访问控制列表 (已收紧超过默认设置的 ACL) ;权限的限制程度高于 OS 默认值。
症状
传输层安全性 (TLS) 错误,例如
ERR_CERT_*.启用传输层安全性 (TLS) 检查时发生的登录重定向失败。
立即初始化错误。
没有子进程。
视图为空白。
解决方案
将 WebView2 运行时 (msedgewebview2.exe) 和主机可执行文件加入允许列表。
请参阅:
- 防止防病毒和 DLP 工具阻止或崩溃 Microsoft Teams - 在 Microsoft Teams 疑难解答中。
使用发布者规则。
请参阅:
- 了解 AppLocker 中的发布者规则条件 - 在 Windows 安全中心 (适用于 Windows) 的应用程序控制。
还原默认访问控制列表 (ACL) 。
请参阅:
在运行时文件夹上保留默认访问控制列表 (ACL)
不要修改 Windows 在 WebView2 运行时文件夹上设置的默认访问控制列表 (ACL) 。
如果安全工具修改 WebView2 运行时文件夹上的 ACL,这些沙盒进程可能会失去读取和执行运行时二进制文件所需的权限,这可能会导致屏幕空白、初始化失败或崩溃。
请参阅:
在运行时文件夹上保留低完整性级别 (LowIL)
请勿修改 WebView2 运行时文件夹上的低完整性级别 (LowIL) 设置。 WebView2 以低完整性级别运行呈现器进程,以限制其对系统资源的访问。
低完整性级别进程 (LowIL) 必须能够读取和执行 WebView2 运行时二进制文件。
低完整性级别 (LowIL) 是一种 Windows 安全机制,它限制进程写入更高完整性对象的能力 (例如大多数用户配置文件和系统位置) 。 WebView2 呈现器进程以低 IL 运行,以减少受到威胁的进程的影响。
请参阅:
在 UDF) (保留应用用户数据文件夹上) 的默认访问控制列表 (ACL
不要修改 Windows 在 UDF) (应用的用户数据文件夹上设置的默认访问控制列表 (ACL) 。 修改这些 ACL 可能会导致 LowIL 和 AppContainer 进程无法正常工作。
AppContainer 是一个限制更严格的 Windows 沙盒,它限制进程只能访问显式授予的资源。 在受支持的操作系统版本上,WebView2 可能会在 内运行呈现器进程 AppContainer,以获得额外的隔离。
LowIL/AppContainer必须具有以下权限:
读取并执行 WebView2 运行时。
写入 UDF) (用户数据文件夹。
WebView2 在) 或沙盒内AppContainer以低完整性级别运行某些子进程 (LowIL 以限制它们对系统资源的访问。
这些沙盒进程必须仍然能够:
读取并执行 WebView2 运行时二进制文件。
(UDF) 写入应用的用户数据文件夹。
如果安全工具 (UDF) ) 应用程序的用户数据文件夹上的访问控制列表 (ACL,沙盒进程可能会失去所需的访问权限,这可能会导致白屏、初始化失败或崩溃。
由操作系统 (操作系统) 管理的系统位置完全由 Windows 处理,不得修改。
请参阅:
- 管理用户数据文件夹,在 Microsoft Edge 开发人员文档中。
授予写入 UDF) (用户数据文件夹的权限
授予写入权限,以允许 WebView2 应用写入 UDF) (用户数据文件夹。
对 UDF 的这些写入可以来自:
按应用控制文件夹访问权限 (CFA) 例外。
每个应用的数据丢失防护 (DLP) 例外。
Web 内容状态位于应用的用户数据文件夹中, (UDF) 。 Web 内容状态包括:
- Cookie。
- Cache.
- 本地存储。
请参阅:
- 管理用户数据文件夹,在 Microsoft Edge 开发人员文档中。
登录循环;状态未持久化;设置不会保留;空白首页
在登录循环的情况下,当阻止用户数据文件夹 (UDF) 写入时,状态不会持久化。
解决方案
允许写入应用的用户数据文件夹;使用每个应用的受控文件夹访问权限 (CFA) 例外或数据丢失防护 (DLP) 例外。
避免将 WebView2 用户数据文件夹 (UDF) 放置在网络共享上。
确保数据丢失防护 (DLP) 策略不会将正常的浏览器数据 ((如 Cookie、缓存或本地存储) )错误分类为外泄尝试。 外泄 是指未经许可将数据从系统、网络或云环境未经授权传输到外部目标。
请参阅:
- 管理用户数据文件夹,在 Microsoft Edge 开发人员文档中。
允许运行时文件夹访问、子进程和子进程创建
受众:安全软件供应商。
保持 WebView2 运行时文件夹访问不受限制。
允许子进程,但不要终止它们。 子进程包括:
- 呈现器
- 图形处理单元 (GPU)
- 网络
- Crashpad
保持 WebView2 运行时子进程创建不受限制;permit Crashpad.
请参阅:
- 在 Microsoft Edge 开发人员文档中的 WebView2 中处理与进程相关的事件。
- 故障转储 - WebView2Feedback 存储库。
不要将 DLL 注入 WebView2 进程
使用 Microsoft Edge 安全连接器。
避免动态链接库 (DLL) 注入。
不要将动态链接库 (DLL) 注入 WebView2 进程。 请改用 Microsoft Edge 安全连接器。
首选 Microsoft Edge 安全连接器来防止数据丢失 (DLP) 、报告或设备信任。
动态链接库 (DLL 注入呈现器或图形处理单元) (GPU) 进程会破坏 Chromium 的沙盒模型,并且通常会导致呈现器崩溃。
安全软件供应商应使用受支持的 Edge 安全连接器,而不是低级别挂钩。
请参阅:
崩溃或冻结
与动态链接库相关的崩溃或冻结 (DLL) 注入或阻止的呈现器、GPU) (图形处理单元或 Crashpad。
请参阅:
- 在 Microsoft Edge 开发人员文档中的 WebView2 中处理与进程相关的事件。
- 故障转储 - WebView2Feedback 存储库。
内容永不加载
问题:主进程启动,但内容永远不会加载,应用冻结。
子进程的生成被阻止或挂钩。
解决方案
允许 WebView2 子进程:
- 呈现器。
- 图形处理单元 (GPU) 。
- 网络。
- 防撞板。
这些是 WebView2 实例化的子进程。
避免动态链接库 (DLL) 注入。
首选 Edge 连接器。
请参阅:
- Microsoft Edge 商业版安全连接器
- 在 Microsoft Edge 开发人员文档中的 WebView2 中处理与进程相关的事件。
- 故障转储 - WebView2Feedback 存储库。
避免广泛的全球排除
启动速度缓慢
问题:
- 由于对 UDF) (WebView2 运行时和用户数据文件夹进行深度实时扫描,启动速度缓慢。
- 执行导航时出现短暂性白屏。
- 积极的实时扫描。
解决方案
为 UDF) (WebView2 运行时二进制文件和用户数据文件夹配置 范围排除 项;避免广泛排除。
使用 UDF) 的 WebView2 运行时目录和用户数据文件夹 (范围排除项优化扫描。
避免广泛的全球性排除。
请参阅:
- WebView2 的企业管理
- 管理用户数据文件夹,在 Microsoft Edge 开发人员文档中。
信任内部代理证书颁发机构 (CA) ,并允许必要的登录或内容分发网络 (CDN) 终结点
将传输层安全 (TLS) 策略与 Chromium 保持一致:
信任内部代理证书颁发机构 (CA) ;安装受信任的证书颁发机构 (CA) 。
允许重要登录终结点或其他必需终结点。
允许基本内容分发网络 (CDN) 终结点。
在 WebView2 运行时文件夹上保留默认访问控制列表 (ACL) 和低完整性级别 (LowIL) 设置。
低完整性级别进程 (LowIL) 必须能够读取和执行 WebView2 运行时二进制文件。
不要修改操作系统在运行时文件夹上设置的默认 ACL。 WebView2 的沙盒呈现器进程在低完整性级别运行,并且需要这些权限才能正常工作。
通过签名信任 WebView2 运行时
识别并信任通过签名) 的 WebView2 运行时 (msedgewebview2.exe ;允许子进程。
不要修改 Windows 组件从中加载的 WebView2 运行时文件 C:\Windows\System32
请勿修改、隔离或替换 Windows 组件直接从 C:\Windows\System32中加载的 WebView2 运行时二进制文件。
某些 Windows 组件可能会直接从 C:\Windows\System32加载 WebView2 运行时二进制文件。 这些二进制文件归操作系统所有。
这些操作系统拥有的 WebView2 运行时二进制文件:
可能与桌面应用使用的 Evergreen WebView2 运行时版本不匹配。
仅通过 Windows 更新(而非 WebView2 安装程序)提供服务。
将传输层安全性 (TLS) 检查和代理配置保持一致
症状:
传输层安全性 (TLS) 错误 (,例如
ERR_CERT_*) 。启用 TLS 检查时发生的登录重定向失败。
使传输层安全性 (TLS) 检查和代理配置与基于 Chromium 的浏览器要求保持一致。
如果您的环境使用 TLS 检查,请确保操作系统的证书存储信任检查证书。
通过防火墙或代理进行 SSL 解密
使用 TLS 检查的一个示例是通过防火墙或代理进行 SSL 解密。
如果环境通过代理服务器路由流量,请确保 WebView2 进程可以通过代理到达所需的终结点。
ERR_CERT_* 错误
问题:
ERR_CERT_*错误。登录循环 (登录循环) 。
服务工作进程失败。
网络检查与传输层安全性 (TLS) 检查不一致。
解决方案
安装企业代理的根证书颁发机构 (CA) ,以便 WebView2 信任截获的 HTTPS 流量。
确保显式允许 WebView2 应用使用的身份验证终结点和内容分发网络 (CDN) 终结点。
验证身份验证终结点和内容分发网络 (CDN) 终结点。
请参阅:
允许更新 Evergreen WebView2 运行时
不要阻止 Evergreen WebView2 运行时的更新。
允许更新 Evergreen WebView2 运行时;请勿阻止服务。
Microsoft Edge 服务更新以下版本控制子文件夹:
C:\Program Files (x86)\Microsoft\EdgeWebView\Application\<version>\
请参阅:
- WebView2 的企业管理
- WebView2 运行时的常青与固定版本,在 Microsoft Edge 开发人员文档中。
- 在 Microsoft Edge 开发人员文档中分发应用和 WebView2 运行时。
应用仅适用于更高的特权
存在访问控制列表 (ACL) 与完整性级别不匹配。
问题:应用仅在更高特权下运行。 该应用在以下环境中失败:
通用 Windows 平台 (UWP) - 在 Windows 应用沙盒中运行且权限受限的应用。
AppContainer - 一个 Windows 安全沙盒,它限制进程只能访问显式授予的资源。
解决方案
保留对 WebView2 运行时目录的默认 ALL APPLICATION PACKAGES 权限;低完整性级别进程 (LowIL) 必须 读取/执行。
请参阅:
这包括 下的 Evergreen WebView2 运行时路径,该路径 C:\Program Files (x86)\Microsoft\EdgeWebView\Application\<version>\必须保留 ALL APPLICATION PACKAGES 读取/执行权限。
基于 System32 的 WebView2 运行时由 Windows 拥有和服务。
基于 System32 的 WebView2 运行时不得被防病毒 (AV) 、终结点检测和响应 (EDR) 或数据丢失防护 (DLP) 工具修改、替换、隔离或清理。
基于 System32 的 WebView2 运行时的默认访问控制列表 (ACL) 必须在交付时完全保留。
不要应用仅限 Edge 浏览器的组策略
大多数应用于 Microsoft Edge 的组策略不会影响 WebView2,不受支持的策略可能会破坏 WebView2 功能。
不要使用仅限 Microsoft Edge 的组策略来影响 WebView2。
用于检查症状和原因的工具
IT 管理员可以使用标准 Windows 工具来确定列出的症状是否由以下原因引起:
- WebView2 被阻止。
- WebView2 无法初始化。
- WebView2 崩溃。
任务管理器
在主机应用程序下,验证 WebView2 运行时 (msedgewebview2.exe) 及其子进程是否显示。
子进程包括:
- 呈现器。
- 图形处理单元 (GPU) 。
- 网络。
- 防撞板。
如果未显示 WebView2 子进程,则由于计算机上启用了以下某一项,因此会阻止 WebView2 运行时或子进程生成:
WDAC) (Windows Defender 应用程序控制。
EDR) (终结点检测和响应。
动态链接库 (DLL) 注入。
如果呈现器 (或图形处理单元 (GPU) ) 进程短暂出现然后消失,则以下情况可能会终止呈现器 (或图形处理单元 (GPU) ) 进程:
终结点检测和响应 (EDR) 挂钩。
防病毒 (AV) 挂钩。
动态链接库 (DLL) 注入。
空白或白色嵌入窗口
如果存在空白或白色嵌入式窗口,请确保任务管理器中存在 WebView2 进程。
请参阅:
- Microsoft Edge 开发人员文档中为 WebView2 应用的进程模型。
事件查看器
Windows 日志 > 应用程序/系统) (事件查看器。
查找:
应用或 WebView2 初始化失败。
WDAC) 或 AppLocker 阻止 执行 事件 (Windows Defender 应用程序控制。
受控文件夹访问 (CFA) 或数据丢失防护 (DLP) 影响用户数据文件夹 (UDF) 的文件 写入拒绝 事件。
传输层安全性 (影响登录流的 TLS) 、证书或网络策略故障。
安全日志
CFA) 块 (受控文件夹访问权限。
数据丢失防护 (DLP) 策略块。
AppLocker 或应用程序控制拒绝。 这些通常映射到登录循环、空白屏幕或设置未持久等症状。
诊断、崩溃报告和进程事件
故障报告保存在应用的用户数据文件夹下 (UDF) 位于 EBWebView\Crashpad\reports\.
将故障诊断与进程事件结合使用,以对重复的故障进行分类。
请参阅:
- 在 Microsoft Edge 开发人员文档中的 WebView2 中处理与进程相关的事件。
- 故障转储 - WebView2Feedback 存储库。
可靠性监视器
识别呈现器、图形处理单元 (GPU) 或 Crashpad 进程的重复崩溃。
这些进程崩溃与以下内容相关:
冻结问题。
白屏问题。
WebView2 运行时不稳定。
工具适用性
受众:IT 管理员和安全软件供应商。
各种类型的应用可以与 WebView2 交互。 下面是对不同形式的 WebView2 的适用性。
本文适用于以下工具或软件:
Microsoft Edge WebView2 运行时 (常青和已修复版本) 。
嵌入 WebView2 控件的 Windows 桌面应用程序。
将 WebView2 用于基于 Web 的 UI 部分的 Windows 组件。
非Microsoft防病毒、终结点检测和响应 (EDR) 、数据丢失防护 (DLP) ,以及代理或传输层安全 (TLS) 可能干扰 WebView2 进程的拦截产品。
请参阅:
- Microsoft Edge WebView2 和 Microsoft 365 应用 - 在 Microsoft 365 应用版部署指南中。
解决性能问题
受众:IT 管理员和安全软件供应商。
若要使用此节:
IT 管理员使用此信息来确定 IT 管理员在其应用中启动或使用 WebView2 时遇到的问题,并找出导致该问题的安全软件。
IT 管理员与安全软件供应商联系。
安全软件供应商使用此内容来确定他们需要执行哪些操作来确保 WebView2 不会被阻止。
大量扫描或挂钩到进程中可能会减慢启动和页面加载时间。
相反,请对 UDF) (WebView2 运行时二进制文件和用户数据文件夹使用范围排除,而不是选择范围广泛的高风险禁用。
像对待浏览器进程一样对待子进程;避免终止此类子进程。
子进程包括:
- 呈现器。
- 图形处理单元 (GPU) 。
- 网络。
- 防撞板。
请勿在 GPU) 进程 (结束 Crashpad 或图形处理单元,因为它们对于稳定性和渲染至关重要。
请参阅:
- WebView2 的企业管理
- 在 Microsoft Edge 开发人员文档中的 WebView2 中处理与进程相关的事件。
为什么 WebView2 出现在企业工作负载中
受众:IT 管理员和安全软件供应商。
许多 Microsoft 365 应用版 和 Windows 功能 都使用 WebView2 提供新式、一致的 UI。
例如,Outlook 功能依赖于 WebView2 运行时才能正常工作。
Windows Search 对其部分 UI 使用 WebView2。
请参阅:
- Microsoft Edge 开发人员文档中的 WebView2 文档。
- Microsoft Edge WebView2 和 Microsoft 365 应用 - 在 Microsoft 365 应用版部署指南中。
另请参阅
Microsoft Edge 开发人员文档:
- WebView2 文档
- 在 WebView2 中处理与进程相关的事件
- WebView2 运行时的常青版本与固定版本
- 分发应用和 WebView2 运行时
- WebView2 应用的进程模型
- 管理用户数据文件夹
Learn.microsoft.com:
- Microsoft Edge WebView2 和 Microsoft 365 应用 - 在 Microsoft 365 应用版部署指南中。
- 了解 AppLocker 中的发布者规则条件 - 在 Windows 安全中心 (适用于 Windows) 的应用程序控制。
- 防止防病毒和 DLP 工具阻止或崩溃 Microsoft Teams - 在 Microsoft Teams 疑难解答中。
外部:
- Microsoft Edge WebView2 - Developer.microsoft.com。
- 故障转储 - WebView2Feedback 存储库。