このガイドでは、Data Loss Prevention(DLP)でよくある問題の切り分け方法を説明します。
トラフィックを Gateway に流さずに、プロファイルが特定の内容を検出するかを確認するには、Test scan を使います。
DLP が内容を検査しない、またはブロックしない、という報告が最も多いです。DLP ポリシー を設定してもトラフィックを検査またはブロックできない場合、原因はほぼ常に、トラフィックが復号されていないことです。DLP で HTTPS リクエストの内容をスキャンするには、TLS 復号 をオンにする必要があります。
TLS 復号をオンにするには、次の手順を行います。
- Cloudflare ダッシュボード ↗ で Zero Trust > Traffic policies > Traffic settings を開きます。
- Proxy and inspection で、Inspect HTTPS requests with TLS decryption をオンにします。
-
cloudflare_api_token↗ に次の権限を追加します。Zero Trust Write
-
cloudflare_zero_trust_gateway_settings↗ でtls_decrypt引数を設定します。resource "cloudflare_zero_trust_gateway_settings" "team_name" { account_id = var.cloudflare_account_id settings = { tls_decrypt = { enabled = true } } }
TLS 復号をオンにしたあと、HTTPS リクエストの内容を検査する DLP ポリシーを作成できます。例:
| Selector | Operator | Value | Logic | Action |
|---|---|---|---|---|
| Domain | in | box.com |
And | Block |
| DLP Profile | in | Credit card numbers |
Passive Detection は、サンプリングした Gateway トラフィックからの検出を表示します。結果を期待しているのにダッシュボードが空の場合は、次を確認します。
- 調査したいトラフィックを含む時間範囲を選びます。
- Traffic direction を確認します。フィルターを外してすべてのトラフィック方向を含めるか、方向が記録されていない本文を確認するために Unknown を選びます。
- 想定している検出エントリが、アカウント内の少なくとも 1 つの DLP プロファイルで有効になっていることを確認します。
- トラフィックが Gateway 検査の前提条件 を満たしていることを確認します。HTTPS では HTTP フィルタリングと TLS 復号が含まれます。
- Do Not Inspect ポリシー や、ほかのルーティング設定が、そのトラフィックを検査対象外にしていないかを確認します。
個々のリクエストまたはレスポンス本文は、サンプリングされないことがあります。ダッシュボードが空でも、機密データがないことの確認にはなりません。
DLP ポリシーが業務上重要なアプリケーション(Zoho、Google、社内ドメインなど)へのアクセスをブロックしている、または誤検知が多い場合、ポリシーの対象が広すぎる可能性が高いです。Credentials and Secrets のようなプロファイルは強力ですが、範囲を絞らないと過剰に一致します。
機密性の高いプロファイルをすべてのトラフィックに適用すると、不要なブロックが発生します。例:
| Selector | Operator | Value | Action |
|---|---|---|---|
| DLP Profile | in | Credentials and Secrets | Block |
ポリシーをより具体的にします。一律のブロックではなく、リスクの高い宛先やユーザーグループを対象にした細かいポリシーを作成します。
次のポリシーは、特定のユーザーグループがファイル共有サイトへ財務データをアップロードすることだけをブロックし、ほかのサイトでの誤検知リスクを下げます。
| Selector | Operator | Value | Logic | Action |
|---|---|---|---|---|
| Destination Domain | in | dropbox.com, wetransfer.com |
And | Block |
| DLP Profile | in | Financial Information | And | |
| User Group Names | in | Finance Team |
信頼できるアプリケーションに一致するポリシーを、Do Not Scan アクション で作成することもできます。
プレーンテキストでは機密データを検出するのに、画像や特定のアプリケーション内では検出しない場合は、次を確認します。
- OCR がオンになっていること: 画像内のテキスト(クレジットカードの写真など)を DLP がスキャンするには、DLP 設定で 光学文字認識(OCR) をオンにする必要があります。
- アプリケーション固有の動作: WhatsApp Web などの一部のアプリケーションは、Gateway が HTTP ポリシーで十分に検査できないプロトコルや暗号化方式(WebSocket 接続など)を使います。
- 対応しているファイルタイプ: DLP 検査の対象は、対応しているファイルタイプ である必要があります。
事前定義プロファイル Personally Identifiable Information (PII) Record は、単独の値には一致しません。ほとんどのプロファイルと異なり、少なくとも 3 つの異なる検出エントリが近い位置に現れた場合にだけ一致します。無関係な単発の一致による誤検知を減らすためです。
個別のデータ種別(1 つのメールアドレスやクレジットカード番号など)を検出したい場合は、別の事前定義プロファイルを使うか、必要な検出エントリを指定した カスタムプロファイル を使います。
HTTP ポリシー作成時に DLP Profile セレクターが使えない、またはカスタム DLP プロファイルの作成がブロックされる場合、次のいずれかであることがほとんどです。
- プランが正しくない。これらの機能には Zero Trust Enterprise プランが必要です。アカウントにこの権利があるはずだと思う場合は、アカウントチームに連絡してサブスクリプション内容を確認してください。
- 権限の問題。DLP 設定を構成するために必要な管理者権限がない可能性があります。Cloudflare アカウントの管理者に確認してください。