🤖

Cloudflare One(Zero Trust) のRemote Browser Isolation 設定手順

2025/01/20に公開

今日はZeroTrustサービスであるCloudflare One の一機能であるRemote Broser Isolationについて設定手順書ご紹介します。

Remote Browser Isolation とは

Remote Browser Isolation (RBI) は、ウェブブラウジング中に発生する可能性のあるセキュリティリスクを隔離する技術です。この技術は、ユーザーがウェブサイトを訪れる際に、ブラウザの実行環境をユーザーのデバイスとは別の、Cloudflare のインフラストラクチャ上にある仮想環境で実行させることによって、デバイスへの直接的なリスクを防ぎます。

危険なサイトはドメイン単位等でアクセスさせない、という制御は勿論Cloudflare Oneでは可能です。一方で業務上アクセスが迫られるケースもあります。そのような場合、以下の動作による危険性をローカルブラウザから切り離した状態でのブラウジングを可能とします。

1.ユーザーがウェブページを訪れると、Cloudflare のサーバー上で仮想ブラウザがそのページを表示
2.表示されるのは、実際のブラウザ環境と隔離された仮想ブラウザが処理したコンテンツのみであり、ユーザーの端末にはその実行環境が影響を及ぼさない
3.ウェブサイトに悪意のあるスクリプトが含まれていた場合でも、そのスクリプトはユーザーのローカルデバイスには到達せず、Cloudflare 側で処理される、安全が維持される

例えば、自社を模したフィッシングサイトがあった場合調査のために画面へのアクセスなどが必要になるケースや、自社のコンテンツで権利を侵害しているサイトで使われている報告があった場合、その確認作業等で有益です。

https://developers.cloudflare.com/cloudflare-one/policies/browser-isolation/setup/clientless-browser-isolation/

さっそくやってみる

CloudflareOneの基本的な構成案としてはクライアントにWARPというエージェントをインストールし、そのエージェントがIPアドレスやDNSクエリ等ネットワークレイヤで基本的なPCの動作を制御します。一方エージェントのインストールは影響も大きくハンズオンなどには不向きですので今日はHTTPGateway経由でのエージェントレスの手順を試します。エージェントレスの場合、ユーザーはそのGatewayをすり抜けて任意のURLにアクセスすることが可能となる点に注意してください。(エージェントをインストールしている場合すり抜けを禁止することが可能です)

1. 初期セットアップ

マネージメントコンソールからZeroTrustをクリックします。
費用は発生しませんが、初回クレジットカードの登録が必要になります。
必要な手順はこちらに纏まっていますが、おそらくSaaSに慣れている方は見なくても作業できると思います。
https://zenn.dev/kameoncloud/articles/032ec7d8572d9f

2. 認証方式設定

CloudflareOneは以下の通り非常に多くの認証方式との連携が可能ですが、今日は一番簡単なメールでのOneTimePINを試してきます。

左ペイン一番下のSettingsをクリックします。

Authenticationをクリックします。

Login methodsAdd newをクリックします。

One time PINを選択します。


画面上部のリンクで戻ります。

以下のようになっていれば完成です。

余談 PINとパスワードの違い
OneTimePINとOneTimePasswordはベンダーによって表現が異なるだけで結論から言うと違いはありません。もともとは以下の2つの定義があったようです

定義1:
PIN:数字だけで構成
Password:数字文字列記号等で構成

定義2:
PIN:個人を認証するもの
Password:システムへのログインに使うもの

見て分かる通り定義1と定義2は若干の矛盾があります。個人を認証する方が数字のみ、というのもおかしな話です。こうして 今はOneTimePINとOneTimePassordに明確な違いはなくなっているようです。

3. ゲートウェイの作成

左ペインからGatewayfirewall policiesをクリックします。

先ほども記載しましたがエージェントレスオプションではこのゲートウェイの利用をクライアントPCに強制できないことは注意してください。WARPというエージェントでは全ての外部通信はCloudflareを経由させる、といった設定が可能です。
HTTPのタブをクリックします。

Add HTTP policyをクリックします。

適当な名前を付け以下の通り全てのクライアントからの通信を保護対象とします。

不正なTLS用電子証明書を保有しているウェブサイトへアクセスした際の挙動を設定します。

尚この時代非TLSのウェブサイトは原則アクセスすべきではないことは言うまでもありません。
Create policyをクリックします。

4. Remote Browser Isolation の有効化

次に左ペインSettingsからBrowser Isolationをクリックします。

Clientless Web Isolationのトグルをオンにします。

次にPermissionsをクリックし、Add a ruleをクリックします。

適当な名前を付け、以下のように全員がアクセス可能とします。

他にも様々なオプションがありますのでご利用の際は実際の利用状況に応じて設定してください。

違う場所にあるため少しわかりづらいですがSaveボタンをクリックします。


次にAuthenticationタブをクリックします。先ほど設定したOneTimePINが登録されているはずです。

5. テスト

SettingsCustom Pagesをクリックすると初回登録を行ったドメイン名が表示されます。


https://<domain name>/browser にアクセスします。以下のようなログイン画面が表示されます。

メールでPINが届いていますので入力します。

上手くいけば以下のようにリモートブラウジングの画面が出てきます。

後は普通にブラウジングを行うだけです。特定URLへ直接アクセスしたい場合は以下のように指定します。
https://<domain name>/browser/https://www.cloudflare.com
ブラウザのデベロッパーツールではCloudflare経由でのレンダリングが実行されていることがわかります。

Discussion