Cloudflare Browser Isolation とは
高パフォーマンスのリモートブラウザ分離(RBI)
Cloudflare Browser Isolation はすべてのコードを当社のグローバルネットワークのエッジで実行し、ランサムウェア、フィッシング、ブラウザのゼロデイ脆弱性からユーザーを隔離します。
通常のクラウドベースのRBIシステム(下記の青い破線のボックス①) では、個々のリモートブラウザ②はクラウドで削除可能なコンテナインスタンスとして実行されます。通常ユーザー1人につき1つのインスタンスです。リモートブラウザは、特定のプロトコルとデータフォーマット③を使って、Webページのレンダリングされたコンテンツをユーザーのエンドポイントデバイス④に送信します。キーストローク、マウスコマンド、スクロールコマンドなどのユーザーの動作は、セキュアな暗号化チャンネルを介して分離サービスに送り返されます。その後で、リモートブラウザによって処理され、リモートブラウザのWebページへの変更はエンドポイントデバイスに送り返されます。
リモートChromiumブラウザのSkia描画コマンド①をインターセプト(傍受)してからトークン化して圧縮し、そして暗号化してワイヤ②を介して、ユーザーエンドポイントデスクトップまたはモバイル端末でローカルに実行するHTML5準拠のWebブラウザ③(Chrome、Firefox、Safariなど)へと送信します。NVRにキャプチャされたSkia APIコマンドは事前にラスタ化されています。つまり非常にコンパクトだという意味です。
Cloudflare Browser Isolation を利用する方法
以下の 5 つの方法があります
- Gateway with WARP
- Clientless Web Isolation | Cloudflare Zero Trust docs
- Non-identity on-ramps | Cloudflare Zero Trust docs
- Isolate self-hosted application | Cloudflare Zero Trust docs
日常的に Dogfooding するための設定
以下のようなイメージで、Google 検索でリストされる URL を Clientless Web Isolation のプレフィックスをつけてリライトします。
Clientless Web Isolation 設定
以下のドキュメントに従って設定します。
Chrome 拡張 ReWrite インストール設定
以下の Chrome 拡張をインストールします。
TEAM_NAME
に合わせて以下のようなリライトルールを設定します。
"match": ["http://", "https://"],
"substitute": "https://TEAM_NAME.cloudflareaccess.com/browser/https://",
"url": ["www.google.com/*"];
動作確認
上記の設定を適用すると、以下のように Clientless Web Isolation のリンクに書き換わります。
クリックすると、連携済みの IdP を経由して認証が求められます。
その後、リモートブラウザ分離(RBI)によってブラウジングがおこなわれていることが確認できます。
ここでは、リモートブラウザのブラウジング結果が canvas
要素 を使って、ローカルブラウザに表示されます。
まとめ
製品を提案する立場上、日頃から使用感に慣れて、説明できるようにしておく必要があると思い、今回の発想に至りました。
Dogfooding によって、バグ等があれば、適時社内で製品担当者へのフィードバックを挙げられます。
もちろんデモ用途にも便利かなと思います。