🦦

あなたの Web サイトのデータ保護にも使える Cloudflare Remote Browser(もしも、ブラウザまで提供できたら・・・)

2025/03/12に公開

はじめに

Cloudflare の Remote Browser Isonation(RBI)の話です。

通常 RBI というと組織の IT セキュリティ管理者がユーザのブラウザを守る観点で検討することが多いと思います。もちろん Cloudflare の RBI もその目的で使えます。

ただ、この記事では Web サイトの運営者がデータ保護の観点で活用できることを紹介します。

下記のようなご要望にマッチします。

対象の方 実現したいこと 条件
Web サイト運営者 データの閲覧は OK だが、コピーやダウンロードを禁止したい ブラウザ側に RBI のためのエージェント類は入れ(られ)ない

Cloudflare AccessRemote Browser のコンビネーションで実現します。

通信フロー

後述のデモ環境を想定したフローです。
イメージ掴むためのもので、正確さを目指したものではありません。

通常の Access でのアクセス制御は下記になります。

・RBI 無

ブラウザは Cloudflare のリバースプロキシを通じてオリジンからコンテンツをうけとり、サードパーティからロードするものがあれば取りに行きます。

一方、RBI をつけると下記のようになります。

・RBI 有

リバースプロキシの手前にリモートブラウザとフォワードプロキシの処理を噛ませているところが工夫です。

実装

準備

ローカルブラウザから Access 経由で Web サイトにアクセスできる環境を作ります。

ブラウザ ユーザ識別 コピー ペースト ダウンロード
ローカル

データ保護の設定

Web サイトのデータを保護していきます。3 ステップで設定します。

Step 1

Web サイトをリモートブラウザ経由でアクセスさせます。
ユーザはペーストができなくなります。

  • RBI を有効にしたい条件(特定のユーザなど)を定義した Access ポリシーを作成
  • その Access ポリシーで isolate self-hosted application オプションを有効化
Access ポリシー

RBI を適用するユーザのポリシーでアプリケーションを分離するオプションを有効化

Access アプリケーション

アプリケーションには

当該のポリシーを適用

ブラウザ ユーザ識別 コピー ペースト ダウンロード
リモート

これで Web サイトへの接続はリモートブラウザ経由になります。
今回はコピーやダウンロードも防ぎたいので Step 2 を実施します。

Step 2

リモートブラウザからのリクエストに Gateway ポリシーが適用されます。
これを利用し、データのコピーやダウンロードを拒否します。
保護すべきデータがあるパスだけを対象にすることができます。

Gateway ポリシー

特定のパス /internal/

Isolate し、より厳しい制限を適用

ブラウザ ユーザ識別 コピー ペースト ダウンロード
リモート

Step 3

機密データが含まれている場合、転送しないよう網を張っておきます。
誤ってデータを配置した、うっかり directory listing を有効にした、などの状況を想定します。

  • Gateway が持つ Data Loss Prevention(DLP)を利用
  • 今回はクレジットカード番号の流出を止める例
DLP プロファイル

クレジットカードの識別は、あらかじめ組み込まれたプロファイル Financial Information あり

一致数をのしきい値を定義

Gateway ポリシー

Financial Information の DLP プロファイルにマッチしていれば

Block

ブラウザ 機密データの流出
リモート

デモ

  • 渡し船の会社
  • 運航業務 Web サイト
  • 船長たちは始業時にアクセスし、運航データをチェック
  • 船長の役職は IDP(Entra ID)のグループで識別できるので、一律で下記のアクセスポリシーにする
    提供機能 データ制御
    アルコールチェッカーの数値入力 不正な入力は WAF で落とす
    運航地点の地図や天気 データの印刷やコピーも可能
    乗客の情報 閲覧のみ(コピーやダウンロード禁止)
    うっかり公開 機密データの流出は阻止
  • RBI 適用の有無で比較
    WAF コピー ダウンロード ペースト 機密データの流出
    RBI 無
    RBI 有

RBI 無

  • ローカルブラウザがサードパーティの JavaScript や画像を直接読み込んでいる
  • お客様情報の PDF を「コピーやダウンロードは禁止」と喚起しているが、強制はなく、できる状態
  • 機密データ(クレジットカード情報)のあるディレクトリをうっかり公開している
  • 入力文字列に関しては
    • ペースト可能
    • WAF が効いている

RBI 有

船長がログインします。
彼らのグループは Access ポリシーで isolate self-hosted application が有効になっています。

Step 1 の効果

  • 接続先が content.browser.run で Web サイトのスクリプト実行はリモートブラウザーに変わる
  • ペーストができない

Step 2 の効果

  • パス /internal/(お客様情報)に関してはコピー・ダウンロードができない

Step 3 の効果

  • クレジットカード情報の入ったファイルのダウンロードが阻止される

DLP Financial Information でログをフィルターすると Adelev 船長のリクエストが Block されたログが確認できます。

その他の効果

RBI 対象の Web サイトだけでなく、読み込まれるサードパーティのリソースもリモートブラウザ経由となり Gateway ポリシーが適用されます。

たとえば Yahoo! Open Local Platform への通信が Gateway ポリシーを通過しています。

必要があれば、これらについても Gateway ポリシーで Inspect や Block などコントロール可能になります。

逆効果

得るものがあれば捨てるものがあります。
RBI の制限に従うことになります。

たとえば、WebGL には対応していないので

Web サイトに Yahoo!マップ(パソコン版)などを埋め込んでいた入りすると、その部分が動かなくなる可能性があります。

まとめ

以上 RBI を Web サイトに埋め込むことで、データ保護に利用できることを確認しました。
Web サイトのデータ漏洩対策などで候補の一つになるかと思います。

なお RBI は有償プランが必要になります。

Discussion