Cloudflare Zero Trust で DLP を実装してみた

2023.05.20

Cloudflare Zero Trust ではその名の通りゼロトラストを実現するためのソリューションになっていますが、機密データの流出を防ぐ DLP(Data Loss Prevention) について紹介したいと思います。

Cloudflare Data Loss Prevention (DLP)

DLP はデータの内容そのものを調べ、その中に含まれる個人情報・クレジットカード番号情報など機密情報にあたるデータが検出された時に流出を防ぎます。

Cloudflare Zero Trust のDLP機能では、Web通信(HTTP/HTTPS)が Cloudflare の Gateway、Access に通る時にフィルターによってコンテンツの中身を検査し、ポリシーに違反する通信をブロックします。また、API型の CASB と連携することで、SaaSサービスに保存したデータに機密情報が含まれていないかを調べ、検出することができます。

主なユースケースとしては以下のようなものです。

  • クラウドストレージサービスへのファイルアップロードによる機密情報流出を防止
  • Google Workspace、Microsoft 365 などのクラウドメールを介した機密情報流出を防止
  • Cloudflare CASB と連携して、SaaSサービスに保存された機密情報を検出

やってみる

今回は、「社外秘」というキーワードが含まれている資料をアップロードした時にそのアクションをブロックするようにしてみます。アップロード先は Google Drive を普段利用している想定として行っていきます。

DLPポリシーの作成

まず、DLPポリシーを作成します。
DLP profiles の設定画面に遷移すると、PRE-DEFINEDと表示されたポリシーが確認できます。記事投稿時点ではAWS Access Key ID等のクレデンシャル、クレジットカード情報、各国の個人情報番号(日本国の個人番号は未対応)のルールがビルトインの定義として用意されていますが、今後も新しくルールが追加されることが予測されます。

今回は Create profile で新しく定義をつくっていきます。

次に、Gateway、Firewall Policies で HTTPポリシーを作成し、先程作ったDLPポリシーを紐づけます。

Trafficに先程作成したDLPポリシーと、Microsoft パワーポイント資料をアップロードした時にDLPポリシーが評価される設定にします。

その他、評価対象となるユーザーコンテキストやデバイスポスチャによる制御方法を設定します。今回は特定のIdPグループに適用されるかたちにしています。設定を保存してポリシーを作成します。

TLS decription機能 を有効化している場合の注意点

その他、注意するべき点として、DLP の設定うんぬんの前に TLS decription機能 を有効化している場合に、Certificate pinning *1 による TLS decription機能 の除外 が必要になるケースです。Google Drive は Android アプリケーションからの TLS decription を有効にすると通信ができなくなってしまいますので、こちらにも記載されている通り除外しておきます。こういった、TLS decription機能 の除外をした場合、コンテンツの中身を検査することができませんので、Gateway による DLP は評価されていない点に注意します。(こういったケースでは、代替案として、Cloudflare が提供する API型CASB と DLP を使い Google Drive内で保存されている状態のファイルに機密情報が含まれていないかスキャンすることも可能です。他に Google Drive の DLP機能 で代替することも検討できます。)

TLS decription の除外のためのポリシーには、Android からの通信を特定するため、WARP を介して利用することができるデバイスポスチャーを使います。まずデバイスポスチャーの設定のため、Settings、WARP Client の Device posture で定義を追加します。

Android OS の定義を作って保存します。

次にGateway、Firewall Policies で HTTPポリシーを作成していきます。

条件として Google Drive と Android OS のデバイスポスチャーを設定し、アクションを Do Not Inspect にします。

ポリシーは、ポリシータイプ、アクションタイプによって優先される順が決まっています。また、ポリシーの並び順も上から順番に優先されるようになっています。こちらに詳細が記載されていますので、ポリシー順が正しいか確認しておきます。
これでポリシーの設定が完了しました。

動作確認

動作確認のため、「社外秘」の文字が入ったパワーポイントを作成しておきます。

一時的にポリシーを無効化して Google Drive にファイルをアップしておきます。

ポリシーを有効化して、ファイルをダウンロードしてみます。
ファイルのアップロードアクションに対してポリシーを設定したので、ダウンロードは問題なくできます。

次に、ダウンロードしたファイルをリネームして、アップロードします。
「社外秘」の文言が検査され、ポリシーに違反したためアップロードがブロックされることが確認できました。

まとめ

Cloudflare DLP によって機密情報の検出とブロックをやってみました。DXなどのIT技術の活用が広まるにつれ、データ流出のリスクの考慮ポイントも増えています。また外部脅威はもちろんですが、内部脅威も増加していることも事実としてあります。ゼロトラストソリューションに DLP を組み込むことで機密情報漏洩を防ぐ手段として非常に有効であるといえますね。

*1 特定のWebサイトで有効と見なされる証明書を限定することで、証明書の誤発行、認証局の危殆化、中間者攻撃のリスクを限定することができる