LoginSignup
2
2

More than 1 year has passed since last update.

Cloudflare Zero Trust の DLP ポリシーを日本語で試す

Last updated at Posted at 2022-12-03

Cloudflare Zero Trust の DLP

Data Loss Prevention · Cloudflare Zero Trust docs

Data Loss PreventionはEnterpriseプランでのみ利用可能です。

Cloudflare Data Loss Prevention (DLP) と Secure Web Gateway を使用すると、社会保障番号やクレジットカード番号などの機密データの存在をHTTPトラフィックで検査することができます。DLPは、アップロードまたはダウンロードされたMicrosoft Officeドキュメント(Office 2007以降)、PDF、チャットメッセージ、フォーム、その他のWebコンテンツなど、HTTPボディ全体をスキャンします。可視性は、サイトやアプリケーションによって異なります。DLPは、電子メールなどの非HTTPトラフィックや、Cloudflare Gatewayを迂回するトラフィック(例えば、Do Not Inspectルールに一致するトラフィック)をスキャンすることはありません。

DLPフィルタリングを行うには、まず検出したいデータパターンを持つDLPプロファイルを構成し、次にGateway HTTPポリシーを構築して、機密データが組織から外に出るのを許可またはブロックします。Gateway は HTTP トラフィックを解析し、DLP プロファイルで指定されたキーワードまたは正規表現に一致する文字列をスキャンします。

DLP カスタムプロファイル作成

日本語で以下のように「こんにちは」をそのまま正規表現の Value として定義できます。

「Detection entry name」は英字表記にしておくと、ダッシュボードログでも表示できます。

image-20221130010442804

image-20221130010636530

HTTP ポリシー設定

テスト用に以下の HTTP ポリシーを作成します。

image-20221130011424491

DLP テスト

こちらにあるように https://dlptest.com/https-post/ からテストできます。

Test Message

以下のテキストメッセージを POST すると、Access restricted のページが表示されることが確認できます。

image-20221130003309446

image-20221130004911624

以下がダッシュボードで確認可能なログです。

image-20221130004711966

以下がブロック時のログ出力のレコードです。

{
  "AccountID": "xxx",
  "Action": "block",
  "BlockedFileHash": "",
  "BlockedFileName": "",
  "BlockedFileReason": "unknown",
  "BlockedFileSize": 0,
  "BlockedFileType": "",
  "Datetime": 1669735991664000000,
  "DestinationIP": "35.209.241.59",
  "DestinationPort": 443,
  "DeviceID": "df469de4-6ff5-11ed-9b86-2617b8795c9a",
  "DownloadedFileNames": [],
  "Email": "non_identity@xxx.cloudflareaccess.com",
  "HTTPHost": "dlptest.com",
  "HTTPMethod": "POST",
  "HTTPVersion": "HTTP/2",
  "IsIsolated": false,
  "PolicyID": "7a8e0617-0153-420b-b87c-f9a58f5474ad",
  "Referer": "https://dlptest.com/https-post/",
  "RequestID": "15659e616d00001d938ce4a400000001",
  "SourceIP": "100.96.0.33",
  "SourcePort": 59693,
  "URL": "https://dlptest.com/https-post/",
  "UploadedFileNames": [],
  "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
  "UserID": "b7761faf-27e6-4d08-a35a-802db584b739"
}

File Upload

Google Docs から「こんにちは」だけのファイルを作成 > PDF として dlptest.pdf をダウンロード保存します。

dlptest.pdf をアップロードすると、以下のようにポリシー適用が確認できます。

image-20221130005450372

以下がダッシュボードで確認可能なログです。

image-20221130005653480

以下がダッシュボードで確認可能なログです。

ファイルアップロードのブロックでは BlockedFileNameBlockedFileType に情報が入ってきます。

{
  "AccountID": "xxx",
  "Action": "block",
  "BlockedFileHash": "",
  "BlockedFileName": "dlptest.pdf",
  "BlockedFileReason": "unknown",
  "BlockedFileSize": 0,
  "BlockedFileType": "PDF",
  "Datetime": 1669737211797000000,
  "DestinationIP": "35.209.241.59",
  "DestinationPort": 443,
  "DeviceID": "df469de4-6ff5-11ed-9b86-2617b8795c9a",
  "DownloadedFileNames": [],
  "Email": "non_identity@xxx.cloudflareaccess.com",
  "HTTPHost": "dlptest.com",
  "HTTPMethod": "POST",
  "HTTPVersion": "HTTP/2",
  "IsIsolated": false,
  "PolicyID": "7a8e0617-0153-420b-b87c-f9a58f5474ad",
  "Referer": "https://dlptest.com/https-post/",
  "RequestID": "1565b0ff8000001d938da69400000001",
  "SourceIP": "100.96.0.33",
  "SourcePort": 59693,
  "URL": "https://dlptest.com/wp-admin/admin-ajax.php",
  "UploadedFileNames": [],
  "UserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
  "UserID": "b7761faf-27e6-4d08-a35a-802db584b739"
}

感想

正規表現としては日本語がそのまま使えて検知できたので、日本でも柔軟な使い方ができそうです。

また、検査としてはボディの中身を見ますが、ログではボディの中身が全て閲覧できるのではなく、あくまで検知アクションの結果とファイル名のレベルで確認できる内容になっています。

「DLP profiles」や「DLP profile entries」もログ出力レコードのフィールドとして確認できるとより便利になってくるかと思いますが、そのうち対応されることでしょう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2