Cloudflare Browser Isolation seamlessly executes active webpage content in a secure isolated browser to protect users from zero-day attacks, malware, and phishing.
浏览器隔离 (Browser Isolation) 使用超越传统安全 Web 网关功能的方法,为你的用户提供独特且透明的保护。本节主要关注用于外部服务的浏览器隔离,假设来自设备或网络的大部分流量都被转发到 Cloudflare。有关浏览器隔离的其他应用,请参阅部署无客户端访问指南。
作为说明,Cloudflare 的浏览器隔离技术旨在用于 100% 的用户日常浏览。这些建议并不意味着你应当限制或谨慎使用浏览器隔离,而是帮助识别将技术与实际安全效益平衡的实践结果。
如果你的组织有兴趣实施浏览器隔离,Cloudflare 建议探索以下几种方法。
当你开始部署 Cloudflare Zero Trust 时,你可能已开始使用 Shadow IT Discovery 可视化用户流量模式。此功能使你能够了解检测到的用户使用的 SaaS 应用程序。管理员可以根据恰当的组织使用情况对应用程序和服务进行分类。如果你不使用 Shadow IT Discovery,而是手动或使用其他工具维护类似的列表,你可以将该数据导入 Zero Trust 列表,通过 API 进行更新,并达成相同的效果。
你可以通过应用策略将用户流量隔离到匹配你所定义类别的应用程序中,从而控制潜在风险并塑造用户行为,而无需应用严厉的阻断策略。然后,你可以在策略中设置附加参数,例如限制复制/粘贴和上传/下载的能力。用户仍可以在工具中访问信息——如果不是更少程度地使用工具——同时你最大程度地减少了数据丢失的风险。
-
在 Cloudflare 仪表板 ↗ 中,转到 Zero Trust > Traffic policies(流量策略) > Firewall policies(防火墙策略)。
-
在 HTTP 选项卡中,选择 Add a policy(添加策略)。
-
为策略命名。
-
在 Traffic(流量) 中,添加以下表达式:
选择器 运算符 值 操作 Host(主机) in list Shadow IT Isolate(隔离) -
在 Configure policy settings(配置策略设置) 中,开启以下选项:
- Disable copy / paste(禁用复制/粘贴)
- Disable file downloads(禁用文件下载)
- Disable file uploads(禁用文件上传)
-
选择 Create policy(创建策略)。
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"action": "isolate",
"description": "Block copy, paste, and upload/download for shadow IT",
"enabled": true,
"filters": [
"http"
],
"name": "Block shadow IT interaction",
"precedence": 0,
"traffic": "http.request.host in <SHADOW_IT_LIST_UUID>",
"rule_settings": {
"block_page_enabled": false,
"block_reason": "",
"override_ips": null,
"override_host": "",
"l4override": null,
"biso_admin_controls": {
"dp": false,
"dcp": true,
"dd": true,
"du": true,
"dk": false,
"dcr": false
}
}
}'使用浏览器隔离防止未知或零日威胁的常用方法可以极大增强你的安全姿态:将所有 HTTP 流量划分为已知可接受、已知恶意和未知分类。一旦你对流量进行了分类,就将未知分类中的所有内容进行隔离。
你可以通过创建以下策略来实现这一点:
- 使用 Cloudflare 应用程序定义或列表,对你的所有已知应用程序和受信任网站设置显式允许策略
- 对所有安全风险、已知恶意流量以及违背可接受使用的意图性拒绝设置显式阻断策略
- 一条用于在此中间隔离所有其他流量的策略
在此上下文中,如果某些流量对你的组织是未知的,Cloudflare 默认会对其进行隔离。Cloudflare 还将防止任何恶意代码在客户端执行,并提供附加控制。
-
允许已知应用程序和网站:
选择器 运算符 值 操作 Domain(域名) in list Known Domains Allow(允许) -
阻断安全风险:
选择器 运算符 值 操作 Security Categories(安全类别) in All Security Risks Block(阻止) -
隔离所有其他流量:
选择器 运算符 值 操作 Host(主机) matches regex .*Isolate(隔离)
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"action": "isolate",
"description": "Allow known applications and websites",
"enabled": true,
"filters": [
"http"
],
"name": "Allow known apps and sites",
"precedence": 0,
"traffic": "http.request.domains in <TRUSTED_DOMAINS_LIST_UUID>",
"rule_settings": {
"block_page_enabled": false,
"block_reason": "",
"override_ips": null,
"override_host": "",
"l4override": null
}
}'curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"action": "isolate",
"description": "Block all security risks",
"enabled": true,
"filters": [
"http"
],
"name": "Block security risks",
"precedence": 0,
"traffic": "any(http.request.uri.security_category[*] in {68 178 80 83 176 175 117 131 134 151 153})",
"rule_settings": {
"block_page_enabled": false,
"block_reason": "",
"override_ips": null,
"override_host": "",
"l4override": null
}
}'curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"action": "isolate",
"description": "Isolate all other traffic",
"enabled": true,
"filters": [
"http"
],
"name": "Isolate traffic",
"precedence": 0,
"traffic": "http.request.host matches \".*\"",
"rule_settings": {
"block_page_enabled": false,
"block_reason": "",
"override_ips": null,
"override_host": "",
"l4override": null
}
}'你的安全框架中可能存在的许多供应商都支持 URL 操作。你可以使用 URL 操作作为浏览器隔离的 On-ramp 入站方式,以添加额外的安全控制。
例如,像 Zscaler 和 Proofpoint 这样的供应商允许你以静态或动态格式在 URL 前面加添链接。你可以加添为你的 Cloudflare 账户生成的无客户端隔离链接,以对潜在有风险的点击获得附加安全优势。这意味着如果你今天有流量未通过 Cloudflare 发送(例如通过另一个代理),你可以潜在地在前置特定过滤请求中前置链接,以自动将流量发送到 Cloudflare 隔离浏览器会话,而无需安装端点 Agent。
flowchart TB
%% Accessibility
accTitle: Browser Isolation architecture
accDescr: Flowchart describing the order of operations for user traffic for in-line Browser Isolation.
%% User traffic
user(["用户访问 </br>risky.example.com"])--"连接至"-->cloud[第三方 SWG 云]
%% Third-party SWG
cloud-->warning[第三方插屏阻断或警告页面]
warning--"追加 Cloudflare 子域名"-->biso
%% Browser Isolation
subgraph cf [Cloudflare 全球网络]
biso[[Cloudflare 无客户端 Web 隔离]]
inline(["隔离浏览器"])
biso--"用户的浏览器转到 </br>customer.cloudflareaccess.com/browser/risky.example.com"-->inline
end