Skip to content

Commit f30b6e6

Browse files
Merge pull request #304072 from halkazwini/waf-tweaks
WAF tweaks
2 parents 5487d45 + 8d8f190 commit f30b6e6

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

articles/web-application-firewall/ag/application-gateway-crs-rulegroups-rules.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ author: halkazwini
66
ms.author: halkazwini
77
ms.service: azure-web-application-firewall
88
ms.topic: concept-article
9-
ms.date: 03/06/2025
10-
ms.custom:
11-
- build-2025
9+
ms.date: 08/11/2025
10+
ms.custom: build-2025
11+
1212
# Customer intent: "As a web application security administrator, I want to manage DRS and CRS rule sets in the web application firewall, so that I can customize security settings and protect against a broad range of vulnerabilities effectively."
1313
---
1414

@@ -70,15 +70,15 @@ Use the following guidance to tune WAF while you get started with DRS 2.1 on App
7070

7171
## Core rule set 3.2
7272

73-
The recommended managed rule set is the Default Rule Set 2.1, which is baselined off the Open Web Application Security Project (OWASP) Core Rule Set (CRS) 3.3.2 and includes additional proprietary protections rules developed by Microsoft Threat Intelligence team and updates to signatures to reduce false positives. As an alternative to DRS 2.1, you can use CRS 3.2 which is based off OWASP CRS 3.2.0 version.
73+
The recommended managed rule set is the Default Rule Set 2.1, which is baselined off the Open Web Application Security Project (OWASP) Core Rule Set (CRS) 3.3.2 and includes additional proprietary protections rules developed by Microsoft Threat Intelligence team and updates to signatures to reduce false positives. As an alternative to DRS 2.1, you can use CRS 3.2 that is based off OWASP CRS 3.2.0 version.
7474

7575
CRS 3.2 includes 14 rule groups, as shown in the following table. Each group contains multiple rules, which can be disabled.
7676

7777
> [!NOTE]
78-
> CRS 3.2 is only available on the WAF_v2 SKU. Because CRS 3.2 runs on the new Azure WAF engine, you can't downgrade to CRS 3.1 or earlier. If you need to downgrade, [contact Azure Support](https://aka.ms/azuresupportrequest).
78+
> CRS 3.2 is only available on the WAF_v2 SKU. You can't downgrade to CRS 3.1 or earlier because CRS 3.2 runs on the new Azure WAF engine. If you need to downgrade, [contact Azure Support](https://aka.ms/azuresupportrequest).
7979
8080
> [!NOTE]
81-
> Web Application Firewall (WAF) running on Application Gateway for Containers does not support the Core Ruleset (CRS).
81+
> Web Application Firewall (WAF) running on Application Gateway for Containers doesn't support the Core Ruleset (CRS).
8282
8383
|Rule group name|Threat Type|
8484
|---|---|
@@ -99,11 +99,11 @@ CRS 3.2 includes 14 rule groups, as shown in the following table. Each group con
9999

100100
## Tuning of Managed rule sets
101101

102-
Both DRS and CRS are enabled by default in Detection mode in your WAF policies. You can disable or enable individual rules within the Managed Rule Set to meet your application requirements. You can also set specific actions per rule. The DRS/CRS supports block, log and anomaly score actions. The Bot Manager ruleset supports the allow, block, and log actions.
102+
Both DRS and CRS are enabled by default in Detection mode in your WAF policies. You can disable or enable individual rules within the Managed Rule Set to meet your application requirements. You can also set specific actions per rule. The DRS/CRS supports block, log, and anomaly score actions. The Bot Manager ruleset supports the allow, block, and log actions.
103103

104104
Sometimes you might need to omit certain request attributes from a WAF evaluation. A common example is Active Directory-inserted tokens that are used for authentication. You can configure exclusions to apply when specific WAF rules are evaluated, or to apply globally to the evaluation of all WAF rules. Exclusion rules apply to your whole web application. For more information, see [Web Application Firewall (WAF) with Application Gateway exclusion lists](application-gateway-waf-configuration.md).
105105

