Cloudflare Browser Isolation は、ゼロデイ攻撃、マルウェア、フィッシングからユーザーを守るために、アクティブな Web ページコンテンツを安全な隔離ブラウザーで実行します。
Browser Isolation は、従来の Secure Web Gateway の能力を超える方法で、ユーザーに対して透過的かつ独自の保護を提供します。このセクションでは、主に外部サービス向けの Browser Isolation を扱います。デバイスまたはネットワークからのほとんどのトラフィックが Cloudflare に転送されていることを前提とします。Browser Isolation のほかの用途については、クライアントレスアクセスを導入する ガイドを参照してください。
補足として、Cloudflare の Browser Isolation 技術は、ユーザーの日常ブラウジングの 100% で使うことを想定して作られています。ここに示す推奨は、Browser Isolation の利用を制限したり慎重にしたりすべきという意味ではありません。技術と実際のセキュリティ効果のバランスが取れた、実践的な成果を見つけるためのものです。
組織で Browser Isolation の導入を検討している場合、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
}
}
}'未知の脅威やゼロデイ脅威から保護するために Browser Isolation を使う一般的な方法で、セキュリティポスチャを大きく高められます。すべての HTTP トラフィックを、既知の許容トラフィック、既知の悪意あるトラフィック、未知の 3 つのバケットに分けます。振り分けたあと、未知のバケットにあるものをすべて分離します。
次のポリシーを作成すると実現できます。
- Cloudflare のアプリケーション定義またはリストを使い、既知のアプリケーションと信頼できる Web サイトを明示的に許可するポリシー
- セキュリティリスク、既知の悪意あるトラフィック、許容利用に反する意図的な拒否を明示的にブロックするポリシー
- その中間にあるその他すべてのトラフィックを分離するポリシー
この構成では、組織にとって未知のトラフィックはデフォルトで Cloudflare が分離します。クライアント側での悪意あるコードの実行も防ぎ、追加の制御も使えます。
-
既知のアプリケーションと Web サイトを許可する:
セレクター 演算子 値 アクション 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 操作を Browser Isolation の入り口として使い、追加のセキュリティ制御を重ねられます。
たとえば、Zscaler や Proofpoint などのベンダーは、静的または動的な形式で URL にリンクを前置できます。Cloudflare アカウント向けに生成したクライアントレス分離リンクを前置すると、リスクの高いクリックに対して追加のセキュリティ効果を得られます。つまり、現在 Cloudflare を経由していないトラフィック(ほかのプロキシ経由など)でも、特定のフィルター済みリクエストの先頭にリンクを付け、エンドポイントエージェントを入れずに Cloudflare の分離ブラウザーセッションへ自動的に送れます。
flowchart TB
%% Accessibility
accTitle: Browser Isolation のアーキテクチャ
accDescr: インライン 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 Clientless Web Isolation]]
inline(["分離ブラウザー"])
biso--"ユーザーのブラウザーが </br>customer.cloudflareaccess.com/browser/risky.example.com に移動"-->inline
end