Skip to content

Commit f8697f3

Browse files
Create web-application-firewall.md
1 parent c8f29b1 commit f8697f3

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
title: Web Application Firewall on Application Gateway for Containers
3+
description: This page provides an overview of the Web Application Firewall (WAF) on Application Gateway for Containers, including setup, limitations, known issues, and more.
4+
services: application-gateway
5+
author: greg-lindsay
6+
ms.service: azure-appgw-for-containers
7+
ms.topic: how-to
8+
ms.date: 7/1/2025
9+
ms.author: greglin
10+
---
11+
12+
# Web Application Firewall on Application Gateway for Containers
13+
14+
## Overview
15+
16+
Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities. All WAF functionality exists inside of a WAF policy, which can be referenced at listener or path-based routing rules within Gateway or Ingress yaml configuration.
17+
18+
## Benefits
19+
20+
This section describes the core benefits that WAF on Application Gateway for Containers provides.
21+
22+
### Protection
23+
24+
* Protect your web applications from web vulnerabilities and attacks without modification to back-end code.
25+
* Protect multiple web applications at the same time.
26+
* Create custom WAF policies for different sites behind the same WAF.
27+
* Protect your web applications from malicious bots with the IP Reputation ruleset.
28+
29+
### Monitoring
30+
31+
* Monitor attacks against your web applications by using a WAF log. The log is integrated with Azure Monitor to track WAF alerts and easily monitor trends.
32+
* The Application Gateway for Containers WAF is integrated with Microsoft Defender for Cloud. Defender for Cloud provides a central view of the security state of all your Azure, hybrid, and multicloud resources.
33+
34+
### Customization
35+
36+
* Customize WAF rules and rule groups to suit your application requirements and eliminate false positives.
37+
* Associate a WAF Policy for each site behind your WAF to allow for site-specific configuration
38+
* Create custom rules to suit the needs of your application
39+
40+
## Features
41+
42+
* SQL injection protection.
43+
* Cross-site scripting protection.
44+
* Protection against other common web attacks, such as command injection, HTTP request smuggling, HTTP response splitting, and remote file inclusion.
45+
* Protection against HTTP protocol violations.
46+
* Protection against HTTP protocol anomalies, such as missing host user-agent and accept headers.
47+
* Protection against crawlers and scanners.
48+
* Detection of common application misconfigurations (for example, Apache and IIS).
49+
* Configurable request size limits with lower and upper bounds.
50+
* Exclusion lists let you omit certain request attributes from a WAF evaluation. A common example is Active Directory-inserted tokens that are used for authentication or password fields.
51+
* Create custom rules to suit the specific needs of your applications.
52+
* Geo-filter traffic to allow or block certain countries/regions from gaining access to your applications.
53+
* Protect your applications from bots with the bot mitigation ruleset.
54+
* Inspect JSON and XML in the request body
55+
56+
## Application Gateway for Containers implementation
57+
58+
### Security Policy
59+
60+
Application Gateway for Containers introduces a new child resource in Azure Resource Manager (ARM), called a SecurityPolicy. The SecurityPolicy is what brings scope to which WAF policies may be referenced by the ALB Controller.
61+
62+
### Kubernetes Custom Resource
63+
64+
Application Gateway for Containers introduces a new custom resource called `WebApplicationFirewallPolicy`. The custom resource is responsible for defining which WAF Policy should be used at which scope.
65+
66+
The following scopes may be defined:
67+
68+
* Gateway
69+
* HTTPRoute
70+
71+
In addition, the following sections may be referenced by name for each of the parent resources:
72+
73+
* Gateway - Listener
74+
* HTTPRoute - Path
75+
76+
Here is an example YAML configuration that shows targetting a specific path called `pathA` on an HTTPRoute resource:
77+
78+
```yaml
79+
apiVersion: alb.networking.azure.io/v1
80+
kind: WebApplicationFirewallPolicy
81+
metadata:
82+
name: sample-waf-policy
83+
namespace: test-infra
84+
spec:
85+
targetRef:
86+
group: gateway.networking.k8s.io
87+
kind: HTTPRoute
88+
name: contoso-waf-route
89+
namespace: test-infra
90+
sectionNames: ["pathA"]
91+
webApplicationFirewall:
92+
id: /subscriptions/.../Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/waf-policy-0
93+
```
94+
95+
## Limitations
96+
97+
The following functionality is not supported on a WAF Policy associated with Application Gateway for Containers:
98+
99+
* **Rate Limiting Custom Rules:** Not supported, but planned.
100+
* **Java Script (JS) Challenge Actions:** Not supported, but planned.
101+
* **CRS 3.2 and lower rulset:** Not supported, not planned.
102+
103+
## Pricing
104+
105+
The WAF component will be billed separately from Application Gateway for Containers. Two meters are introduced:
106+
107+
* AGC WAF Hour
108+
* AGC 1M WAF Requests
109+
110+
An AGC WAF Hour is incurred for the duration a security policy has a WAF policy referenced.
111+
112+
As each request is processed by WAF rules or Bot Protection, a consumption rate is billed per 1 million requests.
113+
114+
> [!NOTE]
115+
> Application Gateway for Containers + WAF is in PREVIEW.
116+
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.

0 commit comments

Comments
 (0)