Skip to content

Commit

Permalink
Move location of OWASP example
Browse files Browse the repository at this point in the history
  • Loading branch information
pedrosousa committed Oct 16, 2024
1 parent 0ef78b8 commit a3fbc0f
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 110 deletions.
105 changes: 103 additions & 2 deletions src/content/docs/waf/account/managed-rulesets/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar:
order: 4
---

import { Render } from "~/components";
import { Render, Tabs, TabItem, Details } from "~/components";

:::note
This feature requires an Enterprise plan with a paid add-on.
Expand All @@ -17,7 +17,108 @@ This feature requires an Enterprise plan with a paid add-on.

At the account level, you can deploy each [WAF managed ruleset](/waf/managed-rules/#managed-rulesets) more than once. This means that you can apply the same managed ruleset with different configurations to different subsets of incoming traffic for the Enterprise zones in your account.

For example, you could deploy the [Cloudflare OWASP Core Ruleset](/waf/managed-rules/reference/owasp-core-ruleset/) multiple times with different paranoia levels and a different action (_Log_ action for PL4 and _Managed Challenge_ action for PL3). Refer to [Example OWASP configuration](/waf/account/managed-rulesets/owasp-example/) for details on how to set up this configuration.
For example, you could deploy the [Cloudflare OWASP Core Ruleset](/waf/managed-rules/reference/owasp-core-ruleset/) multiple times with different paranoia levels and a different action (_Managed Challenge_ action for PL3 and _Log_ action for PL4).

<Details header="Example: Deploy OWASP with two different configurations">

The following example deploys the [Cloudflare OWASP Core Ruleset](/waf/managed-rules/reference/owasp-core-ruleset/) multiple times at the account level through the following execute rules:

- First execute rule: Enable OWASP rules up to paranoia level 3 (PL3) and set the action to _Managed Challenge_.
- Second execute rule: Enable OWASP rules up to PL4 and set the action to _Log_.

This configuration gives you additional protection by enabling PL3 rules, but without blocking the requests, since higher paranoia levels are more prone to false positives.

The second rule logs any matches for PL4 rules, the most strict set of rules in the ruleset, so that it does not affect live traffic. You could use this configure to understand which traffic would be affected by PL4 rules.

<Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard">

1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/) and select your account.

2. Go to Account Home > **WAF** > **Managed rulesets**.

3. Select **Deploy** > **Deploy managed ruleset**.

4. Next to the **Cloudflare OWASP Core Ruleset**, select **Select ruleset**.

5. Give a name to the rule deploying the ruleset in **Execution name**.

6. (Optional) To execute the managed ruleset for a subset of incoming requests, select **Edit scope** and [configure the expression](/ruleset-engine/rules-language/expressions/edit-expressions/) that will determine the scope of the current rule deploying the managed ruleset.

7. Customize the behavior of the managed ruleset in the following ways:

- **OWASP Anomaly Score Threshold**: _Medium - 40 and higher_
- **OWASP Paranoia Level**: _PL3_
- **OWASP Action**: _Managed Challenge_

8. Select **Deploy**.

9. Repeat the procedure with the following ruleset configuration:

- **OWASP Anomaly Score Threshold**: _Medium - 40 and higher_
- **OWASP Paranoia Level**: _PL4_
- **OWASP Action**: _Log_

Once you finish your configuration, the **Deployed managed rulesets** list will show two _Execute_ rules for the Cloudflare OWASP Core Ruleset.

</TabItem> <TabItem label="API">

The following `POST` request creates an [entry point ruleset](/ruleset-engine/about/rulesets/#entry-point-ruleset) for the `http_request_firewall_managed` phase at the account level. The ruleset includes two rules deploying the Cloudflare OWASP Core Ruleset twice with different configurations.

```bash
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/rulesets" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
"name": "My ruleset",
"description": "Entry point ruleset for WAF managed rulesets (account)",
"kind": "root",
"phase": "http_request_firewall_managed",
"rules": [
{
"action": "execute",
"action_parameters": {
"id": "4814384a9e5d4991b9815dcfc25d2f1f",
"overrides": {
"categories": [
{
"category": "paranoia-level-4",
"enabled": false
}
],
"rules": [
{
"id": "6179ae15870a4bb7b2d480d4843b323c",
"action": "managed_challenge"
}
]
}
},
"expression": "cf.zone.plan eq \"ENT\"",
"description": "Execute OWASP ruleset at PL3 with Managed Challenge action"
},
{
"action": "execute",
"action_parameters": {
"id": "4814384a9e5d4991b9815dcfc25d2f1f",
"overrides": {
"rules": [
{
"id": "6179ae15870a4bb7b2d480d4843b323c",
"action": "log"
}
]
}
},
"expression": "cf.zone.plan eq \"ENT\"",
"description": "Execute OWASP ruleset at PL4 with Log action"
}
]
}'
```

</TabItem> </Tabs>

</Details>

<Render
file="managed-ruleset-config-options"
Expand Down
108 changes: 0 additions & 108 deletions src/content/docs/waf/account/managed-rulesets/owasp-example.mdx

This file was deleted.

0 comments on commit a3fbc0f

Please sign in to comment.