Skip to content

๐Ÿ›ก 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.

Start Learning Jump to Labs Challenges

15
Modules
12
Hands-on Labs
6
Challenges
50+
Attack Payloads

๐ŸŽฏ 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.

    Deploy & Start

  • ๐Ÿ”ง 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.

    See instructions below

  • ๐Ÿ“š Self-Study (Theory Only)


    Read through the 15 modules as a learning resource โ€” no Azure subscription needed.

    Start with Module 01

  • ๐Ÿ† Challenges Only


    Have a WAF running? Download the challenge script, generate traffic, and test your investigation skills.

    Start Challenges


๐Ÿ“š Modules


๐Ÿงช Hands-on Labs

All labs include one-click Deploy to Azure buttons and step-by-step instructions.

Deploy Lab Infrastructure

# Lab Type
01 Deploy Application Gateway WAF v2 ๐ŸŸข Core
02 Detection Mode & Traffic Generation ๐ŸŸข Core
03 KQL Log Analysis ๐ŸŸข Core
03B WAF Triage Workbook (Fine Tuning) ๐Ÿ”ต New
04 Exclusions & Custom Rules ๐ŸŸข Core
05 Prevention Mode Validation ๐ŸŸข Core
06 Front Door Premium WAF ๐ŸŸข Core
07 Bot Protection & JavaScript Challenge ๐ŸŸข Core
08 Rate Limiting with XFF ๐ŸŸข Core
09 Application Gateway for Containers ๐ŸŸข Core
10 Microsoft Sentinel Integration ๐ŸŸก Optional
11 Copilot for Security ๐ŸŸก Optional

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.

Start Challenges


๐Ÿ”Œ 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