Skip to content

Commit 1d9b1c8

Browse files
maxvpharshil1712
authored andcommitted
[DLP] Logpush third-party storage (#17913)
1 parent 5bb1775 commit 1d9b1c8

File tree

8 files changed

+90
-77
lines changed

8 files changed

+90
-77
lines changed

public/_redirects

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@
298298
# data loss prevention (dlp)
299299
/cloudflare-one/policies/data-loss-prevention/integration-profiles/ /cloudflare-one/policies/data-loss-prevention/dlp-profiles/integration-profiles/ 301
300300
/cloudflare-one/policies/data-loss-prevention/dlp-logs/ /cloudflare-one/policies/data-loss-prevention/dlp-policies/ 301
301+
/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging/ /cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/#log-the-payload-of-matched-rules 301
301302
/cloudflare-one/policies/data-loss-prevention/exact-data-match/ /cloudflare-one/policies/data-loss-prevention/datasets/ 301
302303

303304
# ddos-protection

src/content/docs/cloudflare-one/policies/data-loss-prevention/datasets.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sidebar:
77

88
import { Details } from "~/components";
99

10-
Cloudflare DLP can scan your web traffic and SaaS applications for specific data defined in a custom dataset. Sensitive data can be hashed before reaching Cloudflare and redacted from matches in [payload logs](/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging/).
10+
Cloudflare DLP can scan your web traffic and SaaS applications for specific data defined in a custom dataset. Sensitive data can be hashed before reaching Cloudflare and redacted from matches in [payload logs](/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/#log-the-payload-of-matched-rules/).
1111

1212
## DLP dataset types
1313

src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-policies/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Different sites will send requests in different ways. For example, some sites wi
6262
- **DLP Profiles** shows the requests which matched a specific DLP profile.
6363
- **Policy** shows the requests which matched a specific DLP policy.
6464

65-
You can expand an individual row to view details about the request. To see the data that triggered the DLP policy, [configure payload logging](/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging/).
65+
You can expand an individual row to view details about the request. To see the data that triggered the DLP policy, [configure logging options](/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/).
6666

6767
### Report false positives
6868

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
pcx_content_type: how-to
3+
title: Logging options
4+
sidebar:
5+
order: 2
6+
---
7+
8+
Data Loss Prevention allows you to capture, store, and view the data that triggered a specific DLP policy for use as forensic evidence. Users on all plans can [log the payload](#log-the-payload-of-matched-policies) of matched HTTP requests in their Cloudflare logs. Additionally, Enterprise users can [configure a Logpush job](#send-http-requests-to-logpush-destination) to send copies of entire matched HTTP requests to storage destinations.
9+
10+
## Log the payload of matched rules
11+
12+
The data that triggers a DLP policy is stored in the portion of the HTTP request known as the payload. Payload logging is especially useful when diagnosing the behavior of DLP policies. Since the values that triggered a rule may contain sensitive data, they are encrypted with a customer-provided public key so that only you can examine them later. The stored data will include a redacted version of the match, plus 20 bytes of additional context on both sides of the match.
13+
14+
### 1. Generate a key pair
15+
16+
Follow [these instructions](/waf/managed-rules/payload-logging/command-line/generate-key-pair/) to generate a public/private key pair in the command line.
17+
18+
### 2. Upload the public key to Cloudflare
19+
20+
1. In [Zero Trust](https://one.dash.cloudflare.com), go to **Settings** > **Network**.
21+
2. In the **DLP Payload Encryption public key** field, paste your public key.
22+
3. Select **Save**.
23+
24+
:::note
25+
The matching private key is required to view logs. If you lose your private key, you will need to [generate](#1-generate-a-key-pair) and [upload](#2-upload-the-public-key-to-cloudflare) a new public key. The payload of new requests will be encrypted with the new public key.
26+
:::
27+
28+
### 3. Enable payload logging for a DLP policy
29+
30+
You can enable payload logging for any Allow or Block HTTP policy that uses the [DLP Profile](/cloudflare-one/policies/gateway/http-policies/#dlp-profile) selector.
31+
32+
1. Go to **Gateway** > **Firewall policies** > **HTTP**.
33+
2. Edit an existing Allow or Block DLP policy, or [create a new policy](/cloudflare-one/policies/data-loss-prevention/dlp-policies/#2-create-a-dlp-policy).
34+
3. In the policy builder, scroll down to **Configure policy settings** and turn on **Log the payload of matched rules**.
35+
4. Select **Save**.
36+
37+
Data Loss Prevention will now store a portion of the payload for HTTP requests that match this policy.
38+
39+
### 4. View payload logs
40+
41+
1. Go to **Logs** > **Gateway** > **HTTP**.
42+
2. Go to the DLP log you are interested in reviewing and expand the row.
43+
3. Select **Decrypt Payload Log**.
44+
4. Enter your private key and select **Decrypt**.
45+
46+
You will see the [ID of the matched DLP Profile](/api/operations/dlp-profiles-list-all-profiles) followed by the decrypted payload. Note that DLP currently logs only the first match.
47+
48+
:::note
49+
Neither the key nor the decrypted payload will be stored by Cloudflare.
50+
:::
51+
52+
### Data privacy
53+
54+
- All Cloudflare logs are encrypted at rest. Encrypting the payload content adds a second layer of encryption for the matched values that triggered a DLP rule.
55+
- Cloudflare cannot decrypt encrypted payloads, since this operation requires your private key. Cloudflare staff will never ask for the private key.
56+
- DLP will redact all predefined alphanumeric characters in the log. For example, `123-45-6789` will become `XXX-XX-XXXX`.
57+
- You can define sensitive data with [Exact Data Match (EDM)](/cloudflare-one/policies/data-loss-prevention/datasets/#exact-data-match). EDM match logs will redact your defined strings.
58+
59+
## Send HTTP requests to Logpush destination
60+
61+
:::note[Availability]
62+
Only available on Enterprise plans.
63+
:::
64+
65+
Gateway allows you to send copies of entire HTTP requests matched in DLP policies to storage destinations configured in [Logpush](/logs/about/), including third-party destinations.
66+
67+
To set up the DLP Forensic Copy Logpush job:
68+
69+
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **Logs** > **Logpush**. Select **Add a Logpush job**.
70+
2. Set up a [Logpush destination](/logs/get-started/enable-destinations/) with the DLP Forensic Copy Logpush job.
71+
3. Return to Zero Trust and go to **Gateway** > **Firewall policies** > **HTTP**.
72+
4. Edit an existing Allow or Block DLP policy, or [create a new policy](/cloudflare-one/policies/data-loss-prevention/dlp-policies/#2-create-a-dlp-policy).
73+
5. In the policy builder, scroll down to **Configure policy settings** and turn on **Send copy to storage**.
74+
6. Select a storage destination. Gateway will list any configured Logpush jobs or integrations that can receive HTTP requests.
75+
7. Select **Save**.
76+
77+
DLP will now send a copy of HTTP requests that match this policy to your Logpush destination.
78+
79+
Logpush supports up to four DLP Forensic Copy Logpush jobs per account. By default, Gateway will send all matched HTTP requests to your configured DLP Forensic Copy jobs. To send specific policy matches to specific jobs, configure [Log filters](/logs/reference/filters/). If the request contains an archive file, DLP will only send up to 100 MB of uncompressed content to your configured storage.

src/content/docs/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging.mdx

Lines changed: 0 additions & 66 deletions
This file was deleted.

src/content/docs/cloudflare-one/policies/data-loss-prevention/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { GlossaryDefinition } from "~/components";
1010
:::note[Availability]
1111
Available as an add-on to Zero Trust Enterprise plans.
1212

13-
Users on Zero Trust Free and Pay-as-you-go plans can use the [Financial Information](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/predefined-profiles/#financial-information) and [Social Security, Insurance, Tax, and Identifier Numbers](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/predefined-profiles/#social-security-insurance-tax-and-identifier-numbers) predefined profiles, [payload logging](/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging/), and [false positive reporting](/cloudflare-one/policies/data-loss-prevention/dlp-policies/#report-false-positives).
13+
Users on Zero Trust Free and Pay-as-you-go plans can use the [Financial Information](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/predefined-profiles/#financial-information) and [Social Security, Insurance, Tax, and Identifier Numbers](/cloudflare-one/policies/data-loss-prevention/dlp-profiles/predefined-profiles/#social-security-insurance-tax-and-identifier-numbers) predefined profiles, [payload logging](/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/#log-the-payload-of-matched-rules/), and [false positive reporting](/cloudflare-one/policies/data-loss-prevention/dlp-policies/#report-false-positives).
1414
:::
1515

1616
<GlossaryDefinition term="Cloudflare Data Loss Prevention (DLP)" />

src/content/docs/data-localization/how-to/zero-trust.mdx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@ title: Zero Trust
33
pcx_content_type: how-to
44
sidebar:
55
order: 1
6-
76
---
87

9-
import { Render } from "~/components"
8+
import { Render } from "~/components";
109

1110
In the following sections, we will give you some details about how different Zero Trust products can be used with the Data Localization Suite.
1211

@@ -28,9 +27,9 @@ As part of Regional Services, Cloudflare Gateway will only perform [TLS decrypti
2827

2928
#### Data Loss Prevention (DLP)
3029

31-
You are able to [log the payload of matched DLP rules](/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging/) and encrypt them with your public key so that only you can examine them later.
30+
You are able to [log the payload of matched DLP rules](/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/#log-the-payload-of-matched-rules/) and encrypt them with your public key so that only you can examine them later.
3231

33-
[Cloudflare cannot decrypt encrypted payloads](/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging/#data-privacy).
32+
[Cloudflare cannot decrypt encrypted payloads](/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/#data-privacy).
3433

3534
### Network policies
3635

@@ -52,8 +51,8 @@ By default, Cloudflare will store and deliver logs from data centers across our
5251

5352
Customers also have the option to reduce the logs that Cloudflare stores:
5453

55-
* You can [exclude PII from logs](/cloudflare-one/insights/logs/gateway-logs/manage-pii/)
56-
* You can [disable logging, or only log blocked requests](/cloudflare-one/insights/logs/gateway-logs/#selective-logging).
54+
- You can [exclude PII from logs](/cloudflare-one/insights/logs/gateway-logs/manage-pii/)
55+
- You can [disable logging, or only log blocked requests](/cloudflare-one/insights/logs/gateway-logs/#selective-logging).
5756

5857
## Access
5958

@@ -75,5 +74,5 @@ You can use the WARP setting [Local Domain Fallback](/cloudflare-one/connections
7574

7675
:::caution
7776

78-
Gateway policies will not apply for excluded traffic.
77+
Gateway policies will not apply for excluded traffic.
7978
:::

src/content/docs/reference-architecture/diagrams/security/securing-data-in-transit.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ The following diagram shows a common flow for how Cloudflare inspects a request
5959
1. User attempts to upload a file to a SaaS application (via a secure tunnel to Cloudflare created by our [device agent](/cloudflare-one/connections/connect-devices/warp/download-warp/)). [Clientless](/cloudflare-one/connections/connect-devices/agentless/) options are supported as well.
6060
2. Cloudflare's [Secure Web Gateway](/cloudflare-one/policies/gateway/) (SWG) will first verify that the user is permitted to use the requested SaaS application, and then scrutinize the file's payload for [malicious code](/cloudflare-one/policies/gateway/http-policies/antivirus-scanning/) and [sensitive data](/cloudflare-one/policies/data-loss-prevention/).
6161
3. The DLP profile determines the file contains national identifiers like US Social Security Numbers (SSN).
62-
4. The SWG policy is configured with a ['block' action](/cloudflare-one/policies/gateway/http-policies/#block), so the attempt is [logged](/cloudflare-one/policies/data-loss-prevention/dlp-policies/payload-logging/) and a [block page](/cloudflare-one/policies/gateway/block-page/) returned to the end user's web browser.
62+
4. The SWG policy is configured with a ['block' action](/cloudflare-one/policies/gateway/http-policies/#block), so the attempt is [logged](/cloudflare-one/policies/data-loss-prevention/dlp-policies/logging-options/#log-the-payload-of-matched-rules/) and a [block page](/cloudflare-one/policies/gateway/block-page/) returned to the end user's web browser.
6363

6464
## Related resources
6565

0 commit comments

Comments
 (0)