106-
By default, Azure WAF uses anomaly scoring when a request matches a rule. Additionally, custom rules can be configured in the same WAF policy if you want to bypass any of the preconfigured rules in the Core Rule Set.
106+
By default, Azure WAF uses anomaly scoring when a request matches a rule. Additionally, you can configure custom rules in the same WAF policy if you want to bypass any of the preconfigured rules in the Core Rule Set.
107107

108108
Custom rules are always applied before rules in the Core Rule Set are evaluated. If a request matches a custom rule, the corresponding rule action is applied. The request is either blocked or passed through to the back-end. No other custom rules or the rules in the Core Rule Set are processed.
109109

@@ -124,7 +124,7 @@ For example, a single *Critical* rule match is enough for the WAF to block a req
124124

125125
## Paranoia level
126126

127-
Each rule is asigned in a specific Paranoia Level (PL). Rules configured in Paranoia Level 1 (PL1) are less aggressive and hardly ever trigger a false positive. They provide baseline security with minimal need for fine tuning. Rules in PL2 detect more attacks, but they are expected to trigger false positives which should be fine-tuned.
127+
Each rule is asigned in a specific Paranoia Level (PL). Rules configured in Paranoia Level 1 (PL1) are less aggressive and hardly ever trigger a false positive. They provide baseline security with minimal need for fine tuning. Rules in PL2 detect more attacks, but they're expected to trigger false positives that should be fine-tuned.
128128

129129
By default, DRS 2.1 and CRS 3.2 rule versions are pre-configured in Paranoia Level 2, including rules assigned in both PL1 and in PL2.
130130
If you want to use WAF exclusively with PL1, you can disable any or all PL2 rules or change their action to 'log'. PL3 and PL4 are currently not supported in Azure WAF.
@@ -147,7 +147,7 @@ CRS 3.1 includes 14 rule groups, as shown in the following table. Each group con
147147
> CRS 3.1 is only available on the WAF_v2 SKU.
148148
149149
> [!NOTE]
150-
> Web Application Firewall (WAF) running on Application Gateway for Containers does not support the Core Ruleset (CRS).
150+
> Web Application Firewall (WAF) running on Application Gateway for Containers doesn't support the Core Ruleset (CRS).
151151
152152
|Rule group name|Description|
153153
|---|---|
@@ -1223,7 +1223,7 @@ The following rulesets - CRS 3.0 and CRS 2.2.9 groups and rules are no longer s
12231223
|942260|Detects basic SQL authentication bypass attempts 2/3|
12241224
|942270|Looking for basic sql injection. Common attack string for mysql oracle and others|
12251225
|942290|Finds basic MongoDB SQL injection attempts|
1226-
|942300|Detects MySQL comments, conditions and ch(a)r injections|
1226+
|942300|Detects MySQL comments, conditions, and ch(a)r injections|
12271227
|942310|Detects chained SQL injection attempts 2/2|
12281228
|942320|Detects MySQL and PostgreSQL stored procedure/function injections|
12291229
|942330|Detects classic SQL injection probings 1/2|

articles/web-application-firewall/ag/custom-waf-rules-overview.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ms.service: azure-web-application-firewall
77
ms.topic: concept-article
88
ms.date: 03/30/2025
99
ms.custom: devx-track-azurepowershell
10+
1011
# Customer intent: As a WAF administrator, I want to create and manage custom rules for the Web Application Firewall on the Application Gateway, so that I can enhance security by controlling traffic based on specific conditions and actions.
1112
---
1213

@@ -133,10 +134,10 @@ Describes the field of the matchVariable collection. For example, if the matchVa
133134

134135
Must be one of the following operators:
135136

136-
- IPMatch - only used when Match Variable is *RemoteAddr,* and only supports IPv4
137-
- Equal input is the same as the MatchValue
138-
- Any It shouldn't have a MatchValue. It's recommended for Match Variable with a valid Selector.
139-
- Contains - MatchValue should be an explicit value only, wildcard and regex are not supported
137+
- IPMatch - only used when Match Variable is *RemoteAddr,* and only supports IPv4.
138+
- Equal - input is the same as the MatchValue.
139+
- Any - It shouldn't have a MatchValue. It's recommended for Match Variable with a valid Selector.
140+
- Contains - MatchValue should be an explicit value only. Wildcard and regex are not supported.
140141
- LessThan
141142
- GreaterThan
142143
- LessThanOrEqual

0 commit comments

Comments
 (0)