Azure WAF Workshop 2026¶
WorkshopPLUS: Azure Web Application Firewall โ Modern Edition
Centralized Layer 7 protection for your web applications with the latest Azure WAF features.
What You'll Learn¶
This workshop covers Azure Web Application Firewall from fundamentals to advanced operations, including the latest 2025-2026 features:
Next-Gen WAF Engine โ 8x faster performance
JavaScript Challenge โ Advanced bot mitigation
Copilot for Security โ AI-powered WAF operations
Application Gateway for Containers โ Kubernetes-native WAF
WAF Insights โ Built-in analytics dashboard
Choose Your Path¶
-
Full Workshop (New Infrastructure)
Deploy the lab infrastructure from scratch and follow all labs in order.
-
Bring Your Own WAF
Already have Application Gateway WAF or Front Door WAF? Skip the deploy โ download the scripts and jump straight to any lab or challenge.
-
Self-Study (Theory Only)
Read through the 15 modules as a learning resource โ no Azure subscription needed.
-
Challenges Only
Have a WAF running? Download the challenge script, generate traffic, and test your investigation skills.
Modules¶
-
Workshop logistics, agenda, and introductions
-
Zero Trust, shared responsibility, and threat landscape
-
Features, benefits, and product suite
-
Configuration, modes, and Next-Gen Engine
-
DRS 2.1, anomaly scoring, and rule groups
-
False positive tuning and best practices
-
Geo-filtering, rate limiting, and match conditions
-
Bot Manager, JavaScript Challenge
-
Regional WAF with App Gateway v2
-
Global edge WAF with Front Door Premium
-
Application Gateway for Containers with WAF
-
Layered defense strategy
-
WAF Insights, logs, metrics, and KQL
-
AI-powered security operations
-
Architecture decisions and landing zones
Hands-on Labs¶
All labs include one-click Deploy to Azure buttons and step-by-step instructions.
| # | Lab | Type |
|---|---|---|
| 01 | Deploy Application Gateway WAF v2 | |
| 02 | Detection Mode & Traffic Generation | |
| 03 | KQL Log Analysis | |
| 03B | WAF Triage Workbook (Fine Tuning) | |
| 04 | Exclusions & Custom Rules | |
| 05 | Prevention Mode Validation | |
| 06 | Front Door Premium WAF | |
| 07 | Bot Protection & JavaScript Challenge | |
| 08 | Rate Limiting with XFF | |
| 09 | Application Gateway for Containers | |
| 10 | Microsoft Sentinel Integration | |
| 11 | Copilot for Security |
Labs 10-11 require additional licensing
Microsoft Sentinel and Copilot for Security require separate licenses.
Challenges¶
Test your WAF investigation skills! Run the challenge traffic generator, analyze the logs, and answer 6 questions with real-time validation.
Bring Your Own WAF¶
Already have an Application Gateway WAF or Front Door WAF in your environment? You don't need to deploy the workshop infrastructure โ just download the scripts and point them at your WAF endpoint.
What you need¶
- An Application Gateway WAF_v2 or Front Door Premium with a WAF Policy
- WAF diagnostic logs enabled and flowing to a Log Analytics workspace
- PowerShell 7+ installed on your machine
Download the scripts¶
| Script | Purpose | Download |
|---|---|---|
| generate-traffic.ps1 | One-shot attack simulation (for labs) | Download |
| simulate-waf-traffic.ps1 | Continuous traffic generator (pre-populate logs) | Download |
| challenge-traffic.ps1 | Deterministic traffic for challenges | Download |
Quick start with your own WAF¶
# 1. Generate traffic against YOUR WAF endpoint
.\simulate-waf-traffic.ps1 -TargetUrl "http://<your-waf-endpoint>" -DurationMinutes 15
# 2. Wait 10 minutes for logs, then do any lab (e.g., Lab 03 - KQL Analysis)
# Just replace the endpoint URLs in the lab instructions with yours
# 3. Or go straight to Challenges
.\challenge-traffic.ps1 -TargetUrl "http://<your-waf-endpoint>" -Challenge All
Which labs work with your own WAF?
| Works directly | Needs adaptation | Needs workshop infra |
|---|---|---|
| Lab 02, 03, 03B, 04, 05 | Lab 06, 07, 08 (adjust for your FD/AppGW) | Lab 01, 09, 10, 11 |
| All 6 Challenges | โ | โ |
Quick Start (New Infrastructure)¶
# 1. Clone the repository
git clone https://github.com/lcarli/AzureWAF-Learning.git
cd AzureWAF-Learning
# 2. Login to Azure
az login
# 3. Deploy all lab infrastructure (~20 minutes)
cd infra/
.\deploy.ps1 -ResourceGroupName "rg-waf-workshop" -Location "eastus2"
# 4. Pre-populate WAF logs (recommended before Lab 03)
cd ../scripts/
.\simulate-waf-traffic.ps1 -TargetUrl "http://<your-appgw-fqdn>" -DurationMinutes 15
Built with for the Azure community | Powered by MkDocs Material