<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Azure Network Security Blog articles</title>
    <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/bg-p/AzureNetworkSecurityBlog</link>
    <description>Azure Network Security Blog articles</description>
    <pubDate>Fri, 17 Apr 2026 17:57:52 GMT</pubDate>
    <dc:creator>AzureNetworkSecurityBlog</dc:creator>
    <dc:date>2026-04-17T17:57:52Z</dc:date>
    <item>
      <title>Assess Azure DDoS Protection Status Across Your Environment</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/assess-azure-ddos-protection-status-across-your-environment/ba-p/4505969</link>
      <description>&lt;H2&gt;Introduction&lt;/H2&gt;
&lt;P&gt;Distributed Denial of Service (DDoS) attacks continue to be one of the most prevalent threats facing organizations with internet-facing workloads. Azure DDoS Protection provides cloud-scale protection against L3/4 volumetric attacks, helping ensure your applications remain available during an attack.&lt;/P&gt;
&lt;P&gt;However, as Azure environments grow, maintaining visibility into which resources are protected and whether diagnostic logging is properly configured becomes increasingly challenging. Security teams often struggle to answer basic questions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Which Public IP addresses are protected by Azure DDoS Protection?&lt;/LI&gt;
&lt;LI&gt;Are we using IP Protection or Network Protection (DDoS Protection Plan)?&lt;/LI&gt;
&lt;LI&gt;Is diagnostic logging enabled for protected resources?&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;To address these questions at scale, we’ve developed a PowerShell script that assesses your Azure DDoS Protection posture across all subscriptions.&lt;/P&gt;
&lt;H2&gt;Understanding Azure DDoS Protection SKUs&lt;/H2&gt;
&lt;P&gt;Azure offers three DDoS Protection tiers:&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Protection Type&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Scope&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Network Protection&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Enterprise-grade protection via a DDoS Protection Plan attached to VNETs&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;All Public IPs in protected VNETs&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;IP Protection&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Per-IP protection for individual Public IP addresses&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Individual Public IP&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;For more details, see &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview" target="_blank" rel="noopener"&gt;Azure DDoS Protection overview&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;The Assessment Script&lt;/H2&gt;
&lt;P&gt;The &lt;STRONG&gt;Check-DDoSProtection.ps1&lt;/STRONG&gt; script provides a full view of DDoS Protection status across your Azure environment. This section covers the script’s key capabilities and the resource types it supports.&lt;/P&gt;
&lt;H3&gt;Key Features&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Multi-subscription support&lt;/STRONG&gt;: Scan a single subscription or all subscriptions you have access to&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;DDoS Protection status&lt;/STRONG&gt;: Identifies which Public IPs are protected and which SKU is being used&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;VNET correlation&lt;/STRONG&gt;: Automatically determines the VNET associated with each Public IP to assess Network Protection inheritance&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Diagnostic logging check&lt;/STRONG&gt;: Verifies if DDoS diagnostic logs are configured for protected resources&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;CSV export&lt;/STRONG&gt;: Export results for further analysis or reporting&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Prerequisites&lt;/H2&gt;
&lt;P&gt;Before running the script, ensure you have:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Azure PowerShell modules installed&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;Run the following commands in PowerShell (version 5.1+) or PowerShell Core to install the required Azure modules. No special permissions are needed, these will install in your user profile.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;Install-Module -Name Az.Accounts -Scope CurrentUser -Force Install-Module -Name Az.Network -Scope CurrentUser -Force Install-Module -Name Az.Monitor -Scope CurrentUser -Force&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Appropriate Azure permissions&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; Reader role on subscriptions you want to scan&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; Microsoft.Network/publicIPAddresses/read&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; Microsoft.Network/virtualNetworks/read&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; Microsoft.Insights/diagnosticSettings/read&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Azure login&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;Authenticate to Azure before running the script. This opens a browser window for interactive sign-in.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;Connect-AzAccount&lt;/LI-CODE&gt;
&lt;H2&gt;How to Use the Script&lt;/H2&gt;
&lt;P&gt;Run the script from a PowerShell session where you’ve already authenticated with Connect-AzAccount. The account must have &lt;STRONG&gt;Reader&lt;/STRONG&gt; role on the subscriptions you want to scan.&lt;/P&gt;
&lt;H2&gt;Download the Script&lt;/H2&gt;
&lt;P&gt;You can download the script from: - &lt;STRONG&gt;GitHub&lt;/STRONG&gt;: &lt;A class="lia-external-url" href="https://github.com/Azure/Azure-Network-Security/tree/master/Azure%20DDoS%20Protection/DDoS-Protection-Assessment-Tool" target="_blank" rel="noopener"&gt;Check-DDoSProtection.ps1&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;Basic Usage: Scan Current Subscription&lt;/H3&gt;
&lt;P&gt;Scans only the subscription currently selected in your Azure context.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;.\Check-DDoSProtection.ps1&lt;/LI-CODE&gt;
&lt;H3&gt;Scan a Specific Subscription&lt;/H3&gt;
&lt;P&gt;Scans a single subscription by its ID.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;.\Check-DDoSProtection.ps1 -SubscriptionId "12345678-1234-1234-1234-123456789012"&lt;/LI-CODE&gt;
&lt;H3&gt;Scan All Subscriptions&lt;/H3&gt;
&lt;P&gt;Scans every subscription your account has Reader access to.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;.\Check-DDoSProtection.ps1 -AllSubscriptions&lt;/LI-CODE&gt;
&lt;H3&gt;Export Results to CSV&lt;/H3&gt;
&lt;P&gt;Exports the assessment results to a CSV file for reporting or further analysis.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;.\Check-DDoSProtection.ps1 -AllSubscriptions -ExportPath "C:\Reports\DDoS-Report.csv"&lt;/LI-CODE&gt;
&lt;H3&gt;Large Environment Options&lt;/H3&gt;
&lt;P&gt;For organizations with many subscriptions or thousands of Public IPs, use the following parameters to handle errors gracefully and avoid API throttling.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;.\Check-DDoSProtection.ps1 -AllSubscriptions `
    -ContinueOnError `
    -SavePerSubscription `
    -ExportPath "C:\Reports\DDoS-Report.csv" `
    -ThrottleDelayMs 200&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Parameters for large environments:&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Parameter&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;-ContinueOnError&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Continue scanning even if a subscription fails (e.g., access denied)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;-SavePerSubscription&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Save a separate CSV file for each subscription&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;-ThrottleDelayMs&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Delay between API calls to avoid throttling (default: 100ms)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H2&gt;Understanding the Output&lt;/H2&gt;
&lt;P&gt;The script provides both console output and optional CSV export. This section covers what each output type contains.&lt;/P&gt;
&lt;H3&gt;Console Output&lt;/H3&gt;
&lt;P&gt;The script displays a summary table for each subscription:&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;Summary Statistics&lt;/H3&gt;
&lt;P&gt;At the end of each subscription scan:&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;CSV Export Columns&lt;/H3&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Column&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Subscription&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Name of the Azure subscription&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Public IP Name&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Name of the Public IP resource&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Resource Group&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Resource group containing the Public IP&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Location&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Azure region&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;IP Address&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Actual IP address (or “Dynamic” if not allocated)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;IP SKU&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Basic or Standard&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;DDoS Protected&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Yes/No&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Risk Level&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;High (unprotected) / Low (protected)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;DDoS SKU&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Network Protection, IP Protection, or None&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;DDoS Plan Name&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Name of the DDoS Protection Plan (if applicable)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;VNET Name&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Associated Virtual Network name&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Associated Resource&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Resource the Public IP is attached to&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Resource Type&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Type of associated resource (VM, AppGw, LB, etc.)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Diagnostic Logging&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Configured/Not Configured/N/A&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Log Destination&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Log Analytics, Storage, Event Hub, or None&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Recommendation&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Suggested action for unprotected resources&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H2&gt;Sample Scenarios&lt;/H2&gt;
&lt;H3&gt;Scenario 1: Protected Application Gateway&lt;/H3&gt;
&lt;P&gt;Public IP Name: appgw-frontend-pip&lt;BR /&gt;DDoS Protected: Yes&lt;BR /&gt;DDoS SKU: Network Protection&lt;BR /&gt;DDoS Plan Name: contoso-ddos-plan&lt;BR /&gt;VNET Name: production-vnet&lt;BR /&gt;Diagnostic Logging: Configured (Log Analytics)&lt;BR /&gt;Risk Level: Low&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Explanation&lt;/STRONG&gt;: The Application Gateway’s Public IP inherits protection from the VNET which has a DDoS Protection Plan attached. Diagnostic logging is properly configured.&lt;/P&gt;
&lt;H3&gt;Scenario 2: Unprotected External Load Balancer&lt;/H3&gt;
&lt;P&gt;Public IP Name: external-lb-pip&lt;BR /&gt;DDoS Protected: No&lt;BR /&gt;DDoS SKU: VNET not protected&lt;BR /&gt;VNET Name: (External LB)&lt;BR /&gt;Diagnostic Logging: N/A&lt;BR /&gt;Risk Level: High&lt;BR /&gt;Recommendation: Enable DDoS Protection on associated VNET or enable IP Protection&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Explanation&lt;/STRONG&gt;: This external Load Balancer’s Public IP is not in a protected VNET. The script flags this as high risk.&lt;/P&gt;
&lt;H3&gt;Scenario 3: IP Protection Without Logging&lt;/H3&gt;
&lt;P&gt;Public IP Name: standalone-api-pip&lt;BR /&gt;DDoS Protected: Yes&lt;BR /&gt;DDoS SKU: IP Protection&lt;BR /&gt;VNET Name: -&lt;BR /&gt;Diagnostic Logging: Not Configured&lt;BR /&gt;Risk Level: Low&lt;BR /&gt;Recommendation: Configure diagnostic logging for DDoS-protected resources&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Explanation&lt;/STRONG&gt;: The IP has IP Protection enabled, but diagnostic logging is not configured. While protected, you won’t have visibility into attack telemetry.&lt;/P&gt;
&lt;H2&gt;Troubleshooting&lt;/H2&gt;
&lt;H3&gt;Script Doesn’t Find All Subscriptions&lt;/H3&gt;
&lt;P&gt;Use the following command to list your Azure role assignments and verify you have &lt;STRONG&gt;Reader&lt;/STRONG&gt; access to the target subscriptions. Run this from Azure Cloud Shell or a local PowerShell session after authenticating with Connect-AzAccount.&lt;/P&gt;
&lt;P&gt;# Check your role assignments&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;Get-AzRoleAssignment -SignInName (Get-AzContext).Account.Id | Select-Object Scope, RoleDefinitionName&lt;/LI-CODE&gt;
&lt;H3&gt;API Throttling&lt;/H3&gt;
&lt;P&gt;The script includes built-in retry logic for API throttling. If you still experience rate limit errors, increase the delay between API calls. Run this from the directory containing the script.&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;.\Check-DDoSProtection.ps1 -AllSubscriptions -ThrottleDelayMs 500&lt;/LI-CODE&gt;
&lt;H3&gt;Access Denied for Specific Resources&lt;/H3&gt;
&lt;P&gt;The script displays “(Access Denied)” for VNETs or resources you don’t have permission to read. This doesn’t affect the overall assessment but may result in incomplete VNET information.&lt;/P&gt;
&lt;H2&gt;Summary&lt;/H2&gt;
&lt;P&gt;This guide covered how to use the Check-DDoSProtection.ps1 script to identify unprotected Public IP addresses, determine which DDoS SKU (Network Protection vs. IP Protection) is in use, verify diagnostic logging configuration, and assess risk levels across all subscriptions. Running this script periodically helps security teams track protection coverage as their Azure environment evolves.&lt;/P&gt;
&lt;H2&gt;Related Resources&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview" target="_blank" rel="noopener"&gt;Azure DDoS Protection Overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-sku-comparison" target="_blank" rel="noopener"&gt;Azure DDoS Protection SKU Comparison&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-diagnostic-alert-templates" target="_blank" rel="noopener"&gt;Configure DDoS Protection Diagnostic Logging&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/fundamental-best-practices" target="_blank" rel="noopener"&gt;Best Practices for Azure DDoS Protection&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/zero-trust-with-azure-firewall-azure-ddos-protection-and-azure-waf-a-practical-u/4490595" target="_blank" rel="noopener"&gt;Zero Trust with Azure DDoS Protection&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Thu, 26 Mar 2026 15:36:26 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/assess-azure-ddos-protection-status-across-your-environment/ba-p/4505969</guid>
      <dc:creator>SaleemBseeu</dc:creator>
      <dc:date>2026-03-26T15:36:26Z</dc:date>
    </item>
    <item>
      <title>Azure Bastion: Enterprise-grade secure access made simple</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/azure-bastion-enterprise-grade-secure-access-made-simple/ba-p/4503833</link>
      <description>&lt;P&gt;Managing secure remote access to virtual machines traditionally means juggling public IP addresses, configuring jump boxes, deploying VPN infrastructure, and managing complex firewall rules. Each layer adds cost, complexity, and potential security vulnerabilities.&lt;/P&gt;
&lt;P&gt;Azure Bastion changes everything. It's a fully managed PaaS service that provides secure RDP/SSH connectivity to Azure VMs directly through the Azure portal, without exposing VMs to the public internet. No public IPs, no jump boxes, no VPN clients.&lt;/P&gt;
&lt;P&gt;Azure Bastion isn't one-size-fits-all. Whether you're running a development sandbox, managing production workloads at scale, or operating in regulated industries with strict compliance requirements, there's a Bastion SKU designed for your specific needs.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Basic SKU&lt;/STRONG&gt; for small production workloads with browser-based access. Ideal for small businesses, startups, or single-application environments with limited concurrent users (up to 2 instances).&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Standard SKU&lt;/STRONG&gt; for scalable production environments requiring VNet peering, native client and shareable links for non-portal access. Supports up to 50 scale units, perfect for growing organizations and multi-VNET architectures.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Premium SKU&lt;/STRONG&gt; for regulated industries requiring session recording for compliance (HIPAA, SOX, PCI-DSS, FDA), private-only deployment for zero internet exposure. Essential for healthcare, finance, pharmaceuticals, government, and air-gapped environments.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Let's dive into real-world scenarios that showcase how Azure Bastion simplifies enterprise-grade secure access.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Real-World Scenarios:&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Azure Bastion features are best understood through real-world application. In the scenarios below, we'll tackle three common enterprise challenges with remote secure access. Let's see Azure Bastion in action.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Scenario 1: Instant Vendor Access Without the Hassle&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;STRONG&gt;The Challenge:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;It's 3 PM on Friday when your production database experiences critical performance issues. An external DBA consultant needs immediate access to investigate, but your organization faces a familiar dilemma. The traditional provisioning process requires creating a temporary Azure AD account, configuring VPN access and credentials, coordinating with the security team for approvals, and ensuring timely revocation after the engagement concludes. Even with expedited processes, this takes 2-3 hours—and there's always the risk of lingering permissions if revocation is overlooked. By the time access is provisioned, it's often too late to resolve the issue before the weekend, leaving your production environment vulnerable and your team working overtime.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Solution:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Shareable Links&lt;/STRONG&gt;: Generate a secure URL for instant VM access: no Azure credentials, no VPN, no account creation is required.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Implementation:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 1: Enable Shareable Links&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Navigate to Bastion → Configuration → Toggle Shareable Link to Enabled → Click Apply&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;Step 2: Generate Link&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Go to Bastion → Select Shareable Links → Add → Choose VM→ Apply →Copy generated URL&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;Step 3: Share &amp;amp; Monitor&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Share URL securely with vendor → Vendor connects via browser using VM credentials&lt;/LI&gt;
&lt;LI&gt;Monitor active sessions in Bastion → Shareable Links&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Real World Impact: &lt;/STRONG&gt;A global financial services firm now grants emergency vendor access in under 5 minutes instead of 2-3 hours, with zero IT overhead for account provisioning or VPN setup. Links can be revoked after the set duration, eliminating lingering access risks. Every vendor session is logged, providing complete audit trails that satisfy SOX and PCI-DSS compliance requirements without additional administrative effort.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Scenario 2: Comprehensive Compliance with Session Recording&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;STRONG&gt;The Challenge:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Your healthcare organization operates under HIPAA regulations, which mandate comprehensive audit trails of all administrative access to systems containing Protected Health Information (PHI). Traditional text logs capture &lt;EM&gt;what&lt;/EM&gt; was accessed, but not &lt;EM&gt;what actions were performed&lt;/EM&gt;—and they're difficult to analyze during audits. You need indisputable video evidence of administrative activities with secure 7-year retention.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Solution:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Graphical Session Recording&lt;/STRONG&gt;: Azure Bastion Premium's Session Recording feature automatically captures every RDP and SSH session as a video recording, stored securely in Azure Storage with immutable retention policies.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Implementation:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 1: Prepare Storage Account&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create a dedicated storage account with blob versioning, lifecycle management (7 years for HIPAA), soft delete (90 days), and RBAC restricted to security/compliance team.&lt;/LI&gt;
&lt;LI&gt;Also make sure there is a dedicated container created for Bastion Sessions and CORS policy configured on the storage account to allow your bastion.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 2: Enable Session Recording&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Navigate to Bastion → Configuration → Toggle Session Recording to Enabled → Apply&lt;/LI&gt;
&lt;LI&gt;Add/Update the SAS URL of the storage account in the Session Recordings blade of Bastion for the recordings to be stored in the specified storage account.&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Step 3: Connect as Usual&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Administrators connect through Azure portal normally: VM → Connect → Bastion → Enter credentials → Connect&lt;/LI&gt;
&lt;LI&gt;Every session is automatically recorded—no extra steps for users.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Step 4: Review Recordings&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Security teams access recordings from the Session Recordings blade on Azure Bastion which will retrieve data from the configured Storage Account.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Real World Impact: &lt;/STRONG&gt;A healthcare provider with 50+ hospitals now maintains 100% HIPAA-compliant audit trails of all administrative access to PHI systems through automated video recordings. The organization reduced audit preparation time by 75%, as compliance teams can quickly review specific sessions instead of analyzing thousands of text log entries. Session recordings have enabled post-incident investigations to identify unauthorized configuration changes and provide indisputable video evidence for security reviews and regulatory audits&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Scenario 3: Zero Internet Exposure with Private-Only Deployment&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;STRONG&gt;The Challenge:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A global pharmaceutical company developing cancer treatments operates under FDA regulations requiring zero internet exposure for drug development systems. Their security mandate: no public IP addresses on production infrastructure, complete air-gapped connectivity to protect intellectual property, and administrative access from corporate network only. Traditional Azure Bastion requires a public IP address—violating their zero-trust security policy.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Solution: &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Private-Only Bastion: &lt;/STRONG&gt;Azure Bastion Premium's private-only deployment eliminates the public IP address entirely. All connectivity flows through your org’s configured Express Route, S2S or P2S connectivity for complete air-gapped operations.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Implementation:&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Select Azure Bastion Premium SKU and Deploy Private-Only Bastion&lt;/LI&gt;
&lt;LI&gt;Configure Private Connectivity from On Prem using your orgs preferred way of connectivity&lt;/LI&gt;
&lt;LI&gt;Connect from Corporate Network using Private IP address of the Bastion Deployment&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Real-World Impact&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A pharmaceutical company with 20+ research facilities deploys private-only Bastion for FDA-regulated drug development systems. The company now achieves complete air-gapped operations with zero internet endpoints while maintaining centralized access management for 200+ researchers across global facilities. Research teams connect securely via ExpressRoute with all administrative sessions network-isolated, FDA compliance audits confirm 100% of connections originate from corporate private networks, and the organization eliminated $2M in annual costs by decommissioning internet-isolated jump boxes.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Conclusion:&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Azure Bastion transforms the traditional trade-off between security and operational efficiency into a unified solution. Whether you're granting emergency access or preparing for your next HIPAA audit, Azure Bastion delivers what enterprises need: secure temporary access as and when needed, complete audit trails with zero administrator overhead, and comprehensive compliance without compromising productivity, bringing a fundamental shift in how organizations approach secure remote access in the cloud.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Resources:&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="https://learn.microsoft.com/azure/bastion/" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/azure/bastion/&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&lt;A href="https://learn.microsoft.com/azure/bastion/shareable-link" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/azure/bastion/shareable-link&lt;/A&gt;&lt;BR /&gt;&amp;nbsp;&lt;A href="https://learn.microsoft.com/azure/bastion/session-recording" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/azure/bastion/session-recording&lt;/A&gt; &lt;BR /&gt;&amp;nbsp;&lt;A href="https://azure.microsoft.com/pricing/details/azure-bastion/" target="_blank" rel="noopener"&gt;https://azure.microsoft.com/pricing/details/azure-bastion/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2026 14:32:39 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/azure-bastion-enterprise-grade-secure-access-made-simple/ba-p/4503833</guid>
      <dc:creator>ShabazShaik</dc:creator>
      <dc:date>2026-03-19T14:32:39Z</dc:date>
    </item>
    <item>
      <title>Orchestrating Intrusion Detection and Prevention Signature overrides in Azure Firewall Premium</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/orchestrating-intrusion-detection-and-prevention-signature/ba-p/4502213</link>
      <description>&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;Introduction: &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Azure Firewall Premium provides strong protection with a built-in &lt;STRONG&gt;Intrusion Detection and Prevention System (IDPS)&lt;/STRONG&gt;. It inspects inbound, outbound, and east-west traffic against Microsoft’s continuously updated signature set and can block threats before they reach your workloads.&lt;/P&gt;
&lt;P&gt;IDPS works out of the box without manual intervention. However, in many environments administrators need the flexibility to override specific signatures to better align with operational or security requirements.&lt;/P&gt;
&lt;P&gt;Common reasons include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Compliance enforcement&lt;/STRONG&gt; – enforcing policies that require certain threats (such as High severity signatures) to always be blocked, directional tuning or protocol/category-based tuning.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Incident response&lt;/STRONG&gt; – reacting quickly to emerging vulnerabilities by enabling blocking for newly relevant signatures.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Noise reduction&lt;/STRONG&gt; – keeping informational signatures in alert mode to avoid false positives while still maintaining visibility.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In many environments, signature overrides are typically managed in one of two ways:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Using the global IDPS mode&amp;nbsp;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Using the Azure portal to apply per-signature overrides individually&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;While these approaches work, managing overrides manually becomes difficult when thousands of signatures are involved. The Azure portal also limits the number of changes that can be applied at once, which makes large tuning operations time-consuming.&lt;/P&gt;
&lt;P&gt;To simplify this process, this blog introduces an automation approach that allows you to export, filter, and apply IDPS signature overrides in bulk using PowerShell scripts.&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;A&lt;/STRONG&gt;&lt;STRONG&gt; Common Operational Scenario:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Consider the following scenario frequently encountered by security teams:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A security team wants to move their firewall from &lt;STRONG&gt;Alert → Alert + Deny&lt;/STRONG&gt; globally to strengthen threat prevention. However, they do not want Low severity signatures to Deny traffic, because these signatures are primarily informational and may create unnecessary noise or false positives.&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;Signature ID: &lt;STRONG&gt;2014906&lt;/STRONG&gt;&lt;BR /&gt;Severity: &lt;STRONG&gt;Low&lt;/STRONG&gt;&lt;BR /&gt;Description: &lt;STRONG&gt;INFO – .exe File requested over FTP&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This signature is classified as informational because requesting an .exe file over FTP indicates &lt;STRONG&gt;contextual risk&lt;/STRONG&gt;, not necessarily confirmed malicious activity.&lt;/P&gt;
&lt;P&gt;If the global mode is switched to &lt;STRONG&gt;Alert + Deny&lt;/STRONG&gt;, this signature may start blocking traffic unnecessarily.&lt;/P&gt;
&lt;P&gt;The goal therefore becomes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Enable &lt;STRONG&gt;Alert + Deny globally&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Keep &lt;STRONG&gt;Low severity signatures in Alert mode&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The workflow described in this blog demonstrates how to achieve this outcome using the IDPS Override script.&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;Automation Workflow:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;The automation process uses two scripts to export and update signatures.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Workflow overview&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Azure Firewall Policy&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▼&lt;BR /&gt;Export Signatures (ipssigs.ps1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▼&lt;BR /&gt;CSV Review / Edit&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▼&lt;BR /&gt;Bulk Update (ipssigupdate.ps1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ▼&lt;BR /&gt;Updated Firewall Policy&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Before implementing the workflow, it’s helpful to review the available IDPS modes and severity as seen below, very briefly.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;
&lt;P&gt;&lt;STRONG&gt;IDPS Modes:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Severity:&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;&lt;img /&gt;&lt;/DIV&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;Prerequisites:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Now that we understand Azure Firewall IDPS concepts and have the context for this script, let's get started with the workings of the script itself.&amp;nbsp; First of all, let us ensure that you are connected to your Azure account and have selected the correct subscription. You can do so by running the following command:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Connect-AzAccount -Subscription "&amp;lt;your-subscription-id&amp;gt;"&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Ensure the following modules are installed which are required for this operation:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Az.Accounts&lt;/LI&gt;
&lt;LI&gt;Az.Network&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;💡 Tip: You can check if the above modules are installed by running the following command:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Get-Module -ListAvailable Az* &lt;/STRONG&gt;or check specific modules using this following commands:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-teams="true"&gt;Get-module Az.Network | select Name, Version, Path&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-teams="true"&gt;Get-module Az.Accounts | select Name, Version, Path&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you need to install/import them, run the following command which downloads all generally available Azure service modules from the PowerShell Gallery, overwriting existing versions without prompting:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Import-Module Az.Network&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Import-Module Az.Accounts&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Restart PowerShell after installation.&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;Configure ipsconfig.json&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Now, let's configure the ipsconfig.json file and ensure the configuration file contains your target environment details i.e., target subscription, target firewall policy resource group name, firewall name, firewall policy name, location and rule collection group name.&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "subs": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rg": "TEST-RG",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "fw": "fw",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "fwp": "fw-policy",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "location": "CentralUS",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rcg": "DefaultNetworkRuleCollectionGroup"&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note: Your account must have permissions to&amp;nbsp;read and update firewall policy and IDPS settings.&lt;/STRONG&gt;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;Running the Script:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;1. Export Signatures&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Now that we have all the prerequisites ready, it's time to run the script. Run the following command in PS in the directory where the script exists:&lt;/P&gt;
&lt;P&gt;.\ipssigs.ps1&lt;/P&gt;
&lt;P&gt;Now, the script should prompt for filtering criteria as shown below and you can input the values as per your requirements:&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;img /&gt;&lt;/DIV&gt;
&lt;P&gt;For the example scenario that we considered, we will give the following inputs as shown above in the snapshot:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Mode: &lt;STRONG&gt;Alert&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Severity: &lt;STRONG&gt;Low&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;💡 Tip: When specifying multiple values, ensure there is space between the 2 values but no comma, otherwise the script may return no results.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The script now exports the results to&amp;nbsp;&lt;STRONG&gt;ipssignatures_results.csv&amp;nbsp;&lt;/STRONG&gt;file by default (or a custom filename if specified). The exported CSV includes metadata such as severity, direction, group, and protocol, which can help inform tuning decisions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;2. Prepare the CSV&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Now, we do not need all of these columns when inputting the CSV file to update the Firewall Policy. We only need the following columns.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Signature Id&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Mode&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Therefore, we will need to remove all other columns while keeping the SignatureId and mode columns along with their headers as seen below:&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;3. Update the Firewall Policy&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Now, it's time to update the Firewall Policy with the signature/mode overrides that we need using the above CSV file. However, please note that the script supports two operations:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Changing the global IDPS mode&lt;/LI&gt;
&lt;LI&gt;Applying bulk signature overrides using the CSV file&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;You can use either option independently or both together. Let's understand this further by looking at these 2 examples.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example 1: Change Global Mode and Override Low Severity Signatures&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Goal:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Set global mode to Alert + Deny&lt;/LI&gt;
&lt;LI&gt;Keep Low severity signatures in Alert&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Command:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;.\ipssigupdate.ps1 -GlobalMode Deny -InputFile Lowseveritysignatures.csv&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;High and Medium signatures → &lt;STRONG&gt;Alert + Deny&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Low signatures → &lt;STRONG&gt;Alert&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Example 2: Override Signatures Only&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If the global mode should remain unchanged, then run the following command only.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.\ipssigupdate.ps1&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The script will then prompt for the input CSV file in the next step as seen below:&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;As seen the changed were made to the Azure Firewall in just a few seconds. After the script completes, updated signature actions should appear in the firewall policy.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;4. Monitoring Script Execution&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Please use the following commands to track and monitor the background processes, to verify the status, check for any error and remove completed jobs as seen below:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;You can check background job status using:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Get-Job -Id &amp;lt;#&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;View results:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Receive-Job -Id &amp;lt;#&amp;gt; -Keep&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Remove completed jobs:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Remove-Job -Id &amp;lt;#&amp;gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/firewall/premium-features#idps-signature-rules" target="_blank" rel="noopener"&gt;Up to &lt;STRONG&gt;10,000 IDPS rules can be customized at a time&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;5. Validate the Changes:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Now that we finished running the script, it's time to verify the update by confirming:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Global IDPS mode in the firewall policy&lt;/LI&gt;
&lt;LI&gt;Signature override state&lt;/LI&gt;
&lt;LI&gt;Alert or block events in your logging destination (Log Analytics or Microsoft Sentinel)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Note: &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/firewall/idps-signature-categories#override-behavior-and-limitations" target="_blank" rel="noopener"&gt;Please note that, while most signatures support Off, Alert, or Deny actions, there are some context-setting signatures, that have fixed actions and cannot be overridden.&lt;/A&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;Conclusion:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;Azure Firewall Premium makes it straightforward to apply broad IDPS configuration changes through the Azure portal. However, as environments scale, administrators often require more precise and repeatable ways to manage signature tuning.&lt;/P&gt;
&lt;P&gt;The automation approach described in this blog allows administrators to &lt;STRONG&gt;query, review, and update thousands of signatures in minutes&lt;/STRONG&gt;. This enables repeatable tuning workflows, improves operational efficiency, and simplifies large-scale security configuration changes.&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;STRONG&gt;References:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="https://github.com/Azure/Azure-Network-Security/tree/master/Azure%20Firewall/Script%20-%20IDPS%20Override%20script" target="_blank" rel="noopener"&gt;Github Repository for the IDPS scripts&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/firewall/premium-features#idps" target="_blank" rel="noopener"&gt;Azure Firewall IDPS&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/firewall/idps-signature-categories#override-behavior-and-limitations" target="_blank" rel="noopener"&gt;Azure Firewall IDPS signature rule categories&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Wed, 01 Apr 2026 23:08:21 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/orchestrating-intrusion-detection-and-prevention-signature/ba-p/4502213</guid>
      <dc:creator>saikishor</dc:creator>
      <dc:date>2026-04-01T23:08:21Z</dc:date>
    </item>
    <item>
      <title>Detect, correlate, contain: New Azure Firewall IDPS detections in Microsoft Sentinel and XDR</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/detect-correlate-contain-new-azure-firewall-idps-detections-in/ba-p/4502128</link>
      <description>&lt;P&gt;As threat actors continue to blend reconnaissance, exploitation, and post-compromise activity, network-level signals remain critical for early detection and correlated response. To strengthen this layer, we're introducing five new Azure Firewall IDPS detections, now available out of the box in the Azure Firewall solution for Microsoft Sentinel and Microsoft Defender XDR.&lt;/P&gt;
&lt;H3&gt;&lt;SPAN class="lia-text-color-15"&gt;&lt;SPAN class="lia-text-color-15"&gt;See It in Action&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This short demo walks through Azure Firewall's IDPS capabilities, the new Sentinel detections, and the automated response playbook — from malicious traffic hitting the&amp;nbsp;firewall&amp;nbsp;to the threat being contained without manual intervention.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Watch the demo →&amp;nbsp;&lt;A href="https://www.youtube.com/watch?v=N5xPKtvBKuI" target="_blank" rel="noopener"&gt;Azure Firewall integration with Microsoft Sentinel and Defender XDR&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;div data-video-id="https://www.youtube.com/watch?v=N5xPKtvBKuI/1774040490818" data-video-remote-vid="https://www.youtube.com/watch?v=N5xPKtvBKuI/1774040490818" class="lia-video-container lia-media-is-center lia-media-size-large"&gt;&lt;iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FN5xPKtvBKuI%3Ffeature%3Doembed&amp;amp;display_name=YouTube&amp;amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DN5xPKtvBKuI&amp;amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FN5xPKtvBKuI%2Fhqdefault.jpg&amp;amp;type=text%2Fhtml&amp;amp;schema=youtube" allowfullscreen="" style="max-width: 100%"&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-contrast="auto"&gt;Read on for the full details on each detection, customization options, and a step-by-step walkthrough of the automated response workflow.&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="2"&gt;&lt;SPAN class="lia-text-color-20"&gt;&lt;SPAN class="lia-text-color-15"&gt;What’s new&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The Azure Firewall solution now includes&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;five new analytic detections&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;built on Azure Firewall.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 100%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Detection&amp;nbsp;name&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;What&amp;nbsp;it&amp;nbsp;detects (network&amp;nbsp;signal)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;MITRE ATT&amp;amp;CK tactic(s)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Example ATT&amp;amp;CK&amp;nbsp;techniques (representative)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;SOC&amp;nbsp;impact&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;High severity malicious activity&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Repeated high confidence IDPS hits such as exploit kits, malware C2, credential theft, trojans, shellcode delivery&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Initial access (TA0001)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;execution (TA0002)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;Command and Control (TA0011)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Exploit public facing application (T1190)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;command and control over web protocols (T1071.001)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;Ingress Tool Transfer (T1105)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Highlights&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;active exploitation or post compromise behavior&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;&amp;nbsp;at the network layer; strong pivot point into XDR investigations&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Elevation of privilege attempt&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Repeated attempts or success gaining user or administrator privileges&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Privilege escalation (TA0004)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Exploitation for privilege escalation (T1068)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Flags&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;critical inflection points&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;&amp;nbsp;where attackers move from foothold to higher impact control&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Web application attack&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Probing or exploitation&amp;nbsp;attempts&amp;nbsp;against web applications&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Initial access (TA0001)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Exploit public facing application (T1190)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Surfaces&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;external attack pressure&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;&amp;nbsp;against internet facing apps protected by Azure Firewall&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Medium severity malicious activity&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Potentially unwanted programs, crypto mining, social engineering indicators, suspicious filenames/system calls&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Initial access (TA0001)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;execution (TA0002)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;impact (TA0040)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;User Execution (T1204)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="none"&gt;Resource Hijacking (T1496)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Early stage or lower confidence signals that help teams&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;hunt, monitor, and tune response&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;&amp;nbsp;before escalation&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Denial of Service (DoS)&amp;nbsp;attack&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Attempted or sustained denial&amp;nbsp;of&amp;nbsp;service traffic patterns&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Impact (TA0040)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Network Denial of Service (T1498)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;Enables faster&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;DoS identification and escalation&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;, reducing time to mitigation&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H3 aria-level="2"&gt;&lt;SPAN class="lia-text-color-15"&gt;Where these detections apply&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P class=""&gt;&lt;SPAN data-contrast="auto"&gt;These detections are available through the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Azure Firewall solution&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;in:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft Sentinel&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, enabling SOC&amp;nbsp;centric investigation, hunting, and automation&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft Defender XDR&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, allowing network&amp;nbsp;level signals to&amp;nbsp;participate&amp;nbsp;in&amp;nbsp;end-to-end&amp;nbsp;attack correlation across identity, endpoint, cloud, and email&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class=""&gt;&lt;SPAN data-contrast="auto"&gt;They are powered by the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;AZFWIdpsSignature&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;log&amp;nbsp;table&amp;nbsp;and require Azure Firewall with&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;IDPS enabled&amp;nbsp;(preferably with TLS inspection)&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 aria-level="2"&gt;&lt;SPAN class="lia-text-color-15"&gt;Customizing the detections to fit your environment&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The Azure Firewall IDPS detections included in the Microsoft Sentinel solution are designed to be&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;fully adaptable to customer environments&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, allowing SOC teams to tune sensitivity, scope, and signal fidelity based on their risk tolerance and operational maturity. Each detection is built on the&amp;nbsp;AZFWIdpsSignature&amp;nbsp;log&amp;nbsp;table&amp;nbsp;and exposes several clearly defined parameters that customers can&amp;nbsp;modify&amp;nbsp;without rewriting the analytic logic.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;1. Tune alert sensitivity and time horizon&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Customers can adjust the lookback period (TimeWindow) and&amp;nbsp;minimum&amp;nbsp;hit count (HitThreshold) to control how aggressively the detection triggers. Shorter windows and lower thresholds surface faster alerts for&amp;nbsp;high-risk&amp;nbsp;environments, while longer windows and higher thresholds help reduce noise in high&amp;nbsp;volume networks.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;2. Align severity with internal risk models&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Each analytic rule includes a configurable minimum severity (MinSeverity) aligned to Azure Firewall IDPS severity scoring. Organizations can raise or lower this value to match internal incident classification standards and escalation policies. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;3. Focus on relevant threat categories and behaviors&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Optional filters allow detections to be scoped to specific threat categories, descriptions, or enforcement actions. Customers can enable or disable:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Category filtering&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to focus on specific attack classes (for example, command&amp;nbsp;and&amp;nbsp;control, exploit kits, denial&amp;nbsp;of&amp;nbsp;service, or privilege escalation).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Description filtering&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to target specific behavioral patterns.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Action filtering&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to alert only on denied or alerted traffic versus purely&amp;nbsp;observed&amp;nbsp;activity.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;This flexibility makes it easy to tailor detections for different deployment scenarios&amp;nbsp;such as internet&amp;nbsp;facing workloads, internal east-west traffic monitoring, or regulated environments with stricter alerting requirements.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;4. Preserve structure while customizing output&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Even with customization, the detections retain consistent enrichment fields including source IP, threat category, hit count, severity, actions taken, and signature IDs ensuring alerts remain actionable and easy to correlate across Microsoft Sentinel and Microsoft Defender XDR workflows.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;By allowing customers to tune thresholds, scope, and focus areas while preserving analytic intent, these Azure Firewall IDPS detections provide a strong out&amp;nbsp;of&amp;nbsp;the&amp;nbsp;box baseline that can evolve alongside an organization’s threat landscape and SOC maturity.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3 aria-level="2"&gt;&lt;SPAN class="lia-text-color-15"&gt;Automated&amp;nbsp;detection and&amp;nbsp;response&amp;nbsp;for Azure Firewall using Microsoft Sentinel&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In this walkthrough,&amp;nbsp;we’ll&amp;nbsp;follow a&amp;nbsp;real-world&amp;nbsp;attack simulation and see how&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Azure Firewall&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft Sentinel&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, and an&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;automated playbook&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;work together to detect, respond to, and&amp;nbsp;contain&amp;nbsp;malicious activity, without manual intervention.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 1: Malicious traffic originates from a compromised source&lt;/SPAN&gt;&lt;/H5&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;A source IP address &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;10.0.100.20&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, hosted within a virtual network,&amp;nbsp;attempts&amp;nbsp;to reach a web application protected by&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Azure Firewall&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;. To&amp;nbsp;validate&amp;nbsp;the scenario, we intentionally generate&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;malicious outbound traffic&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;from this source,&amp;nbsp;such as payloads that match known attack patterns.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;This is an&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;outbound flow&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, meaning the traffic is leaving the internal network and&amp;nbsp;attempting&amp;nbsp;to reach an external destination through Azure Firewall.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;At this stage:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Azure Firewall is acting as the&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;central enforcement point&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Traffic&amp;nbsp;is still allowed, but&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;deep packet inspection&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;is in effect&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 2: Azure Firewall IDPS detects malicious behavior&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Azure Firewall's intrusion detection and prevention system (IDPS) is enabled and inspects traffic as it passes through the firewall. When IDPS detects patterns that match known malicious signatures, the action taken depends on the signature's configured mode:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Alert mode&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;: IDPS generates a detailed security log for the matched signature but allows the traffic to continue. This is useful for monitoring and tuning before enforcing blocks.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Alert and Deny mode&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;: IDPS blocks the matching traffic &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;and&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; generates a detailed security log. The threat is stopped at the network layer while full telemetry is preserved for investigation.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;In both cases, IDPS records rich metadata including source IP, destination, protocol, signature name, severity, and threat category. These logs are what&amp;nbsp;power&amp;nbsp;the downstream detections in Microsoft Sentinel.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;In this walkthrough, the signature is configured in Alert and Deny mode, meaning the malicious traffic from 10.0.100.20 is blocked&amp;nbsp;immediately&amp;nbsp;at the&amp;nbsp;firewall&amp;nbsp;while the corresponding log is&amp;nbsp;forwarded&amp;nbsp;for analysis.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 3: Firewall&amp;nbsp;logs&amp;nbsp;are&amp;nbsp;sent to Log Analytics&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;All Azure Firewall logs, including&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;IDPS logs&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;,&amp;nbsp;are&amp;nbsp;sent&amp;nbsp;to a Log Analytics workspace named&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;law-cxeinstance&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;At this point:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Firewall&amp;nbsp;logs are centralized&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Logs are normalized and&amp;nbsp;can be queried&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;No alerting has happened yet,&amp;nbsp;only data collection&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;This workspace becomes the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;single source&amp;nbsp;of truth&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;for downstream analytics and detections.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 4: Microsoft Sentinel ingests and analyzes the Firewall logs&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;The Log Analytics workspace is connected to&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft Sentinel&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, which continuously analyzes incoming data.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Using the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Azure Firewall solution&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;from the Sentinel&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Content Hub&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, we previously deployed a set of&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;built-in analytic rule templates&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;designed specifically for Firewall telemetry.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;One of these rules is:&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;“High severity malicious activity detected”&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&amp;nbsp;This rule evaluates IDPS logs and looks for:&amp;nbsp;High-confidence&amp;nbsp;signatures, known&amp;nbsp;exploit techniques&amp;nbsp;and malicious categories&amp;nbsp;identified&amp;nbsp;by Firewall IDPS.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 5: Sentinel creates an incident&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;When the analytic rules are met, Microsoft Sentinel automatically:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Raises an&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;alert&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Groups related alerts into an&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;incident&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Extracts entities such as&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;IP addresses&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;, severity, and evidence&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;In this case, the source IP&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;10.0.100.20&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;is clearly identified as the malicious actor and attached as an&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;IP entity&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to the incident.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;This marks the transition from&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;detection&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;response&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 6: An automation rule triggers the playbook&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;To avoid manual response, we configured a &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Sentinel automation rule&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;that triggers whenever:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;An incident is created&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;The analytic rule name matches&amp;nbsp;any of the analytic rules we configured&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;The automation rule&amp;nbsp;immediately&amp;nbsp;triggers a Logic App playbook named&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;AzureFirewallBlockIPaddToIPGroup&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;This playbook is available as part of the Azure Firewall solution and can be deployed directly from the solution package. In addition, a simplified version of the playbook is published in our GitHub repository, allowing you to deploy it directly to your resource group using the provided&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/Azure/Azure-Network-Security/tree/master/Azure%20Firewall/Playbook%20-%20Add%20to%20IP%20Group%20with%20REST%20API" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;ARM template.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;This is where automated containment begins.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 7: The&amp;nbsp;playbook&amp;nbsp;aggregates and&amp;nbsp;updates the IP&amp;nbsp;Group&lt;/SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;The playbook performs several critical actions in sequence:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Extracts IP entities&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;from the Sentinel incident&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Retrieves the existing Azure Firewall IP Group&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;named&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;MaliciousIPs&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Checks for duplicates&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to avoid unnecessary updates&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Aggregates new IPs&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;into a single&amp;nbsp;array/list&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&lt;EM&gt;Updates the IP Group in a single operation.&lt;/EM&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;It is important to note that the playbook managed identity should have contributor access&amp;nbsp;on&amp;nbsp;the IP Group or its resource group to perform this action.&amp;nbsp;In our scenario, the IP&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;10.0.100.20&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;is added to the&amp;nbsp;MaliciousIPs&amp;nbsp;IP Group.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5 class="lia-indent-padding-left-30px"&gt;&lt;SPAN class="lia-text-color-15"&gt;Step 8: Firewall policy enforces the block immediately&lt;/SPAN&gt;&lt;/H5&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Azure Firewall already has a network rule named&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;BlockMaliciousTraffic&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;configured with:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Source&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;:&amp;nbsp;MaliciousIPs&amp;nbsp;IP Group&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Destination&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;: Any&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Protocol&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;: Any&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Action&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;: Deny&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Because the rule references the IP Group dynamically, the moment the playbook updates&amp;nbsp;MaliciousIPs, the&amp;nbsp;firewall&amp;nbsp;enforcement takes effect instantly — without&amp;nbsp;modifying&amp;nbsp;the rule itself.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;Traffic originating from 10.0.100.20 is now fully blocked, preventing any further probing or communication with the destination. The threat has been effectively&amp;nbsp;contained.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;&lt;SPAN data-contrast="auto"&gt;When a SOC analyst opens the Sentinel incident, they see that containment has already occurred: the malicious IP was identified, the IP Group was updated, and the firewall block is in effect — all with a full audit trail of every automated action taken, from detection through response. No manual intervention was&amp;nbsp;required.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:259}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 aria-level="2"&gt;&lt;SPAN class="lia-text-color-15"&gt;Conclusion&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With these five new IDPS detections, Azure Firewall closes the gap between network-level signal and SOC-level action. Raw signature telemetry is automatically transformed into severity-aware, MITRE ATT&amp;amp;CK-mapped alerts inside Microsoft Sentinel and Microsoft Defender XDR — giving security teams correlated, investigation-ready incidents instead of isolated log entries.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Combined with automation playbooks, the result is a fully integrated detect-and-respond workflow: Azure Firewall&amp;nbsp;identifies&amp;nbsp;malicious behavior, Sentinel raises and enriches the incident, and a Logic App playbook&amp;nbsp;contains&amp;nbsp;the threat by updating&amp;nbsp;firewall&amp;nbsp;policy in real time — all without manual intervention.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;These detections are included at no&amp;nbsp;additional&amp;nbsp;cost.&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; Simply install the Azure Firewall solution from the Microsoft Sentinel Content Hub, and the analytic rules automatically appear in your Sentinel workspace — ready to enable, customize, and operationalize.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;SPAN class="lia-text-color-15"&gt;Get started today:&lt;/SPAN&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/firewall/firewall-sentinel-overview" target="_blank" rel="noopener"&gt;Azure Firewall with Microsoft Sentinel overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/sentinel/automation/automate-responses-with-playbooks" target="_blank" rel="noopener"&gt;Automate Threat Response with Playbooks in Microsoft Sentinel&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/firewall/premium-features#idps" target="_blank" rel="noopener"&gt;Azure Firewall Premium features implementation guide&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;Recent real‑world breaches underscore why these detections matter. Over the past year, attackers have repeatedly gained initial access by exploiting public‑facing applications, followed by command‑and‑control activity, web shell deployment, cryptomining, and denial‑of‑service attacks. Incidents such as the GoAnywhere MFT exploitation, widespread web‑application intrusions observed by Cisco Talos, and large‑scale cryptomining campaigns against exposed cloud services demonstrate the value of correlating &lt;STRONG&gt;repeated network‑level malicious signals&lt;/STRONG&gt;. The new Azure Firewall IDPS detections are designed to surface these patterns early, reduce alert noise, and feed high‑confidence network signals directly into Microsoft Sentinel and Microsoft Defender XDR for faster investigation and response.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H6&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;Your network telemetry is a first-class security signal - let it work for you!&lt;/SPAN&gt;&lt;/EM&gt;&lt;/H6&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Visit us at &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://www.rsaconference.com/" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="auto"&gt;RSA 2026&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; to see the full detection-to-containment workflow live.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Mar 2026 21:03:45 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/detect-correlate-contain-new-azure-firewall-idps-detections-in/ba-p/4502128</guid>
      <dc:creator>Mohit_Kumar</dc:creator>
      <dc:date>2026-03-20T21:03:45Z</dc:date>
    </item>
    <item>
      <title>Navigating the 2025 holiday season: Insights into Azure’s DDoS defense</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/navigating-the-2025-holiday-season-insights-into-azure-s-ddos/ba-p/4495741</link>
      <description>&lt;P&gt;The holiday season continues to be one of the most demanding periods for online businesses. Traffic surges, higher transaction volumes, and user expectations for seamless digital experiences all converge, making reliability a non-negotiable requirement. For attackers, this same period presents an opportunity: even brief instability can translate into lost revenue, operational disruption, and reputational impact.&lt;/P&gt;
&lt;P&gt;This year, the most notable shift wasn’t simply the size of attacks, but &lt;EM&gt;how&lt;/EM&gt; they were executed. We observed a rise in burst‑style DDoS events, fast-ramping, high-intensity surges distributed across multiple resources, designed to overwhelm packet processing and connection-handling layers before traditional bandwidth metrics show signs of strain.&lt;/P&gt;
&lt;P&gt;From November 15, 2025 through January 5, 2026, Azure DDoS Protection helped customers maintain continuity through sustained Layer 3 and Layer 4 &lt;STRONG&gt;attack traffic&lt;/STRONG&gt;, underscoring two persistent realities:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Most attacks remain short, automated, and frequently create constant background &lt;STRONG&gt;attack traffic&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;The upper limit of attacker capability continues to grow, with botnets across the industry regularly demonstrating multi‑Tbps scale.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The holiday season once again reinforced that DDoS resilience must be treated as a continuous operational discipline.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Rising volume and intensity&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Between November 15 and January 5, Azure mitigated approximately &lt;STRONG&gt;174,054 inbound DDoS attacks&lt;/STRONG&gt;. While many were small and frequent, the distribution revealed the real shift:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;16%&lt;/STRONG&gt; exceeded &lt;STRONG&gt;1M packets per second (pps)&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;~3%&lt;/STRONG&gt; surpassed &lt;STRONG&gt;10M pps&lt;/STRONG&gt;, up significantly from &lt;STRONG&gt;0.2%&lt;/STRONG&gt; last year.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Even when individual events are modest, the cumulative impact of sustained &lt;STRONG&gt;attack traffic&lt;/STRONG&gt; can be operationally draining—consuming on-call cycles, increasing autoscale and egress costs, and creating intermittent instability that can provide cover for more targeted activity.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Operational takeaway:&lt;/STRONG&gt;&lt;BR /&gt;Treat DDoS mitigation as an always-on requirement. Ensure protection is enabled across all internet-facing entry points, align alerting to packet rate trends, and maintain clear triage workflows.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;What the TCP/UDP mix is telling us this season&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;TCP did what it usually does during peak season: it carried the fight. &lt;STRONG&gt;TCP floods made up ~72%&lt;/STRONG&gt; of activity, and &lt;STRONG&gt;ACK floods dominated (58.7%)&lt;/STRONG&gt; a reliable way to grind down packet processing and connection handling. &lt;STRONG&gt;UDP was ~24%&lt;/STRONG&gt;, showing up as sharp, high-intensity bursts; amplification (like NTP) appeared, but it wasn’t the main play.&lt;/P&gt;
&lt;P&gt;Put together, it’s a familiar one-two punch: &lt;STRONG&gt;sustain TCP/ACK pressure to exhaust the edge&lt;/STRONG&gt;, then &lt;STRONG&gt;spike UDP to jolt stability and steal attention&lt;/STRONG&gt;. The goal isn’t just to saturate bandwidth, it’s to push services into &lt;STRONG&gt;intermittent instability&lt;/STRONG&gt;, where things technically stay online but feel broken to users.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;TCP-heavy pressure:&lt;/STRONG&gt; Make sure your edge and backends can absorb a surge in connections without falling over—check load balancer limits, connection/state capacity, and confirm health checks won’t start flapping during traffic spikes.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;UDP burst patterns:&lt;/STRONG&gt; Rely on automated detection and mitigation—these bursts are often over before a human can respond.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Reduce exposure:&lt;/STRONG&gt; Inventory any internet-facing UDP services and shut down, restrict, or isolate anything you don’t truly need.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;Attack duration:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Attackers continued to favor short-lived bursts designed to outrun manual response, but we also saw a notable shift in “who” felt the impact most. &lt;STRONG&gt;High-sensitivity workloads, especially gaming, experienced some of the highest packet-per-second and bandwidth-driven spikes&lt;/STRONG&gt;, often concentrated into &lt;STRONG&gt;bursts lasting from a few minutes to several minutes&lt;/STRONG&gt;. Even when these events were brief, the combination of high PPS + high bandwidth can be enough to trigger jitter, session drops, match instability, or rapid scaling churn. Overall, &lt;STRONG&gt;34% of attacks lasted 5 minutes or less, and 83% ended within 40 minutes&lt;/STRONG&gt;, reinforcing the same lesson: modern DDoS patterns are optimized for speed and disruption, not longevity.&lt;/P&gt;
&lt;P&gt;For latency- and session-sensitive services, “only a few minutes” can still be a full outage experience. Attack duration is an attacker advantage when defenses rely on humans to notice, diagnose, and react. &lt;STRONG&gt;Design for minute-long spikes:&lt;/STRONG&gt; assume attacks will be short, sharp, and high PPS such that your protections should engage automatically. &lt;STRONG&gt;Watch the right signals:&lt;/STRONG&gt; alert on PPS spikes and service health (disconnect rates, latency/jitter), not bandwidth alone.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;Botnet-driven surges:&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Azure observed rapid rotation of botnet traffic associated with Aisuru and KimWolf targeting public-facing endpoints. The traffic was highly distributed across regions and networks. In several instances, when activity was mitigated in one region, similar traffic shifted to alternate regions or segments shortly afterward. “Relocation” behavior is the operational signature of automated botnet playbooks: &lt;STRONG&gt;probe → hit → shift → retry&lt;/STRONG&gt;. If defenses vary by region or endpoint, attackers will find the weakest link quickly. Customers should standardize protection posture, ensure consistent DDoS policies and thresholds across regions. Monitor by setting the right alerts and notifications.&lt;/P&gt;
&lt;P class="lia-clear-both"&gt;The snapshot below captures the Source-side distribution at that moment, showing which industry verticals were used to generate the botnet traffic during the observation window&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;The geography indicators below reflect where the traffic was observed egressing onto the internet, and do not imply attribution or intent by any provider or country.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;Preparing for 2026&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;As organizations transition into 2026, the lessons from the 2025 holiday season marked by persistent and evolving DDoS threats, including the rise of DDoS-for-hire services, massive botnets underscore the critical need for proactive, resilient cybersecurity. Azure's proven ability to automatically detect, mitigate, and withstand advanced attacks (such as record-breaking volumetric incidents) highlights the value of always-on protections to maintain business continuity and safeguard digital services during peak demand periods.&lt;/P&gt;
&lt;P&gt;Adopting a Zero Trust approach is essential in this landscape, as it operates on the principle of "never trust, always verify," assuming breaches are inevitable and requiring continuous validation of access and traffic principles that complement DDoS defenses by limiting lateral movement and exposure even under attack. To achieve comprehensive protection, implement layered security: &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview" target="_blank" rel="noopener"&gt;deploy Azure DDoS Protection for network-layer (Layers 3 and 4)&lt;/A&gt; volumetric mitigation with always-on monitoring, adaptive tuning, telemetry, and alerting; combine it with &lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/overview" target="_blank" rel="noopener"&gt;Azure Web Application Firewall (WAF)&lt;/A&gt; to defend the application layer (Layer 7) against sophisticated techniques like HTTP floods; and integrate Azure Firewall for additional network perimeter controls. Key preparatory steps include identifying public-facing exposure points, establishing normal traffic baselines, conducting regular &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/test-through-simulations" target="_blank" rel="noopener"&gt;DDoS simulations&lt;/A&gt;, &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/alerts" target="_blank" rel="noopener"&gt;configuring alerts&lt;/A&gt; for active mitigations, forming a dedicated response team, and enabling expert support like the &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-rapid-response" target="_blank" rel="noopener"&gt;DDoS Rapid Response (DRR)&lt;/A&gt; team when needed. By prioritizing these multi-layered defenses and a well-practiced response plan, organizations can significantly enhance resilience against the evolving DDoS landscape in 2026.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Feb 2026 20:30:34 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/navigating-the-2025-holiday-season-insights-into-azure-s-ddos/ba-p/4495741</guid>
      <dc:creator>Jdasari</dc:creator>
      <dc:date>2026-02-18T20:30:34Z</dc:date>
    </item>
    <item>
      <title>A Practical Guide to Azure DDoS Protection Cost Optimization</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/a-practical-guide-to-azure-ddos-protection-cost-optimization/ba-p/4495199</link>
      <description>&lt;H2&gt;Introduction&lt;/H2&gt;
&lt;P&gt;Azure provides infrastructure-level DDoS protection by default to protect Azure’s own platform and services. However, this protection does not extend to customer workloads or non-Microsoft managed resources like Application Gateway, Azure Firewall, or virtual machines with public IPs. To protect these resources, Azure offers enhanced DDoS protection capabilities (Network Protection and IP Protection) that customers can apply based on workload exposure and business requirements. As environments scale, it’s important to ensure these capabilities are applied deliberately and aligned with actual risk.&lt;/P&gt;
&lt;P&gt;For more details on how Azure DDoS protection works, see &lt;A href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/understanding-azure-ddos-protection-a-closer-look/3983767" target="_blank" rel="noopener"&gt;Understanding Azure DDoS Protection: A Closer Look&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;Why Cost Optimization Matters&lt;/H2&gt;
&lt;P&gt;Cost inefficiencies related to Azure DDoS Protection typically emerge as environments scale:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;New public IPs are introduced&lt;/LI&gt;
&lt;LI&gt;Virtual networks evolve&lt;/LI&gt;
&lt;LI&gt;Workloads change ownership&lt;/LI&gt;
&lt;LI&gt;Protection scope grows without clear alignment to workload exposure&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The goal here is deliberate, consistent application of enhanced protection matched to real risk rather than historical defaults.&lt;/P&gt;
&lt;H2&gt;Scoping Enhanced Protection&lt;/H2&gt;
&lt;P&gt;Customer workloads with public IPs require enhanced DDoS protection to be protected against targeted attacks. Enhanced DDoS protection provides:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Advanced mitigation capabilities&lt;/LI&gt;
&lt;LI&gt;Detailed telemetry and attack insights&lt;/LI&gt;
&lt;LI&gt;Mitigation tuned to specific traffic patterns&lt;/LI&gt;
&lt;LI&gt;Dedicated support for customer workloads&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;When to apply enhanced protection:&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Workload Type&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Enhanced Protection Recommended?&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Internet-facing production apps with direct customer impact&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Yes&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Business-critical systems with compliance requirements&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Yes&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Internal-only workloads behind private endpoints&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Typically not needed&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Development/test environments&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Evaluate based on exposure&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;Best Practice:&lt;/STRONG&gt; Regularly review public IP exposure and workload criticality to ensure enhanced protection aligns with current needs.&lt;/P&gt;
&lt;H2&gt;Understanding Azure DDoS Protection SKUs&lt;/H2&gt;
&lt;P&gt;Azure offers two ways to apply enhanced DDoS protection: &lt;STRONG&gt;DDoS Network Protection&lt;/STRONG&gt; and &lt;STRONG&gt;DDoS IP Protection&lt;/STRONG&gt;. Both provide DDoS protection for customer workloads.&lt;/P&gt;
&lt;H3&gt;Comparison Table&lt;/H3&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Feature&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;DDoS Network Protection&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;DDoS IP Protection&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Scope&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Virtual network level&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Individual public IP&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Pricing model&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Fixed base + overage per IP&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Per protected IP&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Included IPs&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;100 public IPs&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;N/A&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;DDoS Rapid Response (DRR)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Included&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Not available&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Cost protection guarantee&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Included&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Not available&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;WAF discount&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Included&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Not available&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Best for&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Production environments with many public IPs&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Selective protection for specific endpoints&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Management&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Centralized&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Granular&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Cost efficiency&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Lower per-IP cost at scale (100+ IPs)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Lower total cost for few IPs (&amp;lt; 15)&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H3&gt;DDoS Network Protection&lt;/H3&gt;
&lt;P&gt;DDoS Network Protection can be applied in two ways:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;VNet-level protection:&lt;/STRONG&gt; Associate a DDoS Protection Plan with virtual networks, and all public IPs within those VNets receive enhanced protection&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Selective IP linking:&lt;/STRONG&gt; Link specific public IPs directly to a DDoS Protection Plan without enabling protection for the entire VNet&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;This flexibility allows you to protect entire production VNets while also selectively adding individual IPs from other environments to the same plan.&lt;/P&gt;
&lt;P&gt;For more details on selective IP linking, see &lt;A href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/optimizing-ddos-protection-costs-adding-ips-to-existing-ddos-protection-plans/4404874" target="_blank" rel="noopener"&gt;Optimizing DDoS Protection Costs: Adding IPs to Existing DDoS Protection Plans&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Ideal for:&lt;/STRONG&gt; - Production environments with multiple internet-facing workloads - Mixed environments where some VNets need full coverage and others need selective protection - Scenarios requiring centralized visibility, management, and access to DRR, cost protection, and WAF discounts&lt;/P&gt;
&lt;H3&gt;DDoS IP Protection&lt;/H3&gt;
&lt;P&gt;DDoS IP Protection allows enhanced protection to be applied directly to individual public IPs, with per-IP billing. This is a standalone option that does not require a DDoS Protection Plan.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Ideal for:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Environments with fewer than 15 IPs requiring protection&lt;/LI&gt;
&lt;LI&gt;Cases where DRR, cost protection, and WAF discounts are not needed&lt;/LI&gt;
&lt;LI&gt;Quick enablement without creating a protection plan&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Decision Tree: Choosing the Right SKU&lt;/H2&gt;
&lt;P&gt;Now that you know the main scenarios, the decision tree below can help you determine which SKU best fits your environment based on feature requirements and scale:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Network Protection exclusive features:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;DDoS Rapid Response (DRR):&lt;/STRONG&gt; Access to Microsoft DDoS experts during active attacks&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Cost protection:&lt;/STRONG&gt; Resource credits for scale-out costs incurred during attacks&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;WAF discount:&lt;/STRONG&gt; Reduced pricing on Azure Web Application Firewall&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Consolidating Protection Plans at Tenant Level&lt;/H2&gt;
&lt;P&gt;A single DDoS Protection Plan can protect multiple virtual networks and subscriptions within a tenant. Each plan includes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Fixed monthly base cost&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;100 public IPs included&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Overage charges&lt;/STRONG&gt; for additional IPs beyond the included threshold&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Cost Comparison Example&lt;/H3&gt;
&lt;P&gt;Consider a customer with &lt;STRONG&gt;130 public IPs&lt;/STRONG&gt; requiring enhanced protection:&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Configuration&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Plans&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Base Cost&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Overage&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Total Monthly Cost&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Two separate plans&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;$2,944 × 2 = $5,888&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;$0&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;~$5,888&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Single consolidated plan&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;$2,944&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;30 IPs × $30 = $900&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;~$3,844&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;col style="width: 20.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;Savings: ~$2,044/month ($24,528/year)&lt;/STRONG&gt; by consolidating to a single plan.&lt;/P&gt;
&lt;P&gt;In both cases, the same public IPs receive the same enhanced protection. The cost difference is driven entirely by plan architecture.&lt;/P&gt;
&lt;H3&gt;How to Consolidate Plans&lt;/H3&gt;
&lt;P&gt;&lt;EM&gt;Use the PowerShell script below to list existing DDoS Protection Plans and associate virtual networks with a consolidated plan. Run this script from Azure Cloud Shell or a local PowerShell session with the [Az module](https://learn.microsoft.com/powershell/azure/install-azure-powershell) installed. The account running the script must have Network Contributor role (or equivalent) on the virtual networks being modified and Reader access to the DDoS Protection Plan.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;# List all DDoS Protection Plans in your tenant
Get-AzDdosProtectionPlan | Select-Object Name, ResourceGroupName, Id

# Associate a virtual network with an existing DDoS Protection Plan
$ddosPlan = Get-AzDdosProtectionPlan -Name "ConsolidatedDDoSPlan" -ResourceGroupName "rg-security"
$vnet = Get-AzVirtualNetwork -Name "vnet-production" -ResourceGroupName "rg-workloads"
$vnet.DdosProtectionPlan = New-Object Microsoft.Azure.Commands.Network.Models.PSResourceId
$vnet.DdosProtectionPlan.Id = $ddosPlan.Id
$vnet.EnableDdosProtection = $true
Set-AzVirtualNetwork -VirtualNetwork $vnet&lt;/LI-CODE&gt;
&lt;H2&gt;Preventing Protection Drift&lt;/H2&gt;
&lt;P&gt;Protection drift occurs when the resources covered by DDoS protection no longer align with the resources that actually need it. This mismatch can result in wasted spend (protecting resources that are no longer critical) or security gaps (missing protection on newly deployed resources). Common causes include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Applications are retired but protection remains&lt;/LI&gt;
&lt;LI&gt;Test environments persist longer than expected&lt;/LI&gt;
&lt;LI&gt;Ownership changes without updating protection configuration&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Quarterly Review Checklist&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;List all public IPs with enhanced protection enabled&lt;/LI&gt;
&lt;LI&gt;Verify each protected IP maps to an active, production workload&lt;/LI&gt;
&lt;LI&gt;Confirm workload criticality justifies enhanced protection&lt;/LI&gt;
&lt;LI&gt;Review ownership tags and update as needed&lt;/LI&gt;
&lt;LI&gt;Remove protection from decommissioned or non-critical resources&lt;/LI&gt;
&lt;LI&gt;Validate DDoS Protection Plan consolidation opportunities&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Sample Query: List Protected Public IPs&lt;/H3&gt;
&lt;P&gt;Use the following PowerShell script to identify all public IPs currently receiving DDoS protection in your environment. This helps you audit which resources are protected and spot candidates for removal. Run this from Azure Cloud Shell or a local PowerShell session with the Az module installed. The account must have Reader access to the subscriptions being queried.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;# List all public IPs with DDoS protection enabled
Get-AzPublicIpAddress | Where-Object {
    $_.DdosSettings.ProtectionMode -eq "Enabled" -or
    ($_.IpConfiguration -and (Get-AzVirtualNetwork | Where-Object { $_.EnableDdosProtection -eq $true }).Subnets.IpConfigurations.Id -contains $_.IpConfiguration.Id)
} | Select-Object Name, ResourceGroupName, IpAddress, @{N='Tags';E={$_.Tag | ConvertTo-Json -Compress}}&lt;/LI-CODE&gt;
&lt;P&gt;For a comprehensive assessment of all public IPs and their DDoS protection status across your environment, use the &lt;A href="https://github.com/Azure/Azure-Network-Security/tree/master/Azure%20DDoS%20Protection/DDoS-Protection-Assessment-Tool" target="_blank" rel="noopener"&gt;DDoS Protection Assessment Tool&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;Making Enhanced Protection Costs Observable&lt;/H2&gt;
&lt;P&gt;Ongoing visibility into DDoS Protection costs enables proactive optimization rather than reactive bill shock. When costs are surfaced early, you can spot scope creep before it impacts your budget, attribute spending to specific workloads, and measure whether your optimization efforts are paying off. The following sections cover three key capabilities: budget alerts to notify you when spending exceeds thresholds, Azure Resource Graph queries to analyze protection coverage, and tagging strategies to attribute costs by workload.&lt;/P&gt;
&lt;H3&gt;Setting Up Cost Alerts&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Navigate to &lt;STRONG&gt;Azure Cost Management + Billing&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;Cost alerts&lt;/STRONG&gt; &amp;gt; &lt;STRONG&gt;Add&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;Configure:&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Scope:&lt;/STRONG&gt; Subscription or resource group&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Budget amount:&lt;/STRONG&gt; Based on expected DDoS Protection spend&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Alert threshold:&lt;/STRONG&gt; 80%, 100%, 120%&lt;/P&gt;
&lt;P&gt;o&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Action group:&lt;/STRONG&gt; Email security and finance teams&lt;/P&gt;
&lt;H3&gt;Tagging Strategy for Cost Attribution&lt;/H3&gt;
&lt;P&gt;Apply consistent tags to track DDoS protection costs by workload:&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;# Tag public IPs for cost attribution
$pip = Get-AzPublicIpAddress -Name "pip-webapp" -ResourceGroupName "rg-production"
$tags = @{
    "CostCenter" = "IT-Security"
    "Workload" = "CustomerPortal"
    "Environment" = "Production"
    "DDoSProtectionTier" = "NetworkProtection"
}
Set-AzPublicIpAddress -PublicIpAddress $pip -Tag $tags&lt;/LI-CODE&gt;
&lt;H2&gt;Summary&lt;/H2&gt;
&lt;P&gt;This guide covered how to consolidate DDoS Protection Plans to avoid paying multiple base costs, select the appropriate SKU based on IP count and feature needs, apply protection selectively with IP linking, and prevent configuration drift through regular reviews. These practices help ensure you're paying only for the protection your workloads actually need.&lt;/P&gt;
&lt;H2&gt;References&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://azure.microsoft.com/pricing/details/ddos-protection/" target="_blank" rel="noopener"&gt;Review Azure DDoS Protection pricing&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/azure/ddos-protection/manage-ddos-protection" target="_blank" rel="noopener"&gt;Enable DDoS Network Protection for a virtual network&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/azure/ddos-protection/manage-ddos-ip-protection-portal" target="_blank" rel="noopener"&gt;Configure DDoS IP Protection&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/azure/cost-management-billing/costs/cost-mgt-alerts-monitor-usage-spending" target="_blank" rel="noopener"&gt;Configure Cost Management alerts&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Feb 2026 13:55:49 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/a-practical-guide-to-azure-ddos-protection-cost-optimization/ba-p/4495199</guid>
      <dc:creator>SaleemBseeu</dc:creator>
      <dc:date>2026-02-18T13:55:49Z</dc:date>
    </item>
    <item>
      <title>Zero Trust with Azure Firewall, Azure DDoS Protection and Azure WAF: A practical use case</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/zero-trust-with-azure-firewall-azure-ddos-protection-and-azure/ba-p/4490595</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/security/zero-trust/assessment/overview" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Zero Trust&lt;/STRONG&gt;&lt;/A&gt; has emerged as the defining security ethos of the modern enterprise. It is guided by a simple but powerful principle: &lt;STRONG&gt;“Never trust, always verify.”&lt;/STRONG&gt; This principle is more relevant now than ever as cyberattacks continue to trend upward in both frequency and impact, affecting organizations of every size and industry. No entity large or small can assume immunity. As a result, adopting Zero Trust is no longer optional, it is a foundational requirement for designing secure, resilient architectures.&lt;/P&gt;
&lt;P&gt;A key tenet of Zero Trust is the assumption of breach, thus designing systems with the expectation that threats may already exist both outside and inside the network perimeter. To implement this principle, you need multiple, independent security controls that inspect traffic at different layers and enforce least privilege access continuously. Relying on a single security control, even a highly capable one, leaves gaps that modern attackers are adept at exploiting.&lt;/P&gt;
&lt;P&gt;It is within this context that combining the use of &lt;STRONG&gt;Azure Firewall, Azure DDoS Protection and Azure Web Application Firewall (WAF) &lt;/STRONG&gt;services to secure Web Applications while protecting the network perimeter becomes important. Together, these services deliver comprehensive protection across the network and application layers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Defense-in-depth: Why Azure WAF, Azure DDoS Protection and Azure Firewall are essential for Zero Trust&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In these sections ahead, we examine the common network and application-layer attack vectors that target modern web applications and illustrate how Azure WAF, Azure DDoS protection, and Azure Firewall, when layered strategically, work in tandem to mitigate these threats.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The architecture&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The test environment was designed to reflect a common Azure deployment pattern:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Azure DDoS Protection&lt;/STRONG&gt; at the edge, to defend against a comprehensive set of network layer (layer 3/4) attacks&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Azure Application Gateway with WAF&lt;/STRONG&gt;, inspecting inbound HTTP traffic for application-layer threats&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Azure Firewall Premium&lt;/STRONG&gt; behind the gateway, providing network-layer protection, deep packet inspection, and outbound traffic governance.&lt;/LI&gt;
&lt;LI&gt;A backend subnet hosting an intentionally vulnerable application (OWASP Juice Shop) to simulate real-world attack scenarios.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Traffic flows through the DDoS first, then WAF, and then the firewall, before reaching the backend. Outbound traffic from the backend is routed through the firewall for inspection. This ensures that all inbound and outbound traffic is scrutinized.&lt;/P&gt;
&lt;P&gt;Two access paths that will be tested:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Via the Application Gateway public IP, where traffic passes through DDoS, WAF and Firewall.&lt;/LI&gt;
&lt;LI&gt;Via the Firewall public IP using a DNAT rule, where traffic bypasses WAF and is inspected only by the Firewall.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The following scenarios illustrate how this complementary protection strengthens overall resilience:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 1: SQL injection (application-layer attack)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Let’s say an attacker on the internet attempts to access the application’s login endpoint via the Application Gateway IP address and injects a SQL payload into the input field. For example, the attacker submits a request containing the following payload in the User ID field:&lt;/P&gt;
&lt;P&gt;?id=' OR 1=1 --&lt;/P&gt;
&lt;P&gt;Azure WAF will receive the request, analyze, and if Azure WAF is deployed in Prevention mode, it will immediately detect the SQL injection attempt using its built-in Managed Ruleset. Upon detection, Azure WAF will return a WAF block page, preventing the request from ever reaching the application.&lt;/P&gt;
&lt;P&gt;By contrast, when the same application is accessed through a firewall-only path (for example, via a DNAT rule on Azure Firewall that exposes the application on port 443), Azure Firewall allows the traffic as it does not perform deep Application layer inspection and SQL injection payloads when embedded within the HTTP request body, appear legitimate at the network layer. Here is a snapshot of the attacker gaining access to the admin role when they insert this SQL injection attack without Azure WAF and only Azure Firewall in the path.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 2: Volumetric and application-layer DDoS attacks&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Next, the attacker launches &lt;STRONG&gt;a volumetric network layer DDoS&lt;/STRONG&gt; (SYN/UDP floods) to saturate bandwidth, but &lt;STRONG&gt;Azure DDoS Network Protection absorbs and scrubs the attack at the edge&lt;/STRONG&gt;, so no traffic reaches Application Gateway, WAF, or Firewall.&lt;/P&gt;
&lt;P&gt;When the network layer attack fails, they shift to&lt;STRONG&gt; HTTP flood attack &lt;/STRONG&gt;at the application layer, overwhelming the web application with a high volume of requests. Some requests include exploit attempts, while others are designed purely to exhaust application resources. &lt;STRONG&gt;Azure WAF &lt;/STRONG&gt;here&lt;STRONG&gt;,&lt;/STRONG&gt; can identify malicious patterns such as:&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;UL&gt;
&lt;LI&gt;Automated bots lacking proper headers&lt;/LI&gt;
&lt;LI&gt;Abnormal request rates&lt;/LI&gt;
&lt;LI&gt;Known exploit payloads embedded within requests&lt;/LI&gt;
&lt;LI&gt;Malicious IP addresses&lt;/LI&gt;
&lt;/UL&gt;
&lt;/UL&gt;
&lt;P&gt;Note: &lt;STRONG&gt;Azure DDoS Protection&lt;/STRONG&gt; is a comprehensive service that provides protection across &lt;STRONG&gt;network layers (Layer 3 and 4)&lt;/STRONG&gt;, while HTTP DDoS Protection specifically targets &lt;STRONG&gt;application-layer attacks (Layer 7) &lt;/STRONG&gt;and is integrated with&lt;STRONG&gt; Azure WAF&lt;/STRONG&gt;. They are complementary services designed to defend against different types of threats within the Azure environment.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Additionally, if the botnet’s IPs are known threat actors or malicious traffic, Azure Firewall’s threat intelligence and IDPS will be able to flag this traffic too.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;Together, these services form a complementary, defense-in-depth strategy for protecting Azure workloads against distributed denial-of-service attacks.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 3: Path Traversal Attempt/Information leak&lt;/STRONG&gt;: &lt;STRONG&gt;(Application-Layer Attack)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Next, the attacker sends HTTP requests to access sensitive system files such as /etc/passwd by sending crafted HTTP requests to the application via the &lt;STRONG&gt;Application Gateway public IP address&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;The request successfully passes through Azure Application Gateway WAF, as it does not trigger a managed rule violation in this case. However, when the request reaches Azure Firewall, the Firewall’s IDPS detects the malicious pattern in the HTTP header and blocks the connection before it can reach the backend workload.&lt;/P&gt;
&lt;P&gt;Because the backend connection is denied by Azure Firewall, Application Gateway is unable to establish a successful response and returns a &lt;STRONG&gt;504 Gateway Timeout&lt;/STRONG&gt; to the client, rather than a &lt;STRONG&gt;403 Forbidden&lt;/STRONG&gt; response that would typically be generated by WAF when it blocks traffic. Below is the log from Azure Firewall showing that its able to detect this traffic as – Attempted Information Leak. As seen below, the traffic passed Application Gateway+WAF but was caught by Azure Firewall:&lt;/P&gt;
&lt;img /&gt;&lt;img /&gt;
&lt;P&gt;This scenario highlights an important architectural outcome: The combination of WAF and Azure Firewall provides layered enforcement, even if an attack manages to slip past Azure WAF, Azure Firewall adds an additional enforcement layer to ensure the application remains protected.&lt;/P&gt;
&lt;P&gt;Now, let’s look at some more Network Layer attacks:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Scenario 4: Network reconnaissance and breach &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In this scenario, port 3389 is exposed on Application Gateway using the &lt;A href="https://learn.microsoft.com/en-us/azure/application-gateway/tcp-tls-proxy-overview" target="_blank" rel="noopener"&gt;L4 TCP Proxy option&lt;/A&gt;. Now, the attacker attempts to scan the Application Gateway on all the ports/protocols and found that port 3389 was open along with other ports such as ports 80, 8080, 3000.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;Azure WAF will alert us for Layer 7/Application exploit but cannot verify/validate the attack on port 3389 since it was purely Layer 3/4 and contained no HTTP payload for WAF inspection. The L4 proxy listener on App Gateway simply forwards the raw TCP connections to the Azure Firewall behind it. Azure Firewall, however, performs full network‑layer inspection across all ports and protocols, allowing it to detect and alert on this type of L3/L4 reconnaissance even when App Gateway had the port open via the TCP proxy feature. As seen below the traffic passed Application Gateway+WAF but was caught by Azure Firewall since it is non-HTTP:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;The attacker then tries a different approach:&lt;/STRONG&gt; Now the attacker somehow compromises a workstation inside our network and attempts to move laterally to the web server via RDP on port 3389 and/or attempts to exfiltrate and try to access something outside of the network. Azure Firewall located inside the VNet blocks the RDP attempt (if there is no rule allowing it) and if there is, its IDPS flags/blocks the traffic as suspicious. In this case, Azure WAF will not be involved but Azure Firewall inspects this internal and/or outbound traffic and blocks it. This illustrates how a combination of the two stops the attacker at multiple points: firewall foiled the reconnaissance and lateral movement/exfiltration, WAF foiled the application exploit.&lt;/P&gt;
&lt;P&gt;We can see below the outbound malicious attempt caught by Azure Firewall IDPS:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;In summary, Azure WAF is like the “bodyguard at the application’s front door” – inspecting every HTTP request in detail and ejecting those carrying hidden weapons or exhibiting bad behavior. It focuses on the web layer, which Azure Firewall or DDoS alone cannot fully protect. If we only had the WAF and no network firewall or DDoS, we’d be safe from many web attacks but would remain exposed to network-level threats (e.g., someone trying to RDP into a VM, or flooding a non-HTTP service). Conversely, if we had only the firewall, a crafty attacker could still exploit a vulnerability in our web app with a well-crafted HTTP request that looks “allowed” to the firewall – that’s where the WAF comes in to catch it.&lt;/P&gt;
&lt;P&gt;Azure Firewall on the other hand, acts as the “moat and drawbridge” to your cloud network: it keeps out the obvious bad guys at the gate, tightly limits what’s allowed in or out (no implicit trust for internal IPs), and uses threat intel + signatures to sniff out known threats in any traffic it passes, even outbound traffic.&lt;/P&gt;
&lt;P&gt;The table below shows the traffic flow that will be filtered by Azure WAF vs Azure Firewall. As you can see, layered security is fundamental to Zero Trust&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In a Zero Trust architecture, security cannot rely on implicit trust or a single layer of defense. The combination of Azure Firewall Premium, Azure DDoS protection and Azure Application Gateway WAF exemplifies defense-in-depth by protecting both network and application layers. Organizations hosting internet-facing applications should adopt this layered strategy to reduce exposure to modern threats, prevent lateral movement, and maintain strict control over outbound traffic. By implementing these services together, you align with Microsoft’s recommended best practices for Zero Trust and significantly strengthen your cloud security posture.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;References:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/architecture/example-scenario/gateway/application-gateway-before-azure-firewall" target="_blank" rel="noopener"&gt;Implement a Zero Trust network for web applications by using Azure Firewall and Azure Application Gateway&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/overview" target="_blank" rel="noopener"&gt;What is Azure Web Application Firewall?&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview" target="_blank" rel="noopener"&gt;Azure DDoS Protection Overview | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/firewall/overview" target="_blank" rel="noopener"&gt;What is Azure Firewall?&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/architecture/example-scenario/gateway/firewall-application-gateway" target="_blank" rel="noopener"&gt;Architecture designs using Azure WAF and Azure Firewall together&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/security/zero-trust/assessment/overview" target="_blank" rel="noopener"&gt;Zero Trust Assessment Overview | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Thu, 05 Feb 2026 05:15:27 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/zero-trust-with-azure-firewall-azure-ddos-protection-and-azure/ba-p/4490595</guid>
      <dc:creator>saikishor</dc:creator>
      <dc:date>2026-02-05T05:15:27Z</dc:date>
    </item>
    <item>
      <title>Application layer DDoS protection using the HTTP DDoS Ruleset in Azure WAF</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/application-layer-ddos-protection-using-the-http-ddos-ruleset-in/ba-p/4479030</link>
      <description>&lt;P&gt;Today, Distributed Denial of Service (DDoS) attacks can strike as soon as public connectivity is enabled, highlighting their widespread prevalence. Factors such as easily accessible botnets, the explosion of IoT devices, and the growth of API-driven workloads, e-commerce platforms, and global web applications have made these attacks easier to launch and more impactful.&lt;/P&gt;
&lt;P&gt;Importantly, attackers are no longer focusing solely on the network layer, they increasingly target the application layer. Application-layer DDoS attacks often mimic normal user activity, making detection and mitigation far more challenging than traditional network-layer attacks. The most common types of Application layer/HTTP based DDOS attacks are outlined below.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Common HTTP-based DDoS attacks:&lt;/STRONG&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;HTTP floods: &lt;/STRONG&gt;Large volumes of valid looking GET or POST requests are sent to webpages or APIs, overwhelming application gateways and backend services without saturating network bandwidth.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;API abuse attacks: &lt;/STRONG&gt;Attackers repeatedly call specific API endpoints, such as authentication, search, or checkout that trigger expensive backend operations, quickly exhausting compute and database resources.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Slow HTTP attacks: &lt;/STRONG&gt;Connections are deliberately kept open by sending data very slowly, consuming server threads and connection limits while generating relatively little traffic.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;TLS-intensive attacks: &lt;/STRONG&gt;A high number of encrypted connections are initiated to increase CPU usage during TLS handshakes, impacting application gateways and load balancers.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In order to defend against these sophisticated threats, organizations need application-aware protection that can identify abnormal behavior patterns rather than relying only on traffic volume. This is precisely the capability provided by the &lt;STRONG&gt;HTTP DDoS Ruleset for Azure Application Gateway WAF&lt;/STRONG&gt;.&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;What Is the HTTP DDoS Ruleset?&amp;nbsp;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;The HTTP DDoS Ruleset is a built-in capability of Azure Application Gateway WAF designed to protect your applications from large-scale HTTP floods at the application layer. Unlike static rate-limiting or manual IP blocking, this ruleset uses adaptive learning to understand what “normal” traffic looks like for your gateway and then automatically mitigates anomalies.&lt;/P&gt;
&lt;H6&gt;&lt;STRONG&gt;Key features&lt;/STRONG&gt;&lt;/H6&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Baseline learning:&lt;/STRONG&gt; The ruleset observes traffic for about 24 hours to establish a normal request pattern per gateway.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Dynamic detection:&lt;/STRONG&gt; When incoming requests exceed the learned baseline, the ruleset identifies potential abuse (Client-specific or IP specific limits are applied only when the overall request volume to the gateway exceeds its learned baseline).&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Automated mitigation:&lt;/STRONG&gt; Offending clients are blocked and are placed in a “penalty box” for the defined time (15 minutes).&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Sensitivity levels:&lt;/STRONG&gt; Choose low, medium, or high to control aggressiveness. Medium is recommended for most workloads.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Leverages Microsoft’s vast global network’s threat intelligence&lt;/STRONG&gt; to establish a stricter baseline for suspected botnet traffic and when exceeded, blocks them and places those suspected bots into the penalty box.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class=""&gt;Threat intelligence plays a critical role here. By continuously aggregating data from global telemetry, threat intelligence systems can identify sources that are likely participating in coordinated attacks. When applied to HTTP DDoS protection, this intelligence allows suspected bot traffic to be treated differently from normal user traffic. Instead of relying only on static blocklists, botnet-aware defenses use reputation, behavior, and historical signals to apply throttling or penalties dynamically. This approach reduces the attack surface, limits the impact of distributed bot-driven floods, and avoids unnecessary disruption to legitimate users.&lt;/P&gt;
&lt;P&gt;Threat intelligence shifts DDoS defense from a purely reactive posture to a more informed, proactive one, making it far more effective against today’s botnet-driven application-layer attacks.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Enabling and validating the HTTP DDoS Ruleset:&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Getting started with the HTTP DDoS Ruleset on Application Gateway WAF is simple.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Enable the Ruleset:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In the&lt;STRONG&gt; &lt;/STRONG&gt;Azure portal, open your WAF policy.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Note: Currently the ruleset is available only in the preview portal:&amp;nbsp;&lt;A class="lia-external-url" href="https://preview.portal.azure.com/" target="_blank" rel="noopener"&gt;https://preview.portal.azure.com/&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Under Managed Rules, Click on Assign and then assign the &lt;STRONG&gt;HTTP DDoS Ruleset_1.0 (Preview) &lt;/STRONG&gt;and save.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P data-start="973" data-end="1430"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-start="973" data-end="1430"&gt;Each rule can be configured to either&amp;nbsp;&lt;STRONG data-start="1011" data-end="1018"&gt;Log&lt;/STRONG&gt; traffic for observation or &lt;STRONG data-start="1046" data-end="1054"&gt;Deny&lt;/STRONG&gt; traffic for active mitigation. Sensitivity can be adjusted to &lt;STRONG data-start="1117" data-end="1125"&gt;High&lt;/STRONG&gt;, &lt;STRONG data-start="1127" data-end="1137"&gt;Medium&lt;/STRONG&gt;, or &lt;STRONG data-start="1142" data-end="1149"&gt;Low&lt;/STRONG&gt;, allowing you to balance detection speed and accuracy. Higher sensitivity enforces lower thresholds and detects anomalies sooner, while lower sensitivity raises thresholds to reduce false positives.&lt;STRONG&gt; &lt;/STRONG&gt;Medium sensitivity is the default and recommended setting for most workloads.&lt;/P&gt;
&lt;P data-start="1432" data-end="1728"&gt;Once enabled, the ruleset is evaluated early in the WAF pipeline, before custom rules are processed. This ensures that HTTP-based DDoS protection cannot be bypassed by DDoS protection. The ruleset works alongside the Default Rule Set (DRS) and any custom rules for comprehensive security.&lt;/P&gt;
&lt;P data-start="1730" data-end="2087"&gt;After the policy is applied to an Application Gateway, the ruleset enters a learning phase that lasts at least &lt;STRONG&gt;24 hours&lt;/STRONG&gt;. During this time, it observes traffic patterns to establish normal baselines for the gateway. No detection or blocking occurs during this period, allowing the ruleset to understand typical application behavior before enforcement begins.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Metrics:&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Once the learning phase completes, traffic surges that exceed the learned baseline are reflected in the Application Gateway metrics. These metrics provide immediate visibility into when the HTTP DDoS ruleset is actively detecting and mitigating abnormal behavior.&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;STRONG&gt;Metric – WAF Penalty Box Size&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;&lt;EM&gt;This metric shows how many IP addresses are currently inside the penalty box, meaning that the WAF has detected them exceeding the learned HTTP DDoS baseline and is temporarily blocking them. A spike here indicates that multiple clients crossed their thresholds at the same time, often during an attack or load-test scenario.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI style="font-weight: bold;"&gt;&lt;STRONG&gt;Metric – WAF Penalty Box Hits&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;&lt;EM&gt;This metric represents how many IPs entered the penalty box. Every time a client breaches its threshold, the ruleset logs a hit and places that IP into the penalty box for approximately 15 minutes. Multiple hits often correlate with repeated spikes or sustained abusive traffic patterns.&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;
&lt;H5 data-start="1604" data-end="1627"&gt;&lt;STRONG&gt;Logs:&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;For deeper analysis, enabling diagnostic settings allows you to inspect HTTP DDoS Ruleset events directly in the logs. These logs provide granular details about which IPs were flagged, why they were flagged, and how far they exceeded expected thresholds.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;Example of DetailedData from a log:&lt;/STRONG&gt;&amp;nbsp;RemoteAddress: 4.x.x.x (Public IP) crossed threshold. Expected: 4400.000000 request per 900 seconds, Actual: 8407.000000 requests per 900 seconds.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;KQL queries to retrieve these logs:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Resource specific logs:&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;AGWFirewallLogs&lt;/P&gt;
&lt;P&gt;| where RuleSetType == "Microsoft_HTTPDDoSRuleSet"&lt;/P&gt;
&lt;H6&gt;&lt;STRONG&gt;Diagnostic logs:&amp;nbsp;&lt;/STRONG&gt;&lt;/H6&gt;
&lt;P&gt;AzureDiagnostics&lt;/P&gt;
&lt;P&gt;| where Category == "ApplicationGatewayFirewallLog"&lt;/P&gt;
&lt;P&gt;| where ruleSetType_s == "Microsoft_HTTPDDoSRuleSet"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; Identify IPs repeatedly flagged and confirm they’re malicious, not legitimate clients.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Conclusion:&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;The threat landscape continues to evolve, and defenses must evolve with it. Leveraging the HTTP DDoS Ruleset in Azure Application Gateway WAF helps ensure protections keep pace with modern application-layer attacks. With built-in visibility through metrics and logs, teams can better understand traffic behavior and operate their WAF with greater confidence.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Next Steps:&lt;/STRONG&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;Access the HTTP DDoS ruleset for Application Gateway via the preview portal:&amp;nbsp;&lt;STRONG&gt;&lt;A class="lia-external-url" href="https://preview.portal.azure.com/" target="_blank" rel="noopener"&gt;https://preview.portal.azure.com/&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/ddos-ruleset" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;HTTP DDoS Ruleset (Preview) - Application Gateway WAF | Microsoft Learn&lt;/STRONG&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/policy-overview" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;Azure Web Application Firewall (WAF) policy overview | Microsoft Learn&lt;/STRONG&gt;&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Thu, 18 Dec 2025 07:18:22 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/application-layer-ddos-protection-using-the-http-ddos-ruleset-in/ba-p/4479030</guid>
      <dc:creator>saikishor</dc:creator>
      <dc:date>2025-12-18T07:18:22Z</dc:date>
    </item>
    <item>
      <title>Protect against React RSC CVE-2025-55182 with Azure Web Application Firewall (WAF)</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/protect-against-react-rsc-cve-2025-55182-with-azure-web/ba-p/4475291</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;Please subscribe to this blog as we will be updating the suggested rules as new attack permutations are found.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;On December 3, 2025, the React team disclosed a critical remote code execution (RCE) vulnerability in React Server Components (RSC), tracked as&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="http://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components" target="_blank" rel="noopener"&gt;CVE-2025-55182&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;. The vulnerability allows an unauthenticated attacker to send a specially crafted request to an RSC “Server Function” endpoint and potentially execute arbitrary code on the server.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This vulnerability affects applications using React RSC in the following versions:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;19.0.0&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;19.1.0&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;19.1.1&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;19.2.0&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Patched versions are available, and all customers are strongly encouraged to update&amp;nbsp;immediately.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;About CVE-2025-55182&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:299,&amp;quot;335559739&amp;quot;:299}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;According to the &lt;A class="lia-external-url" href="http://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components" target="_blank" rel="noopener"&gt;React security advisory&lt;/A&gt;, the issue stems from unsafe deserialization within React Server Components, where server function payloads were not adequately&amp;nbsp;validated. When exploited, an attacker can execute arbitrary code on the server without authentication.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://nvd.nist.gov/vuln/detail/CVE-2025-55182" target="_blank" rel="noopener"&gt;NVD entry&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;classifies this vulnerability as Critical, with a CVSS score of 10.0, due to its ease of exploitation and the potential impact on server-side execution.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;All organizations using React Server Components — or frameworks that embed RSC capabilities such as Next.js, React Router (RSC mode), Waku,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;@parcel/rsc&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;@vitejs/plugin-rsc&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, or&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;rwsdk&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;— should consider themselves potentially exposed until the relevant patches are applied.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN data-contrast="none"&gt;Azure WAF&amp;nbsp;Mitigation to CVE-2025-55182&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:299,&amp;quot;335559739&amp;quot;:299}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The primary and most effective mitigation for this vulnerability is to upgrade any unpatched React versions to the latest security-patched releases.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN data-ccp-props="{}"&gt;Mitigation on WAF on Application Gateway or Application Gateway for Containers&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P data-start="87" data-end="364"&gt;If you are using the latest and recommended Default Rule Set (DRS) 2.1, or the previous Core Rule Set (CRS) 3.2, a new CVE-specific managed rule is available in Azure Web Application Firewall (WAF) for Application Gateway and Application Gateway for Containers.&lt;/P&gt;
&lt;P data-start="366" data-end="460"&gt;Please ensure this rule is enabled and retains its default Anomaly Score–based action:&lt;/P&gt;
&lt;UL data-start="462" data-end="617"&gt;
&lt;LI data-start="462" data-end="517"&gt;Rule ID: 99001018 (DRS 2.1) or 800115 (CRS 3.2)&lt;/LI&gt;
&lt;LI data-start="518" data-end="617"&gt;Rule description: &lt;EM data-start="542" data-end="617"&gt;Attempted React2Shell remote code execution exploitation (CVE-2025-55182)&lt;/EM&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-start="619" data-end="904"&gt;This CVE-specific rule has also been added to CRS 3.1. However, for enhanced and more comprehensive protection specifically against CVE-2025-55182, we strongly recommend upgrading to DRS 2.1, which includes additional detection coverage and tuning for this vulnerability.&lt;/P&gt;
&lt;P data-start="906" data-end="1054"&gt;If you are using CRS 3.0, there is no built-in CVE-specific protection for CVE-2025-55182, and upgrading to DRS 2.1 is strongly advised.&lt;/P&gt;
&lt;P data-start="1056" data-end="1302"&gt;If upgrading is not currently possible, you may implement custom WAF rules to detect this exploit pattern using a Block action. Any custom rules should be validated in a test or staging environment before being enforced in production.&lt;/P&gt;
&lt;H4 aria-level="3"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Custom rules definition for WAF on Application Gateway and Application Gateway for Containers&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H4&gt;
&lt;LI-CODE lang="json"&gt;"customRules": [
    {
        "name": "cve202555182",
        "priority": 1,
        "ruleType": "MatchRule",
        "action": "Block",
        "matchConditions": [
            {
                "matchVariables": [
                    {
                        "variableName": "PostArgs"
                    }
                ],
                "operator": "Contains",
                "negationConditon": false,
                "matchValues": [
                    "constructor",
                    "__proto__",
                    "prototype",
                    "_response"
                ],
                "transforms": [
                    "Lowercase",
                    "UrlDecode",
                    "RemoveNulls"
                ]
            },
            {
                "matchVariables": [
                    {
                        "variableName": "RequestHeaders",
                        "selector": "next-action"
                    }
                ],
                "operator": "Any",
                "negationConditon": false,
                "matchValues": [],
                "transforms": []
            }
        ],
        "skippedManagedRuleSets": [],
        "state": "Enabled"
    },
    {
        "name": "cve202555182ver2",
        "priority": 100,
        "ruleType": "MatchRule",
        "action": "Block",
        "matchConditions": [
            {
                "matchVariables": [
                    {
                        "variableName": "PostArgs"
                    }
                ],
                "operator": "Contains",
                "negationConditon": false,
                "matchValues": [
                    "constructor",
                    "__proto__",
                    "prototype",
                    "_response"
                ],
                "transforms": [
                    "Lowercase",
                    "UrlDecode",
                    "RemoveNulls"
                ]
            },
            {
                "matchVariables": [
                    {
                        "variableName": "RequestHeaders",
                        "selector": "rsc-action-id"
                    }
                ],
                "operator": "Any",
                "negationConditon": false,
                "matchValues": [],
                "transforms": []
            }
        ],
        "skippedManagedRuleSets": [],
        "state": "Enabled"
    }
],&lt;/LI-CODE&gt;
&lt;P data-start="73" data-end="482"&gt;Adding these custom rules may fail if your WAF runs on the old WAF engine. In this case, we strongly recommend upgrading your WAF policy to the &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/waf-engine" target="_blank" rel="noopener"&gt;next-generation WAF engine&lt;/A&gt; by moving to a newer ruleset: either to the latest DRS 2.1 which includes the built-in managed rule (preferred) or to the previous CRS 3.2, then apply the custom rules described above.&lt;/P&gt;
&lt;P data-start="484" data-end="587"&gt;If upgrading your ruleset version is not an option, and your WAF remains on the old WAF engine, you can instead use the following alternative rules:&lt;/P&gt;
&lt;LI-CODE lang="json"&gt;"CustomRules": [
    {
        "Name": "cve202555182",
        "Priority": 1,
        "RuleType": "MatchRule",
        "MatchConditions": [
            {
                "MatchVariables": [
                    {
                        "VariableName": "PostArgs"
                    }
                ],
                "Operator": "Contains",
                "MatchValues": [
                    "constructor",
                    "__proto__",
                    "prototype",
                    "_response"
                ],
                "Transforms": [
                    "Lowercase",
                    "UrlDecode",
                    "RemoveNulls"
                ]
            },
            {
                "MatchVariables": [
                    {
                        "VariableName": "RequestHeaders",
                        "Selector": "next-action"
                    }
                ],
                "Operator": "Regex",
                "MatchValues": [
                    "."
                ],
                "Transforms": []
            }
        ],
        "Action": "Block"
    },
    {
        "Name": "cve202555182ver2",
        "Priority": 2,
        "RuleType": "MatchRule",
        "MatchConditions": [
            {
                "MatchVariables": [
                    {
                        "VariableName": "PostArgs"
                    }
                ],
                "Operator": "Contains",
                "MatchValues": [
                    "constructor",
                    "__proto__",
                    "prototype",
                    "_response"
                ],
                "ATransforms": [
                    "Lowercase",
                    "UrlDecode",
                    "RemoveNulls"
                ]
            },
            {
                "MatchVariables": [
                    {
                        "VariableName": "RequestHeaders",
                        "Selector": "rsc-action-id"
                    }
                ],
                "Operator": "Regex",
                "MatchValues": [
                    "."
                ],
                "Transforms": []
            }
        ],
        "Action": "Block"
    }
]&lt;/LI-CODE&gt;
&lt;H3&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Mitigation for WAF on Azure Front Door:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;If you are using WAF on Azure Front Door, you can create custom WAF rules to detect this exploit pattern. These custom rules are configured with a Block action. We recommend validating them in a test or staging environment before enforcing them in production.&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="json"&gt;"customRules": [
    {
        "name": "cve202555182",
        "enabledState": "Enabled",
        "priority": 1,
        "ruleType": "MatchRule",
        "rateLimitDurationInMinutes": 1,
        "rateLimitThreshold": 100,
        "matchConditions": [
            {
                "matchVariable": "RequestHeader",
                "selector": "next-action",
                "operator": "Any",
                "negateCondition": false,
                "matchValue": [],
                "transforms": []
            },
            {
                "matchVariable": "RequestHeader",
                "selector": "content-type",
                "operator": "Contains",
                "negateCondition": false,
                "matchValue": [
                    "multipart/form-data",
                    "application/x-www-form-urlencoded"
                ],
                "transforms": [
                    "Lowercase"
                ]
            },
            {
                "matchVariable": "RequestBody",
                "operator": "Contains",
                "negateCondition": false,
                "matchValue": [
                    "constructor",
                    "__proto__",
                    "prototype",
                    "_response"
                ],
                "transforms": [
                    "Lowercase",
                    "UrlDecode",
                    "RemoveNulls"
                ]
            }
        ],
        "action": "Block",
        "groupBy": []
    },
    {
        "name": "cve202555182ver2",
        "enabledState": "Enabled",
        "priority": 2,
        "ruleType": "MatchRule",
        "rateLimitDurationInMinutes": 1,
        "rateLimitThreshold": 100,
        "matchConditions": [
            {
                "matchVariable": "RequestHeader",
                "selector": "rsc-action-id",
                "operator": "Any",
                "negateCondition": false,
                "matchValue": [],
                "transforms": []
            },
            {
                "matchVariable": "RequestHeader",
                "selector": "content-type",
                "operator": "Contains",
                "negateCondition": false,
                "matchValue": [
                    "multipart/form-data",
                    "application/x-www-form-urlencoded"
                ],
                "transforms": [
                    "Lowercase"
                ]
            },
            {
                "matchVariable": "RequestBody",
                "operator": "Contains",
                "negateCondition": false,
                "matchValue": [
                    "constructor",
                    "__proto__",
                    "prototype",
                    "_response"
                ],
                "transforms": [
                    "Lowercase",
                    "UrlDecode",
                    "RemoveNulls"
                ]
            }
        ],
        "action": "Block",
        "groupBy": []
    }
]&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;You can find more information about Custom Rules on Azure WAF for Application Gateway &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/web-application-firewall/ag/custom-waf-rules-overview" target="_blank" rel="noopener"&gt;here&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;or for Azure Front Door&amp;nbsp;&lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-custom-rules" target="_blank" rel="noopener"&gt;here&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;Changelog&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;1/19/2026 5:00 PST - Updated built-in managed rule for CRS 3.2 and CRS 3.1 on WAF for Application Gateway&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;12/20/2025 11:00 PST - Updated built-in managed rule on WAF for Application Gateway and Application Gateway for Containers&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;12/7/2025 23:30 PST - Updated custom rules to detect additional attack permutation&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;12/5/2025 17:45 PST - Updated custom rules to include additional transform "RemoveNulls".&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Mon, 19 Jan 2026 13:52:07 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/protect-against-react-rsc-cve-2025-55182-with-azure-web/ba-p/4475291</guid>
      <dc:creator>yuvalpery</dc:creator>
      <dc:date>2026-01-19T13:52:07Z</dc:date>
    </item>
    <item>
      <title>Public Preview: Entra ID support for RDP connections in portal</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/public-preview-entra-id-support-for-rdp-connections-in-portal/ba-p/4472675</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;Overview&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;Azure Bastion provides secure RDP and SSH access to Azure virtual machines directly via the Azure portal or via the native SSH/RDP client already installed on your local computer. Previously, Bastion supported Entra ID authentication (formerly AAD) for RDP and SSH connections via native client and for SSH connections via the portal. Today, we are introducing &lt;STRONG&gt;public preview for Entra ID support for RDP connections in the portal,&amp;nbsp;&lt;/STRONG&gt;delivering a more seamless and secure experience for users.&lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;Why Entra ID authentication?&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;When Bastion users connect to Windows VMs through the portal, they authenticate using either a VM password or a password stored in Azure Key Vault. By leveraging &lt;STRONG&gt;Microsoft Entra ID&lt;/STRONG&gt;, authentication becomes identity-based, eliminating the need for local credentials and reducing complexity. This approach provides a seamless, one-click sign-in experience, making it easier for users to access their Windows VMs without managing separate passwords. Beyond convenience, Entra ID strengthens organizational security by centralizing identity management and enforcing robust access controls. The result is a simplified, secure, and user-friendly way to connect to virtual machines while improving the overall security posture.&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;&lt;STRONG&gt;Getting Started in Azure Portal&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Prerequisites:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ensure that the user connecting either has &lt;STRONG&gt;Virtual Machine User Login&lt;/STRONG&gt; OR &lt;STRONG&gt;Virtual Machine Administrator Login&lt;/STRONG&gt; role on the virtual machine&lt;/LI&gt;
&lt;LI&gt;Ensure that&amp;nbsp;&lt;STRONG&gt;AADLoginForWindows&lt;/STRONG&gt; extension is enabled on the VM. Microsoft Entra ID Login can be enabled during VM creation by checking the box for &lt;STRONG&gt;Login with Microsoft Entra ID&lt;/STRONG&gt;&amp;nbsp;or by adding the&amp;nbsp;&lt;STRONG&gt;AADLogin&lt;/STRONG&gt; extension to a pre-existing VM.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Steps:&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Navigate to your Virtual Machine resource in the Azure portal.&lt;/LI&gt;
&lt;LI&gt;Select Bastion under&amp;nbsp;&lt;EM&gt;Connect.&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;Check that&amp;nbsp;&lt;EM&gt;Microsoft Entra ID&amp;nbsp;&lt;/EM&gt;is the Authentication Type.&lt;/LI&gt;
&lt;LI&gt;Click Connect.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;&lt;STRONG&gt;Next Steps&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;Try Entra ID authentication support today, now in public preview - and share your feedback with the team.&lt;/P&gt;
&lt;P&gt;Learn more about Bastion support for Entra ID authentication &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/bastion/bastion-connect-vm-rdp-windows" target="_blank"&gt;here &lt;/A&gt;and keep up to date with all things Azure Bastion in our &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/bastion/whats-new" target="_blank"&gt;What's New page.&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Nov 2025 20:15:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/public-preview-entra-id-support-for-rdp-connections-in-portal/ba-p/4472675</guid>
      <dc:creator>aarontsang</dc:creator>
      <dc:date>2025-11-24T20:15:00Z</dc:date>
    </item>
    <item>
      <title>DNS flow trace logs in Azure Firewall are now generally available</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/dns-flow-trace-logs-in-azure-firewall-are-now-generally/ba-p/4469377</link>
      <description>&lt;H5&gt;&lt;STRONG&gt;Background&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Azure Firewall helps secure your network by filtering traffic and enforcing policies for your workloads and applications. DNS Proxy, a key capability in Azure Firewall, enables the firewall to act as a DNS forwarder for DNS traffic.&lt;/P&gt;
&lt;P&gt;Today, we’re introducing the &lt;STRONG&gt;general availability of DNS flow trace logs&lt;/STRONG&gt; — a new logging capability that provides &lt;STRONG&gt;end-to-end visibility&lt;/STRONG&gt; into DNS traffic and name resolution across your environment, such as viewing critical metadata including query types, response codes, queried domains, upstream DNS servers, and the source and destination IPs of each request.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Why DNS flow trace logs?&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Existing Azure Firewall DNS Proxy logs provide visibility for DNS queries as they initially pass through Azure Firewall. While helpful, customers have asked for deeper insights to troubleshoot, audit, and analyze DNS behavior more comprehensively.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;DNS flow trace logs address this by offering richer, end-to-end logging, &lt;/STRONG&gt;including DNS query paths, cache usage, forwarding decisions, and resolution outcomes. With these logs, you can:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Troubleshoot faster &lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;with detailed query and response information throughout the full resolution flow&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Validate caching behavior &lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;by determining whether Azure Firewall’s DNS cache was used&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Gain deeper insights&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; into query types, response codes, forwarding logic, and errors&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img&gt;Figure 1: End-to-end DNS query path from client virtual machine, through the Azure Firewall, to the Custom DNS server.&lt;/img&gt;
&lt;H5&gt;&lt;STRONG&gt;Example scenarios&lt;/STRONG&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Custom DNS configurations – &lt;/STRONG&gt;Verify traffic forwarding paths and ensure custom DNS servers are functioning and responding as expected&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;STRONG&gt;Connectivity issues &lt;/STRONG&gt;– Debug DNS resolution issues that prevent apps from connecting to critical services.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5&gt;&lt;STRONG&gt;Getting started in Azure Portal&lt;/STRONG&gt;&lt;/H5&gt;
&lt;OL&gt;
&lt;LI&gt;Navigate to your &lt;STRONG&gt;Azure Firewall resource&lt;/STRONG&gt; in the Azure Portal.&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;Diagnostic settings&lt;/STRONG&gt; under &lt;EM&gt;Monitoring&lt;/EM&gt;.&lt;/LI&gt;
&lt;LI&gt;Choose an existing diagnostic setting or create a new one.&lt;/LI&gt;
&lt;LI&gt;Under &lt;STRONG&gt;Log&lt;/STRONG&gt;, select &lt;STRONG&gt;DNS flow trace logs&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Stream logs to &lt;STRONG&gt;Log Analytics, Storage, or Event Hub &lt;/STRONG&gt;as needed.&lt;/LI&gt;
&lt;LI&gt;Save the settings.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img&gt;Figure 2: Example DNS flow trace logs in Azure Firewall logging&lt;/img&gt;
&lt;H5&gt;✨&lt;STRONG&gt; Next steps&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;DNS flow trace logs give you &lt;STRONG&gt;greater visibility and control&lt;/STRONG&gt; over DNS traffic in Azure Firewall, helping you secure, troubleshoot, and optimize your network with confidence.&lt;/P&gt;
&lt;P&gt;🚀 &lt;STRONG&gt;Try DNS flow trace logs today&lt;/STRONG&gt;, now generally available – and share your feedback with the team&lt;/P&gt;
&lt;P&gt;Learn more about how to configure and monitor these logs in the &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/firewall/monitor-firewall-reference#dns-flow-trace-logs" target="_blank"&gt;Azure Firewall monitoring data reference&lt;/A&gt; documentation.&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 17:56:17 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/dns-flow-trace-logs-in-azure-firewall-are-now-generally/ba-p/4469377</guid>
      <dc:creator>surenjamiyanaa</dc:creator>
      <dc:date>2025-11-12T17:56:17Z</dc:date>
    </item>
    <item>
      <title>General Availability of JavaScript Challenge in Azure Front Door WAF</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/general-availability-of-javascript-challenge-in-azure-front-door/ba-p/4466940</link>
      <description>&lt;P&gt;We are pleased to announce the General Availability (GA) of the JavaScript Challenge feature for Azure Web Application Firewall (WAF) on Azure Front Door. This capability equips organizations with a seamless, invisible anti-bot verification layer that distinguishes legitimate users from malicious scripts helping protect web applications from automated threats while preserving a smooth user experience.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Azure WAF JavaScript Challenge&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Modern bot attacks are increasingly evasive, often bypassing traditional defenses like IP based blocking or simple rate limits. The JavaScript Challenge introduces a lightweight, browser-based verification step that helps distinguish legitimate users from automated scripts without requiring user interaction. Benefits of the JavaScript Challenge include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Low friction for legitimate users:&lt;/STRONG&gt; Genuine users experience minimal latency or interruption since no manual interaction is required.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Stronger bot protection:&lt;/STRONG&gt; Automated tools and scripts fail to pass the computational challenge, enabling more effective blocking of bad bots.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Flexible enforcement:&lt;/STRONG&gt; You can target specific endpoints (e.g., login, registration, checkout flows), apply to bot manager or custom rules, and adjust cookie lifetimes to align with your user experience goals.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How JavaScript Challenge Works&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The JavaScript Challenge is configured as an action in either custom rules or in the &amp;nbsp;Bot Manager ruleset. When a client’s HTTP/S request matches a rule with this action, Azure WAF directs the browser to a lightweight challenge page. The page runs a short computational task automatically usually invisible to the user.&lt;/P&gt;
&lt;P&gt;If the browser successfully completes the computation, the request is validated and allowed to proceed, confirming that it originated from a legitimate user. If the challenge fails, the request will be blocked, preventing automated bots from accessing the application.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Getting Started&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you have been using JavaScript Challenge during the public preview, your existing configurations will continue to work. For new users, simply enable the JavaScript Challenge action in your WAF policy and define the triggering conditions&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;For more details on configuration and best practices, check out our earlier blogs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/azure-waf-public-preview-javascript-challenge/4188302" target="_blank" rel="noopener"&gt;Azure WAF Public Preview: JavaScript Challenge | Microsoft Community Hub&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/azure-waf%E2%80%99s-bot-manager-1-1-and-javascript-challenge-navigating-the-bot-threat-t/4249652" target="_blank" rel="noopener"&gt;Azure WAF’s Bot Manager 1.1 and JavaScript Challenge: Navigating the Bot Threat Terrain | Microsoft Community Hub&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Documentation&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/waf-javascript-challenge" target="_blank" rel="noopener"&gt;Web Application Firewall JavaScript Challenge | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Nov 2025 14:33:07 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/general-availability-of-javascript-challenge-in-azure-front-door/ba-p/4466940</guid>
      <dc:creator>andrewmathu</dc:creator>
      <dc:date>2025-11-13T14:33:07Z</dc:date>
    </item>
    <item>
      <title>Using Packet Capture for troubleshooting Azure Firewall flows</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/using-packet-capture-for-troubleshooting-azure-firewall-flows/ba-p/4466692</link>
      <description>&lt;P&gt;This blog is written in collaboration with @GustavoModena&lt;/P&gt;
&lt;H2&gt;Introduction&lt;/H2&gt;
&lt;P&gt;Azure Firewall is a cloud-native and intelligent network firewall security service that provides best of breed threat protection for your cloud workloads running in Azure. It’s a fully stateful firewall as a service with built-in high availability and unrestricted cloud scalability. Azure Firewall provides both east-west and north-south traffic inspection, and it is offered in three SKUs: Basic, Standard and Premium.&lt;/P&gt;
&lt;P&gt;Azure Firewall also brings powerful logs and metrics to monitor your traffic and operations within the firewall. These logs and metrics include Traffic Analysis, Performance and Health Metrics, and Audit Trail. However, there are situations where you may need a comprehensive network packet capture to troubleshoot and investigate an incident reported by users. We are happy to announce that Microsoft just released the new Packet capture feature and it is Generally Available for Azure Firewall.&lt;/P&gt;
&lt;P&gt;The Packet capture feature in Azure Firewall is intended for troubleshooting purposes and will allow customers and engineers to debug connectivity issues by tracing packets passing through their Azure Firewall. &amp;nbsp;&lt;STRONG&gt;Azure Firewall Packet Capture shows two packets per flow, one for incoming direction and one for outgoing direction&lt;/STRONG&gt;, so you can accurately correlate requests and responses during troubleshooting.&lt;/P&gt;
&lt;H2&gt;What is a network packet capture?&lt;/H2&gt;
&lt;P&gt;Network packet capture is a process that involves capturing network packets as they traverse a network interface. It's a valuable tool for network troubleshooting, analysis, and security monitoring.&lt;/P&gt;
&lt;P&gt;A network packet capture involves intercepting Internet Protocol (IP) packets for analysis and then saving the packets captured to output files, typically saved in the “.pcap” file extension. Network engineers often utilize packet capturing for troubleshooting and monitoring network traffic to identify security threats. In the event of a data breach or other incident, packet captures offer essential forensic evidence that supports investigations. From a malicious actor’s viewpoint, packet captures can be used to steal passwords and other sensitive data. Unlike active reconnaissance techniques like port scanning, packet capturing can be conducted covertly, leaving no trace for investigators.&lt;/P&gt;
&lt;H2&gt;How Does a Packet Capture Work?&lt;/H2&gt;
&lt;P&gt;Packet captures can be performed using networking equipment like routers, firewalls or switches, or even an engineer’s laptop or desktop. Regardless of the method, packet capture involves creating copies of some or all packets passing through a particular point in the network.&lt;/P&gt;
&lt;P&gt;Capturing packets from a specific device on the network is the simplest way to start troubleshooting, but there are a few caveats. By default, network interfaces only monitor traffic destined for them. For a more comprehensive view of network traffic, you’ll need to set the interface to promiscuous mode or monitor mode. Many routers, firewalls and other network devices have embedded packet capture functions that can be used to quickly troubleshoot directly from the device's admin console. This capability is now available in Azure Firewall.&lt;/P&gt;
&lt;H2&gt;Scenario (VNET to VNET)&lt;/H2&gt;
&lt;P&gt;In this blog we have &lt;STRONG&gt;VM-1 (10.10.0.4)&lt;/STRONG&gt; unsuccessfully trying to establish &lt;STRONG&gt;HTTP (TCP 80)/HTTPS (TCP 443)&lt;/STRONG&gt; connection to &lt;STRONG&gt;VM-2 (10.10.0.132)&lt;/STRONG&gt; via Azure Firewall.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;H2&gt;Using Azure Firewall Packet Capture to investigate the connection issue&lt;/H2&gt;
&lt;P&gt;In this section, we will use Azure Firewall Packet Capture to understand why an HTTP/HTTPS connection between VM-1 and VM-2 is not working properly. For this demonstration, we are not going to review the rules and Azure Firewall logs, as the purpose of the blog is to demonstrate the new Packet Capture feature, and we are assuming that the Azure Firewall is configured correctly.&lt;/P&gt;
&lt;P&gt;Let’s start by making sure that we have all the required resources to take the packet captures from Azure Firewall:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Azure Firewall with Management NIC enabled&lt;/LI&gt;
&lt;LI&gt;Storage account with a container in which you can store the packet captures&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Once you have all the required resources available, follow the next steps to start running a Packet Capture via Azure Firewall:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create a SAS URL to the container in the storage account: In the Azure Portal go to Storage Account &amp;gt; Containers and select the 3 ellipses at the very right side of the name of the container that you want to use to store the packet captures and select “Generate SAS”.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL start="2"&gt;
&lt;LI&gt;When defining the parameters of the SAS select “Write” under Permissions, so Azure Firewall will be able to successfully save the packet captures. Then click on “&lt;STRONG&gt;Generate SAS token and URL&lt;/STRONG&gt;”.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;P class="lia-clear-both"&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL start="3"&gt;
&lt;LI&gt;Now, we must go to the Azure Firewall &amp;gt; Packet Capture (under Help) to start running the packet capture.&lt;/LI&gt;
&lt;LI&gt;On the Packet Capture page, provide the following information:&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL&gt;
&lt;LI&gt;Packet capture name - the name of one or more capture files.&lt;/LI&gt;
&lt;LI&gt;Output SAS URL - the SAS URL of the storage container you created previously.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL start="5"&gt;
&lt;LI&gt;Next, complete the Basic settings for the packet capture:&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL&gt;
&lt;LI&gt;Maximum number of packets - You should limit the packet capture to a set number of packets.&lt;/LI&gt;
&lt;LI&gt;Time limit (seconds) - Since the packet capture is intended for troubleshooting purposes, you should limit the capture time.&lt;/LI&gt;
&lt;LI&gt;Protocols - the protocols you want the capture to save (values: Any, TCP, UDP, ICMP).&lt;/LI&gt;
&lt;LI&gt;TCP Flags - if TCP or Any is selected, you can select which types of packets to save (values: FIN, SYN, RST, PSH, ACK, URG)&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="lia-indent-padding-left-60px"&gt;If both the Maximum number of packets and Time limit are set, the capture ends when the earliest condition is met. So, either when the maximum number of packets is received or when the time limit is reached.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL start="6"&gt;
&lt;LI&gt;In the Filtering section, you can add the source, destination, and destination ports to include in the capture. You &lt;STRONG&gt;&lt;U&gt;must&lt;/U&gt;&lt;/STRONG&gt; add at least one filter.&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
&lt;LI style="list-style-type: none;"&gt;
&lt;UL&gt;
&lt;LI&gt;The packet capture saves bidirectional traffic that matches each row in the filter section.&lt;/LI&gt;
&lt;LI&gt;For the source and destination fields you can list multiple commas separated values in a single filter including IP addresses and IP blocks.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;OL start="7"&gt;
&lt;LI&gt;Select Run Packet Capture after you're done with your configuration.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;P class="lia-clear-both"&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL start="8"&gt;
&lt;LI&gt;Once the packet capture is complete, you will navigate to the container used in the storage account and download the pcap files. Note that you will see multiple pcap files, this is because each virtual machine in the backend of the firewall has its own file.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;H2&gt;Analyzing the Packet Captures&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;When using Azure Firewall Packet Capture, you will always see two packets for every single packet in the flow. This is because the firewall captures both the incoming and outgoing directions of the traffic. Understanding this behavior is critical for accurate troubleshooting, as it ensures you can correlate the original request with its corresponding response. The additional scenarios below will explain how to match these incoming and outgoing flows effectively.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;To analyze the pcap files you need a network protocol analyzer tool. In this blog we are using&amp;nbsp;&lt;A href="https://www.bing.com/ck/a?!&amp;amp;&amp;amp;p=1f1590f0dcc994e8JmltdHM9MTcyMTYwNjQwMCZpZ3VpZD0wNTliZGM4Yy0wNjcyLTY4YTgtMzg3Mi1jOGIzMDc1ZTY5OWYmaW5zaWQ9NTU0NQ&amp;amp;ptn=3&amp;amp;ver=2&amp;amp;hsh=3&amp;amp;fclid=059bdc8c-0672-68a8-3872-c8b3075e699f&amp;amp;psq=download+wireshark&amp;amp;u=a1aHR0cHM6Ly93d3cud2lyZXNoYXJrLm9yZy9kb3dubG9hZC5odG1s&amp;amp;ntb=1" target="_blank" rel="noopener"&gt;Wireshark&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;Note&lt;/U&gt;&lt;/STRONG&gt;: The intent of this blog is not to show how to use it nor to do advanced troubleshooting using Wireshark.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the pcap files downloaded to your computer, open the files to start your investigation. Since we have multiple files due to the number of active Azure Firewall instances at the time of the packet capture, it may be easier to merge the files. To merge the pcap files, first open one of them using Wireshark and then go to File &amp;gt; Merge and select the second file. There are different ways to merge them, but here we are using “Merge packets chronologically”.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;Once the pcap files are merged, you will start your investigation by using filters. In this scenario, we want to investigate why an HTTP request from VM-1 to VM-2 on port TCP 80 is not working, and we are using the following filter:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Wireshark filter: tcp.port==80 &amp;amp;&amp;amp; tcp.port==50245 &amp;amp;&amp;amp; ip.addr==10.10.0.132 &lt;STRONG&gt;&lt;EM&gt;(VM-2’s IP address)&lt;/EM&gt;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;Ok, so here we can see that VM-1 (10.10.0.4) sends a SYN packet from port 53945 to VM-2 (10.10.0.132) on port 80, then VM-2 sends a reset back to VM-1. This behavior shows us that the traffic is successfully passing through Azure Firewall (allowed), and the issue may possibly be something on VM-2. After involving the application team, they have found an issue related to the IIS configuration and it is now fixed as we can see the TCP request being established on ports 80 and 443 in the screenshot below.&lt;/P&gt;
&lt;img /&gt;
&lt;H2&gt;Other Scenarios&lt;/H2&gt;
&lt;H3&gt;DNAT (Inbound traffic)&lt;/H3&gt;
&lt;P&gt;In this scenario we are connecting from a client via Internet to the Azure Firewall’s public IP, using DNAT rules on port 8443. You can see in the screenshot below the incoming request (TCP 3-way handshake) and all the hops until it gets to the Web Server. L3 (and source IP) differs from the incoming packet since its SNATed at L3 while L4 remains the same. For taking the packet capture in this scenario, we are using the following filters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Source: 71.28.90.56,52.176.62.243,10.10.0.64/26,10.10.0.128/26&lt;/LI&gt;
&lt;LI&gt;Destination: 71.28.90.56,52.176.62.243,10.10.0.64/26,10.10.0.128/26&lt;/LI&gt;
&lt;LI&gt;Destination ports: 8443,443&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Check below to understand what each one of the IP/IP ranges and ports are used as filters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Client Public IP: 71.28.90.56&lt;/LI&gt;
&lt;LI&gt;Azure Firewall Public IP: 52.176.62.243&lt;/LI&gt;
&lt;LI&gt;Azure Firewall Instance Private IP: 10.10.0.69 (this IP is included in the IP range 10.10.0.64/26)&lt;/LI&gt;
&lt;LI&gt;Web Server Private IP: 10.10.0.132 (this IP is included in the IP range 10.10.0.128/26&lt;/LI&gt;
&lt;LI&gt;Azure Firewall Listening Port: 8443&lt;/LI&gt;
&lt;LI&gt;Web Server Listening (translated) Port: 443&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In DNAT scenarios, you will notice &lt;STRONG&gt;two SYN packets for the same flow&lt;/STRONG&gt;. &lt;STRONG&gt;SYN 1&lt;/STRONG&gt; represents the incoming packet with its original 5-tuple (source IP, destination IP, source port, destination port, protocol), while &lt;STRONG&gt;SYN 2&lt;/STRONG&gt; corresponds to the same flow but with a different 5-tuple after translation by Azure Firewall. This behavior contrasts with VNET-to-VNET flows, where the 5-tuple remains unchanged.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When you are SNATing, connecting to/from the Internet, or processing application rules, to see both incoming and outgoing packets you need to make sure that both Public IP address and subnet address space are included.&lt;/P&gt;
&lt;H3&gt;Internet Access (Outbound traffic)&lt;/H3&gt;
&lt;P&gt;In this scenario, we are connecting from an Azure VM to the public IP via Azure Firewall using Network rules. The screenshot illustrates the TCP three-way handshake followed by the HTTP GET request. Notice two SYN packets: one originating from the client to the destination and another from the Azure Firewall instance IP to the destination. In the first two lines, packets flow from the Azure VM IP to the external public IP, followed by the SNATed packet from the Azure Firewall instance IP to the same external address. For this packet capture, the following filters were applied:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Source: 10.10.0.132, 10.10.0.0/26&lt;/LI&gt;
&lt;LI&gt;Destination: 151.101.195.5&lt;/LI&gt;
&lt;LI&gt;Destination ports: 80,443&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Check below to understand what each one of the IP/IP ranges and ports are used as filters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Azure VM: 10.10.0.132&lt;/LI&gt;
&lt;LI&gt;Azure Firewall Subnet: 10.10.0.0/26 (10.10.0.5 is the instance IP)&lt;/LI&gt;
&lt;LI&gt;External Public IP: 151.101.195.5&lt;/LI&gt;
&lt;LI&gt;External Public IP Port: 80&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;H3&gt;Application Rule Traffic:&lt;/H3&gt;
&lt;P&gt;In this scenario, we are connecting from an Azure VM to the public IP via Azure Firewall using Application rules. While the original request originates from the VM with source IP 10.0.2.4, the Layer 4 details differ from the incoming packet because, during application rule evaluation, the firewall establishes a new outbound connection acting as a proxy. As shown in the image, the SNAT IP of the Azure Firewall instance (10.0.0.5) initiates the connection to the public IP 140.82.112.4. HTTP or TLS keys can be used to match incoming and outgoing packets. L7 remains the same. For packet capture in this scenario, the following filters are applied:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Source: 10.0.2.4, 10.0.0.0/24&lt;/LI&gt;
&lt;LI&gt;Destination: 140.82.112.4&lt;/LI&gt;
&lt;LI&gt;Destination ports: 80,443&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Check below to understand what each one of the IP/IP ranges and ports are used as filters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Azure VM: 10.0.2.4&lt;/LI&gt;
&lt;LI&gt;Azure Firewall Subnet: 10.0.0.0/24 (10.10.0.5 is the instance SNAT IP)&lt;/LI&gt;
&lt;LI&gt;External Public IP: 140.82.112.4&lt;/LI&gt;
&lt;LI&gt;External Public IP Port: 80,443&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;VNET to VNET with SNAT:&lt;/H3&gt;
&lt;P&gt;In this scenario, the client VM 10.1.0.4 initiates the connection to the server VM 10.0.2.4 but we have enabled SNAT to happen by default. So, the Firewall’s Private IP 172.16.0.5 (SNAT) will initiate a connection with the destination web server as we can see in the below image. For packet capture in this scenario, the following filters are applied:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Source: 10.1.0.4, 172.16.0.0/24&lt;/LI&gt;
&lt;LI&gt;Destination: 10.2.0.4&lt;/LI&gt;
&lt;LI&gt;Destination ports: 80,443&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Check below to understand what each one of the IP/IP ranges and ports are used as filters:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Azure VM: 10.1.0.4&lt;/LI&gt;
&lt;LI&gt;Azure Firewall Subnet: 172.16.0.0/24 (172.16.0.5 is the instance SNAT IP)&lt;/LI&gt;
&lt;LI&gt;Web Server Private IP: 10.2.0.4&lt;/LI&gt;
&lt;LI&gt;Web Server Port: 80&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;The availability of Azure Firewall Packet Capture is crucial for effective network and security troubleshooting. It allows network administrators and security professionals to monitor, analyze, and diagnose network traffic in real-time, providing invaluable insights into potential issues and vulnerabilities. By capturing and examining data packets, they can identify anomalies, detect malicious activities, and ensure the integrity and performance of the network. This proactive approach not only enhances the overall security posture but also minimizes downtime and improves the reliability of network services, making packet capture an indispensable tool in the modern IT landscape.&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 15:14:04 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/using-packet-capture-for-troubleshooting-azure-firewall-flows/ba-p/4466692</guid>
      <dc:creator>ShabazShaik</dc:creator>
      <dc:date>2025-11-12T15:14:04Z</dc:date>
    </item>
    <item>
      <title>Public Preview: Custom WAF Block Status &amp; Body for Azure Application Gateway</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/public-preview-custom-waf-block-status-body-for-azure/ba-p/4467435</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Azure Application Gateway Web Application Firewall (WAF) now supports &lt;STRONG&gt;custom HTTP status codes&lt;/STRONG&gt; and &lt;STRONG&gt;custom response bodies&lt;/STRONG&gt; for blocked requests. This &lt;STRONG&gt;Public Preview&lt;/STRONG&gt; feature gives you more control over user experience and client-side handling, aligning with capabilities already available on Azure Front Door WAF.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why this matters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Previously, WAF returned a fixed 403 response with a generic message. Now you can:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Set a custom status code&lt;/STRONG&gt; (e.g., 403, 429) to match your app logic.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Provide a custom response body&lt;/STRONG&gt; (e.g., a friendly error page or troubleshooting steps).&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Ensure consistency&lt;/STRONG&gt; across all blocked requests under WAF policy.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This feature improves user experience (UX), helps with compliance, and simplifies troubleshooting.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Key &lt;/STRONG&gt;&lt;STRONG&gt;capabilities&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Custom Status Codes:&lt;/STRONG&gt; Allowed values: 200, 403, 405, 406, 429, 990–999.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Custom Response Body:&lt;/STRONG&gt; Up to &lt;STRONG&gt;32 KB&lt;/STRONG&gt;, base64-encoded for ARM/REST.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Policy-level setting:&lt;/STRONG&gt; Applies to all blocked requests under that WAF policy.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Limit:&lt;/STRONG&gt; Up to &lt;STRONG&gt;20 WAF policies&lt;/STRONG&gt; with custom block response per Application Gateway.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Configure in the Azure Portal&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Follow these steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Sign in&lt;/STRONG&gt; to the &lt;A href="https://portal.azure.com" target="_blank"&gt;https://portal.azure.com&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;Navigate to your &lt;STRONG&gt;WAF Policy&lt;/STRONG&gt; linked to the Application Gateway.&lt;/LI&gt;
&lt;LI&gt;Under &lt;STRONG&gt;Settings&lt;/STRONG&gt;, select &lt;STRONG&gt;Policy settings&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Custom block response&lt;/STRONG&gt; section:&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Block response status code&lt;/STRONG&gt;: Choose from allowed values (e.g., 403 or 429).&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Block response body&lt;/STRONG&gt;: Enter your custom message (plain text or HTML).&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Save&lt;/STRONG&gt; the policy.&lt;/LI&gt;
&lt;LI&gt;Apply the policy to your Application Gateway if not already associated.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Configure via CLI&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="html"&gt;az network application-gateway waf-policy update \
--name MyWafPolicy \
--resource-group MyRG \
--custom-block-response-status-code 429 \
--custom-block-response-body "$(base64 custompage.html)"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Configure via PowerShell&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="html"&gt;Set-AzApplicationGatewayFirewallPolicy `
-Name MyWafPolicy `
-ResourceGroupName MyRG `
-CustomBlockResponseStatusCode 429 `
-CustomBlockResponseBody (Get-Content custompage.html -Encoding Byte | [System.Convert]::ToBase64String)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Tip:&lt;/STRONG&gt; For ARM/REST, the body must be base64-encoded.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Best practices&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Use &lt;STRONG&gt;meaningful status codes&lt;/STRONG&gt; (e.g., 429 for rate limiting).&lt;/LI&gt;
&lt;LI&gt;Keep the response body lightweight and informative.&lt;/LI&gt;
&lt;LI&gt;Test thoroughly to ensure downstream systems handle custom codes correctly.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Resources&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="•%09https:/learn.microsoft.com/en-us/azure/web-application-firewall/ag/configure-custom-response-code" target="_blank"&gt;Configure Custom Response code&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="•%09https:/learn.microsoft.com/en-us/azure/web-application-firewall/ag/ag-overview" target="_blank"&gt;Learn more about Application Gateway WAF&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Nov 2025 15:28:03 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/public-preview-custom-waf-block-status-body-for-azure/ba-p/4467435</guid>
      <dc:creator>SaleemBseeu</dc:creator>
      <dc:date>2025-11-05T15:28:03Z</dc:date>
    </item>
    <item>
      <title>General Availability of CAPTCHA in Azure Front Door WAF</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/general-availability-of-captcha-in-azure-front-door-waf/ba-p/4464704</link>
      <description>&lt;P&gt;We are excited to announce the General Availability (GA) of the Azure Web Application Firewall (WAF) CAPTCHA challenge for Azure Front Door, empowering customers to better defend their web applications against automated bot attacks while ensuring legitimate users can still access their apps seamlessly.&lt;/P&gt;
&lt;P&gt;This milestone marks the culmination of a successful public preview that saw hundreds of customers defend against more than 700 million bot requests, reinforcing the value of interactive security mechanisms in modern web application protection.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why CAPTCHA Matters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Web applications today face an ever-growing array of automated threats - bots, scrapers, credential stuffing, and brute-force attacks - that often bypass traditional defenses like IP blocking and rate limiting. CAPTCHA introduces a human verification layer that helps distinguish legitimate users from malicious automation.&lt;/P&gt;
&lt;P&gt;With this GA release, Azure Front Door WAF now offers a fully supported CAPTCHA action that can be configured in custom rules or Bot Manager rules. When suspicious traffic matches a CAPTCHA-enabled rule, users are prompted with a visual or audio challenge to verify their identity before proceeding.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How CAPTCHA Works&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;When a client request matches a WAF rule that has the CAPTCHA action enabled, Azure WAF displays an interactive CAPTCHA challenge in the browser to verify that the requester is human.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If the user successfully solves the CAPTCHA, Azure WAF marks the request as validated and allows it to proceed through the rest of the rule evaluation.&lt;/LI&gt;
&lt;LI&gt;Requests that don’t complete the challenge (or fail it) are blocked, stopping automated bots from advancing.&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What’s New in GA&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;With the GA release, customers can expect:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Updated Interstitial Page:&lt;/STRONG&gt; The CAPTCHA page now includes refreshed Microsoft branding, delivering a more consistent and trusted experience for users.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Enhanced Stability and Performance&lt;/STRONG&gt;: Improvements based on feedback from preview deployments to ensure faster response times and smoother user verification experiences.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Full Production Support:&lt;/STRONG&gt; The feature is now backed by Microsoft’s service-level agreement (SLA) and is recommended for all production workloads.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;How to Get Started&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you have already been using CAPTCHA during the public preview, no action is needed, your configurations will continue to work as expected. For new users, simply enable the CAPTCHA action within your custom rules or managed rule sets and define the triggering conditions.&lt;/P&gt;
&lt;P&gt;For a deeper dive into how CAPTCHA works and how to configure it, check out our earlier blogs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/securing-web-applications-with-azure-front-door-waf-captcha/4416502" target="_blank" rel="noopener"&gt;Securing web applications with Azure Front Door WAF CAPTCHA | Microsoft Community Hub&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurenetworksecurityblog/public-preview-of-azure-waf-captcha-challenge-for-azure-front-door/4407647" target="_blank" rel="noopener"&gt;Public Preview of Azure WAF CAPTCHA Challenge for Azure Front Door | Microsoft Community Hub&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Documentation&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/captcha-challenge" target="_blank" rel="noopener"&gt;Azure Front Door Web Application Firewall CAPTCHA | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Oct 2025 18:00:25 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/general-availability-of-captcha-in-azure-front-door-waf/ba-p/4464704</guid>
      <dc:creator>andrewmathu</dc:creator>
      <dc:date>2025-10-29T18:00:25Z</dc:date>
    </item>
    <item>
      <title>Prescaling in Azure Firewall is now generally available</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/prescaling-in-azure-firewall-is-now-generally-available/ba-p/4461584</link>
      <description>&lt;P&gt;Azure Firewall protects your applications and workloads with cloud-native network security that automatically scales based on your traffic needs. Today, we’re excited to announce&lt;STRONG&gt; the general availability of prescaling in Azure Firewall&lt;/STRONG&gt;&amp;nbsp;– a new capability that gives you more control and predictability over how your firewall scales. &amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Why pre-scaling?&lt;/H3&gt;
&lt;P&gt;Today, Azure Firewall automatically scales in response to real-time traffic demand. For organizations with &lt;STRONG&gt;predictable traffic patterns&lt;/STRONG&gt; – such as seasonal events, business campaigns, holidays, or planned migrations – the ability to plan capacity in advance can provide greater confidence and control.&lt;/P&gt;
&lt;P&gt;That’s where prescaling comes in.&lt;/P&gt;
&lt;P&gt;With prescaling, you can:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Plan ahead&lt;/STRONG&gt;– Set a baseline number of firewall capacity units to ensure capacity is already in place before demand rises.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Stay flexible &lt;/STRONG&gt;– Define both minimum and maximum capacity unit values, so your firewall always has room to grow while staying within your chosen bounds.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;See clearly &lt;/STRONG&gt;– Monitor capacity trends with a new&amp;nbsp;&lt;STRONG&gt;o&lt;/STRONG&gt;&lt;STRONG&gt;bserved capacity metric &lt;/STRONG&gt;and configure alerts to know when scaling events occur.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;You can think of it as adding extra checkout counters before a holiday rush – when the customers arrive, you’re already prepared to serve them without delays or bottlenecks.&lt;/P&gt;
&lt;H3&gt;Example scenarios&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;E-commerce sales events &lt;/STRONG&gt;– Scale up before a holiday shopping promotion to handle the surge in online buyers.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Workload migrations &lt;/STRONG&gt;– Ensure sufficient capacity is ready during a large data or VM migration window.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Seasonal usage &lt;/STRONG&gt;– For industries like education, gaming, or media streaming, pre-scale ahead of known peak seasons.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Getting started in Azure Portal&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Navigate to your &lt;STRONG&gt;Azure Firewall resource&lt;/STRONG&gt; in the Azure Portal.&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;Scaling options&lt;/STRONG&gt; in settings.&lt;/LI&gt;
&lt;LI&gt;By default, every Azure Firewall starts in &lt;STRONG&gt;autoscaling mode&lt;/STRONG&gt;. To enable &lt;STRONG&gt;prescaling, &lt;/STRONG&gt;simply switch to pre-scaling mode in the Azure Portal and configure your desired capacity range:&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Minimum capacity: &lt;/STRONG&gt;2 or higher.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Maximum capacity: &lt;/STRONG&gt;up to 50, depending on your needs.&lt;/LI&gt;
&lt;LI&gt;Monitor the scaling behavior with the&amp;nbsp;&lt;STRONG&gt;o&lt;/STRONG&gt;&lt;STRONG&gt;bserved capacity&lt;/STRONG&gt; &lt;STRONG&gt;metric&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;H3&gt;Billing and availability&lt;/H3&gt;
&lt;P&gt;Pre-scaling uses a new &lt;STRONG&gt;Capacity Unit Hour&lt;/STRONG&gt; meter. Charges apply based on the number of firewall instances you configure.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Standard&lt;/STRONG&gt;: $0.07 per capacity unit hour&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Premium&lt;/STRONG&gt;: $0.11 per capacity unit hour&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;✨ Next steps&lt;/P&gt;
&lt;P&gt;Prescaling gives you &lt;STRONG&gt;predictable performance and proactive control&lt;/STRONG&gt; over your firewall, helping you confidently handle the traffic patterns that matter most to your business.&lt;/P&gt;
&lt;P&gt;🚀 &lt;STRONG&gt;Try prescaling today and share your feedback with the team.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Learn more about how to configure and monitor this feature in the &lt;A href="https://aka.ms/azfwprescaling" target="_blank" rel="noopener"&gt;Azure Firewall prescaling&lt;/A&gt; documentation.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Oct 2025 18:00:59 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/prescaling-in-azure-firewall-is-now-generally-available/ba-p/4461584</guid>
      <dc:creator>surenjamiyanaa</dc:creator>
      <dc:date>2025-10-16T18:00:59Z</dc:date>
    </item>
    <item>
      <title>How Azure network security can help you meet NIS2 compliance</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/how-azure-network-security-can-help-you-meet-nis2-compliance/ba-p/4457285</link>
      <description>&lt;P&gt;With the adoption of the NIS2 Directive EU 2022 2555, cybersecurity obligations for both public and private sector organizations have become more strict and far reaching. NIS2 aims to establish a higher common level of cybersecurity across the European Union by enforcing stronger requirements on risk management, incident reporting, supply chain protection, and governance.&lt;/P&gt;
&lt;P&gt;If your organization runs on Microsoft Azure, you already have powerful services to support your NIS2 journey. In particular Azure network security products such as Azure Firewall, Azure Web Application Firewall WAF, and Azure DDoS Protection provide foundational controls. The key is to configure and operate them in a way that aligns with the directive’s expectations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Important note This article is a technical guide based on the NIS2 Directive EU 2022 2555 and Microsoft product documentation. It is not legal advice. For formal interpretations, consult your legal or regulatory experts.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG style="color: rgb(30, 30, 30); font-size: 32px;"&gt;What is NIS2?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;NIS2 replaces the original NIS Directive 2016 and entered into force on 16 January 2023. Member states must transpose it into national law by 17 October 2024. Its goals are to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Expand the scope of covered entities essential and important entities&lt;/LI&gt;
&lt;LI&gt;Harmonize cybersecurity standards across member states&lt;/LI&gt;
&lt;LI&gt;Introduce stricter supervisory and enforcement measures&lt;/LI&gt;
&lt;LI&gt;Strengthen supply chain security and reporting obligations&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Key provisions include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Article 20 management responsibility and governance&lt;/LI&gt;
&lt;LI&gt;Article 21 cybersecurity risk management measures&lt;/LI&gt;
&lt;LI&gt;Article 23 incident notification obligations&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;These articles require organizations to implement technical, operational, and organizational measures to manage risks, respond to incidents, and ensure leadership accountability.&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;Where Azure network security fits&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;The table below maps common NIS2 focus areas to Azure network security capabilities and how they support compliance outcomes.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;NIS2 focus area&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Azure services and capabilities&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;How this supports compliance&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Incident handling and detection&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Azure Firewall Premium IDPS and TLS inspection, Threat Intelligence mode, Azure WAF managed rule sets and custom rules, Azure DDoS Protection, Azure Bastion diagnostic logs&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Detect, block, and log threats across layers three to seven. Provide telemetry for triage and enable response workflows that are auditable.&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Business continuity and resilience&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Azure Firewall availability zones and autoscale, Azure Front Door or Application Gateway WAF with zone redundant deployments, Azure Monitor with Log Analytics, Traffic Manager or Front Door for failover&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Improve service availability and provide data for resilience reviews and disaster recovery scenarios.&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Access control and segmentation&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Azure Firewall policy with DNAT, network, and application rules, NSGs and ASGs,&lt;STRONG&gt; &lt;/STRONG&gt;Azure Bastion for browser based RDP SSH without public IPs, Private Link&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Enforce segmentation and isolation of critical assets. Support Zero Trust and least privilege for inbound and egress.&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Vulnerability and misconfiguration defense&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Azure WAF Microsoft managed rule set based on OWASP CRS. Azure Firewall Premium IDPS signatures&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Reduce exposure to common web exploits and misconfigurations for public facing apps and APIs.&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Encryption and secure communications&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;TLS policy&lt;/STRONG&gt;: Application Gateway SSL policy; Front Door TLS policy; App Service/PaaS minimum TLS. &lt;STRONG&gt;Inspection&lt;/STRONG&gt;: Azure Firewall Premium TLS inspection&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Inspect and enforce encrypted communication policies and block traffic that violates TLS requirements. Inspect decrypted traffic for threats.&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;Incident reporting and evidence&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Azure Network Security diagnostics, Log Analytics, Microsoft Sentinel incidents, workbooks, and playbooks&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;Capture and retain telemetry. Correlate events, create incident timelines, and export reports to meet regulator timelines.&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;NIS2 articles in practice&lt;/STRONG&gt;&lt;/H2&gt;
&lt;H3&gt;&lt;STRONG&gt;Article 21 cybersecurity risk management measures&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;Azure network controls contribute to several required measures:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Prevention and detection. Azure Firewall blocks unauthorized access and inspects traffic with IDPS. Azure DDoS Protection mitigates volumetric and protocol attacks. Azure WAF prevents common web exploits based on OWASP guidance.&lt;/LI&gt;
&lt;LI&gt;Logging and monitoring. Azure Firewall, WAF, DDoS, and Bastion resources produce detailed resource logs and metrics in Azure Monitor. Ingest these into Microsoft Sentinel for correlation, analytics rules, and automation.&lt;/LI&gt;
&lt;LI&gt;Control of encrypted communications. Azure Firewall Premium provides TLS inspection to reveal malicious payloads inside encrypted sessions.&lt;/LI&gt;
&lt;LI&gt;Supply chain and service provider management. Use Azure Policy and Defender for Cloud to continuously assess configuration and require approved network security baselines across subscriptions and landing zones.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;STRONG&gt;Article 23 incident notification&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;Build an evidence friendly workflow with Sentinel:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Early warning within twenty four hours. Use Sentinel analytics rules on Firewall, WAF, DDoS, and Bastion logs to generate incidents and trigger playbooks that assemble an initial advisory.&lt;/LI&gt;
&lt;LI&gt;Incident notification within seventy two hours. Enrich the incident with additional context such as mitigation actions from DDoS, Firewall and WAF.&lt;/LI&gt;
&lt;LI&gt;Final report within one month. Produce a summary that includes root cause, impact, and corrective actions. Use Workbooks to export charts and tables that back up your narrative.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;STRONG&gt;Article 20 governance and accountability&lt;/STRONG&gt;&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;Management accountability. Track policy compliance with Azure Policy initiatives for Firewall, DDoS and WAF. Use exemptions rarely and record justification.&lt;/LI&gt;
&lt;LI&gt;Centralized visibility. Defender for Cloud’s network security posture views and recommendations give executives and owners a quick view of exposure and misconfigurations.&lt;/LI&gt;
&lt;LI&gt;Change control and drift prevention. Manage Firewall, WAF, and DDoS through Network Security Hub and Infrastructure as Code with Bicep or Terraform. Require pull requests and approvals to enforce four eyes on changes.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;Network security baseline&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;Use this blueprint as a starting point. Adapt to your landing zone architecture and regulator guidance.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;Topology and control plane&lt;/STRONG&gt;
&lt;OL&gt;
&lt;LI&gt;Hub and spoke architecture with a centralized Azure Firewall Premium in the hub. Enable availability zones.&lt;/LI&gt;
&lt;LI&gt;Deploy Azure Bastion Premium in the hub or a dedicated management VNet; peer to spokes. Remove public IPs from management NICs and disable public RDP SSH on VMs.&lt;/LI&gt;
&lt;LI&gt;Use Network Security Hub for at-scale management.&lt;/LI&gt;
&lt;LI&gt;Require Infrastructure as Code for all network security resources.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;Web application protection&lt;/STRONG&gt;
&lt;OL&gt;
&lt;LI&gt;Protect public apps with Azure Front Door Premium WAF where edge inspection is required. Use Application Gateway WAF v2 for regional scenarios.&lt;/LI&gt;
&lt;LI&gt;Enable the Microsoft managed rule set and the latest version. Add custom rules for geo based allow or deny and bot management. enable rate limiting when appropriate.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;DDoS strategy&lt;/STRONG&gt;
&lt;OL&gt;
&lt;LI&gt;Enable DDoS Network Protection on virtual networks that contain internet facing resources. Use IP Protection for single public IP scenarios.&lt;/LI&gt;
&lt;LI&gt;Configure DDoS diagnostics and alerts. Stream to Sentinel. Define runbooks for escalation and service team engagement.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;Firewall policy&lt;/STRONG&gt;
&lt;OL&gt;
&lt;LI&gt;Enable IDPS in alert and then in alert and deny for high confidence signatures. Enable TLS inspection for outbound and inbound where supported.&lt;/LI&gt;
&lt;LI&gt;Enforce FQDN and URL filtering for egress. Require explicit allow lists for critical segments.&lt;/LI&gt;
&lt;LI&gt;Deny inbound RDP SSH from the internet. Allow management traffic only from Bastion subnets or approved management jump segments.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;Logging, retention, and access&lt;/STRONG&gt;
&lt;OL&gt;
&lt;LI&gt;Turn on diagnostic settings for Firewall, WAF, DDoS, and Application Gateway or Front Door. Send to Log Analytics and an archive storage account for long term retention.&lt;/LI&gt;
&lt;LI&gt;Set retention per national law and internal policy. Azure Monitor Log Analytics supports table-level retention and archive for up to 12 years, many teams keep a shorter interactive window and multi-year archive for audits.&lt;/LI&gt;
&lt;LI&gt;Restrict access with Azure RBAC and Customer Managed Keys where applicable.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt; &lt;/STRONG&gt;&lt;STRONG&gt;Automation and playbooks&lt;/STRONG&gt;
&lt;OL&gt;
&lt;LI&gt;Build Sentinel playbooks for regulator notifications, ticket creation, and evidence collection. Maintain dry run versions for exercises.&lt;/LI&gt;
&lt;LI&gt;Add analytics for Bastion session starts to sensitive VMs, excessive failed connection attempts, and out of hours access.&lt;/LI&gt;
&lt;/OL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;Conclusion&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;Azure network security services provide the technical controls most organizations need in order to align with NIS2. When combined with policy enforcement, centralized logging, and automated detection and response, they create a defensible and auditable posture.&lt;/P&gt;
&lt;P&gt;Focus on layered protection, secure connectivity, and real time response so that you can reduce exposure to evolving threats, accelerate incident response, and meet NIS2 obligations with confidence.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;&lt;STRONG&gt;References&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;NIS2 primary source&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;Directive (EU) 2022/2555 (NIS2)&lt;/EM&gt;. &lt;A href="https://eur-lex.europa.eu/eli/dir/2022/2555/oj/eng" target="_blank" rel="noopener"&gt;https://eur-lex.europa.eu/eli/dir/2022/2555/oj/eng&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Azure Firewall&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Premium features (TLS inspection, IDPS, URL filtering). &lt;A href="https://learn.microsoft.com/en-us/azure/firewall/premium-features" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/firewall/premium-features&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Deploy &amp;amp; configure Azure Firewall Premium. &lt;A href="https://learn.microsoft.com/en-us/azure/firewall/premium-deploy" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/firewall/premium-deploy&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;IDPS signature categories reference. &lt;A href="https://learn.microsoft.com/en-us/azure/firewall/idps-signature-categories" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/firewall/idps-signature-categories&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Monitoring &amp;amp; diagnostic logs reference. &lt;A href="https://learn.microsoft.com/en-us/azure/firewall/monitor-firewall-reference" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/firewall/monitor-firewall-reference&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Web Application Firewall &lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;WAF on Azure Front Door overview &amp;amp; features. &lt;A href="https://learn.microsoft.com/en-us/azure/frontdoor/web-application-firewall" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/frontdoor/web-application-firewall&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;WAF on Application Gateway overview. &lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/overview" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/web-application-firewall/overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Examine WAF logs with Log Analytics. &lt;A href="https://learn.microsoft.com/en-us/azure/application-gateway/log-analytics" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/application-gateway/log-analytics&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Rate limiting with Front Door WAF. &lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-rate-limit" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-rate-limit&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Azure DDoS Protection&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Service overview &amp;amp; SKUs (Network Protection, IP Protection). &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-protection-overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Quickstart: Enable DDoS IP Protection. &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/manage-ddos-ip-protection-portal" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/ddos-protection/manage-ddos-ip-protection-portal&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;View DDoS diagnostic logs (Notifications, Mitigation Reports/Flows). &lt;A href="https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-view-diagnostic-logs" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/ddos-protection/ddos-view-diagnostic-logs&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Azure Bastion&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Azure Bastion overview and SKUs. &lt;A href="https://learn.microsoft.com/en-us/azure/bastion/bastion-overview" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/bastion/bastion-overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Deploy and configure Azure Bastion. &lt;A href="https://learn.microsoft.com/en-us/azure/bastion/tutorial-create-host-portal" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/bastion/tutorial-create-host-portal&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Disable public RDP and SSH on Azure VMs. &lt;A href="https://learn.microsoft.com/en-us/azure/virtual-machines/security-baseline" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/virtual-machines/security-baseline&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Azure Bastion diagnostic logs and metrics. &lt;A href="https://learn.microsoft.com/en-us/azure/bastion/bastion-diagnostic-logs" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/bastion/bastion-diagnostic-logs&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft Sentinel&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Sentinel documentation (onboard, analytics, automation). &lt;A href="https://learn.microsoft.com/en-us/azure/sentinel/" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/sentinel/&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Azure Firewall solution for Microsoft Sentinel. &lt;A href="https://learn.microsoft.com/en-us/azure/firewall/firewall-sentinel-overview" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/firewall/firewall-sentinel-overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Use Microsoft Sentinel with Azure WAF. &lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/waf-sentinel" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/web-application-firewall/waf-sentinel&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Architecture &amp;amp; routing&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Hub‑spoke network topology (reference). &lt;A href="https://learn.microsoft.com/en-us/azure/architecture/networking/architecture/hub-spoke" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/architecture/networking/architecture/hub-spoke&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Azure Firewall Manager &amp;amp; secured virtual hub. &lt;A href="https://learn.microsoft.com/en-us/azure/firewall-manager/secured-virtual-hub" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/azure/firewall-manager/secured-virtual-hub&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Fri, 26 Sep 2025 15:18:07 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/how-azure-network-security-can-help-you-meet-nis2-compliance/ba-p/4457285</guid>
      <dc:creator>SaleemBseeu</dc:creator>
      <dc:date>2025-09-26T15:18:07Z</dc:date>
    </item>
    <item>
      <title>Azure DDoS Protection now supports QUIC protocol — Securing the future of HTTP/3 traffic</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/azure-ddos-protection-now-supports-quic-protocol-securing-the/ba-p/4456522</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The internet’s transport layer is undergoing one of its most significant evolutions in decades.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;QUIC&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; (Quick UDP Internet Connections) — the protocol underpinning &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;HTTP/3&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; — is rapidly becoming the default for high performance, secure communication on the web. From &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;YouTube &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;streaming to &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;WhatsApp &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;messaging, QUIC is already powering billions of connections daily.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Recognizing both its potential and its unique security challenges, Microsoft has now integrated &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;full QUIC mitigation capabilities into Azure DDoS Protection&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;. This protection is &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;enabled by default&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; — no configuration required — ensuring that customers adopting HTTP/3 can do so with confidence.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What is QUIC and why it matters&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;QUIC was originally developed by Google and standardized by the IETF in 2021 (RFC 9000). Unlike traditional HTTP/2 over TCP, QUIC runs over &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;UDP port 443&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, combining transport and security layers into a single handshake. This allows a secure, encrypted connection to be established in just one round trip — or even zero round trips for repeat connections.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Technical advantages of QUIC include:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Integrated TLS 1.3&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Encryption is built into the protocol, eliminating the need for separate TLS negotiation.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Multiplexed streams without head of line blocking&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Independent streams mean packet loss in one stream doesn’t stall others.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Connection migration&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — QUIC connections survive IP address changes, ideal for mobile devices switching between Wi-Fi and cellular.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="8" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Faster recovery from loss&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt; &lt;/STRONG&gt;— QUIC uses packet numbers instead of TCP sequence numbers, improving loss detection and retransmission.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;These features make QUIC ideal for latency sensitive workloads such as video streaming, online gaming, and real-time collaboration tools.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;The DDoS challenge for QUIC:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;While QUIC’s design improves performance and security, its reliance on UDP introduces a &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;distinct threat profile&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; that goes beyond traditional UDP floods. QUIC’s handshake, encryption model, and connection identifiers create &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;attack surfaces unique to the protocol&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key QUIC‑specific DDoS vectors include:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Initial Packet Floods with Fake Handshakes&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Attackers send large volumes of QUIC Initial packets containing incomplete or malformed TLS Client Hello messages.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;This forces the server to allocate cryptographic resources for each bogus attempt, consuming CPU and memory.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Connection ID Exhaustion&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;QUIC uses Connection IDs to maintain state across IP changes. Attackers can rapidly cycle through random Connection IDs to bypass per‑IP rate limits.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;This can overwhelm connection tracking tables.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Version Negotiation Abuse&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Attackers send unsupported or random QUIC version numbers to trigger repeated version negotiation responses from the server.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;This consumes bandwidth and processing without establishing a valid session.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Malformed Frame Injection&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;QUIC frames (STREAM, ACK, CRYPTO, etc.) can be deliberately malformed to trigger parsing errors or excessive error handling.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Unlike generic UDP payloads, these require QUIC‑aware inspection to detect.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Amplification via Retry Packets&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;QUIC Retry packets can be abused in reflection attacks if the server responds with larger payloads than the request.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;Attackers spoof victim IPs to direct amplified traffic toward them.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Why this is different from generic UDP floods:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Generic UDP attacks typically rely on raw packet volume or reflection from open services. QUIC attacks exploit &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;protocol‑level behaviors&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; — handshake processing, version negotiation, and Connection ID handling — that require &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;stateful, QUIC‑aware mitigation&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;. Traditional UDP filtering cannot distinguish between a legitimate QUIC Initial packet and a crafted one designed to exhaust resources.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;335559738&amp;quot;:240,&amp;quot;335559739&amp;quot;:240}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Azure DDoS Protection — QUIC mitigation [built-in]:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Azure DDoS Protection now supports QUIC mitigation by default. This enhancement applies to all customers automatically — no opt-in or no manual tuning is required.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Technical capabilities include:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Protocol Compliance Validation&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Ensures QUIC packets conform to RFC specifications, including fixed bit checks, version enforcement, and valid Connection ID lengths.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Initial Packet Verification&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Validates that QUIC initial packets contain a proper TLS Client Hello with Server Name Indication (SNI), blocking spoofed or incomplete handshakes.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Source &amp;amp; Destination Rate Limiting&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Controls excessive connection attempts per 4tuple (source IP, destination IP, source port, destination port).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Global Limit IDs (GLID)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Applies connection and packet rate limits globally across the mitigation platform.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Retry Authentication&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Issues a cryptographic cookie challenge to verify client authenticity before allowing session establishment.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="6" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Packet Rate Limiting by Connection ID&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Limits both long header (initial) and short header (post handshake) packet rates to prevent floods.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="7" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Malformed Packet Filtering&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Drops packets with unsupported frames, invalid versions, or missing headers.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="10" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="8" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Version Pinning&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; — Prevents downgrade attacks by enforcing negotiated QUIC versions.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;All existing Layer 4 protections for UDP traffic — such as flood detection, anomaly scoring, and adaptive thresholds — are fully applied to QUIC.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Real-world impact:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Without effective mitigation, QUIC based services are highly susceptible to a range of disruptive threats. UDP floods can quickly overwhelm servers, consume resources and render applications unresponsive. Amplification attacks, which exploit the stateless nature of UDP, can multiply inbound traffic by factors of ten to a hundred, creating massive spikes that cripple performance. Such attacks often lead to high packet loss, degraded user experiences, and service interruptions. They can also drive-up infrastructure costs significantly, as organizations are forced to handle large volumes of malicious traffic that consume bandwidth and processing power.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With Azure DDoS Protection in place, these risks are proactively addressed. Intelligent rate limiting and packet filtering mechanisms stop floods before they impact service availability. Spoofed packet blocking prevents reflection attacks from ever reaching the application layer. The result is a consistently reliable, low latency connection for QUIC enabled applications, even under hostile network conditions. By scrubbing malicious traffic before it reaches customer workloads, Azure also helps reduce operational costs, ensuring that resources are spent serving legitimate users rather than absorbing attack traffic.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Who benefits from QUIC DDoS mitigation:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The benefits of QUIC aware DDoS protection extend across industries and use cases. Web applications and APIs built on HTTP/3 gain the performance advantages of QUIC without inheriting its security risks. Streaming platforms such as YouTube or Twitch can deliver high quality, uninterrupted video experiences to millions of viewers, even during attempted network disruptions. Messaging and VoIP services like WhatsApp, Discord, and Zoom maintain crystal clear communication and low latency, which are critical for user satisfaction. Online gaming platforms, where milliseconds matter, can preserve smooth gameplay and prevent lag spikes caused by malicious traffic. Financial services and real-time transaction systems also stand to benefit, as they can maintain secure, uninterrupted operations in environments where downtime or delays could have significant business and compliance implications.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Looking ahead:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft is committed to continuously strengthening QUIC protection within Azure DDoS Protection. Efforts are already underway to expand mitigation capabilities ensuring broader coverage across the global network and to detect and neutralize threats faster and with greater precision, adapting to the evolving tactics of attackers. Just as importantly, Microsoft is actively gathering feedback from customers and internal teams to refine mitigation strategies, ensuring that QUIC protection remains both robust and aligned with real world usage patterns. These ongoing enhancements will help customers confidently adopt and scale QUIC based services, knowing that their performance and security are safeguarded by default.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Conclusion:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;QUIC is the future of fast, secure internet communication — and Azure DDoS Protection is ready for it. With &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;always-on, default-enabled QUIC mitigation&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, Azure customers can confidently adopt HTTP/3 without worrying about the unique DDoS risks that come with UDP based protocols.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Your applications stay fast. Your users stay connected. Your infrastructure stays protected.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 24 Sep 2025 09:13:29 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/azure-ddos-protection-now-supports-quic-protocol-securing-the/ba-p/4456522</guid>
      <dc:creator>ShabazShaik</dc:creator>
      <dc:date>2025-09-24T09:13:29Z</dc:date>
    </item>
    <item>
      <title>Monitoring web application traffic for configuring rate limit on Azure Front Door WAF</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/monitoring-web-application-traffic-for-configuring-rate-limit-on/ba-p/4454092</link>
      <description>&lt;H1&gt;Introduction&lt;/H1&gt;
&lt;P&gt;Azure Web Application Firewall (WAF) is a cloud-native service that actively protects web applications from common vulnerabilities and exploits. It also supports custom rules that allow fine-grained control over traffic. Among these custom rules is the rate-limiting feature available in both Azure Application Gateway and Azure Front Door. Rate limiting helps mitigate denial-of-service (DoS) attacks, prevents abuse from misconfigured clients sending excessive requests, and controls traffic from specific geographies. By limiting requests per client in a set time window, WAF keeps your app available and responsive even under heavy load.&lt;/P&gt;
&lt;P&gt;While rate limiting is a powerful tool for safeguarding web applications, some users struggle with configuring appropriate thresholds and durations. These two values often require tuning based on actual traffic patterns. Without proper planning or visibility into real traffic patterns, rate limit settings often end up being:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Too strict&lt;/STRONG&gt; – Blocking legitimate users and degrading user experience.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Too lenient&lt;/STRONG&gt; – Failing to stop abusive or malicious traffic.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This blog is the first in a two-part series designed to help users configure rate limiting in Azure Web Application Firewall (WAF). In this first part, we focus on Azure Front Door WAF and demonstrate how to use diagnostic logs to make informed, data-driven decisions about rate limit thresholds and durations. By analyzing real traffic patterns, you can configure rate limits that strike the right balance between security and usability, protecting your application without disrupting legitimate users.&lt;/P&gt;
&lt;H1&gt;Understanding rate limiting in Azure Front Door WAF&lt;/H1&gt;
&lt;P&gt;At its core, rate limiting is a mechanism that restricts the number of requests a client can make to a web application within a specified period. This helps prevent issues like brute-force login attacks, automated bots scraping data, or sudden traffic spikes. Azure Front Door WAF applies rate limiting through custom rules that monitor incoming requests according to specific match conditions.&lt;/P&gt;
&lt;P&gt;Key characteristics of rate limiting in Azure Front Door WAF include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Duration:&lt;/STRONG&gt; Can be set to 1 or 5 minutes.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Threshold&lt;/STRONG&gt;: Number of requests allowed in the time window.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Customizability match conditions:&lt;/STRONG&gt; You can match based on country (geolocation), IP address (remote address or socket address) request URI, HTTP method, and more.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Action:&lt;/STRONG&gt; What to do when the threshold is exceeded e.g., deny, log, redirect, JS Challenge (preview), CAPTCHA (preview).&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Below is an example of a rate limit rule configured in Azure Front Door WAF:&lt;/P&gt;
&lt;img /&gt;
&lt;H1&gt;Using diagnostic logs to configure WAF rate limiting&lt;/H1&gt;
&lt;P&gt;To configure effective rate limiting policies in Azure Front Door WAF, it is important to understand how users are accessing your application. Diagnostic logs from Azure Front Door provide this visibility. In this section, we’ll walk through:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Enabling diagnostic logs&lt;/LI&gt;
&lt;LI&gt;Querying traffic patterns with KQL&lt;/LI&gt;
&lt;LI&gt;Using insights to define smart thresholds and durations&lt;/LI&gt;
&lt;/OL&gt;
&lt;H2&gt;Enable diagnostic logs&lt;/H2&gt;
&lt;P&gt;In Azure Front Door:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Go to your Front Door profile.&lt;/LI&gt;
&lt;LI&gt;Under &lt;EM&gt;Monitoring&lt;/EM&gt;, select &lt;EM&gt;Diagnostic settings.&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt; &lt;/EM&gt;Click &lt;EM&gt;+ Add diagnostic setting.&lt;/EM&gt;&lt;/LI&gt;
&lt;LI&gt;Add a new setting to capture:
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;FrontDoor Access Log&lt;/EM&gt; – request level data.&lt;/LI&gt;
&lt;LI&gt;&lt;EM&gt;FrontDoor WebApplicationFirewall Log &lt;/EM&gt;– WAF rule matches.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Send logs to:
&lt;UL&gt;
&lt;LI&gt;Log Analytics workspace (recommended for querying),&lt;/LI&gt;
&lt;LI&gt;Storage account, or&lt;/LI&gt;
&lt;LI&gt;Event Hub.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Save the settings.&lt;/LI&gt;
&lt;/UL&gt;
&lt;img /&gt;
&lt;P&gt;When configuring rate limit rules in Azure Front Door WAF, you can choose either a 1-minute or 5-minute time window. While both options are supported, using a 5-minute window with a higher threshold can improve detection accuracy by reducing false positives. Rate limiting is applied per socket IP - the source IP as seen by Azure Front Door. If there's another CDN or proxy in front of Front Door, this IP may not represent the original client, which can affect how rate limits are enforced. Please refer to &lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-rate-limit" target="_blank" rel="noopener"&gt;Web application firewall rate limiting for Azure Front Door | Microsoft Learn&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;Analyze traffic behavior with KQL&lt;/H2&gt;
&lt;P&gt;With diagnostic logs flowing into your log analytics workspace, you can begin to understand actual request volumes, IP behavior, and trends across time. These insights form the basis for defining effective rate limits.&lt;/P&gt;
&lt;H3&gt;Query 1: Average requests per IP (5-minute intervals)&lt;/H3&gt;
&lt;P&gt;This first query provides the average number of requests each client IP sends over 5-minute windows. It helps establish a baseline of expected activity per user. Understanding the average request rate helps you distinguish between normal and abnormal behavior. It’s your starting point for setting a rate limit that won’t block legitimate users.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-background-color-17" border="1" style="width: 98.7037%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;AzureDiagnostics&lt;/P&gt;
&lt;P&gt;| where Category == "FrontDoorAccessLog"&lt;/P&gt;
&lt;P&gt;| summarize RequestsPerIP = count() by clientIp_s, bin(TimeGenerated, 5m)&lt;/P&gt;
&lt;P&gt;| summarize AvgRequestsPerIP = avg(RequestsPerIP) by bin(TimeGenerated, 5m)&lt;/P&gt;
&lt;P&gt;| order by TimeGenerated asc&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;Usage:&lt;/STRONG&gt; Set your initial rate limit slightly above the observed average to allow for minor bursts while still preventing abuse.&lt;/P&gt;
&lt;P&gt;The screenshot below shows the average number of requests per IP in 5-minute intervals from our Azure Front Door demo environment within a 7-day period. Most intervals fall between 1 to 5 requests per IP, indicating normal user behavior. However, there are occasional spikes, such as 15.5 requests at 4:10 PM and a significant burst of 459 requests at 4:15 AM. This highlights the importance of using real data to set thresholds. While a baseline of 20–30 requests per 5 minutes would cover typical traffic, it would still catch outlier spikes like these that may indicate abuse or automation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;Query 2: Max requests seen from a client IP (5-minute window)&lt;/H3&gt;
&lt;P&gt;This query surfaces the maximum number of requests observed from any individual IP address in a single 5-minute time window. This helps you understand peak load behavior, which could be from a legitimate spike or a potential abuse/bot.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-background-color-17" border="1" style="width: 96.5741%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;AzureDiagnostics&lt;/P&gt;
&lt;P&gt;| where Category == "FrontDoorAccessLog"&lt;/P&gt;
&lt;P&gt;| summarize RequestsPerIP = count() by clientIp_s, bin(TimeGenerated, 5m)&lt;/P&gt;
&lt;P&gt;| summarize MaxRequestsPerIP = max(RequestsPerIP) by clientIp_s&lt;/P&gt;
&lt;P&gt;| order by MaxRequestsPerIP desc&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;Usage:&amp;nbsp;&lt;/STRONG&gt;Use this to define an upper threshold for rate limiting. To avoid overfitting outliers, consider setting your limit near the 95th percentile of these max values.&lt;/P&gt;
&lt;P&gt;The screenshot below shows the results of the KQL query executed in my demo environment using Azure Front Door diagnostic logs within a 7-day period. As observed, the most active IP (35.X.X.X) recorded a peak of 459 requests within a 5-minute window, which is significantly higher than the rest. The second highest IP peaked at 106 requests, and most of the client IPs fell well below 30 requests per 5 minutes. This distribution highlights an important insight: while most users exhibit moderate request behavior, a few outliers can generate large bursts. These outliers could be misconfigured clients, aggressive bots, or potential abuse cases.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When configuring rate limits, it’s advisable to base your threshold not on the absolute maximum (459), but rather on a statistical percentile such as the 90th or 95th percentile. In this case, a reasonable threshold might be around 120–150 requests per 5 minutes, allowing headroom for legitimate high-traffic users while still blocking abnormal spikes.&lt;/P&gt;
&lt;H3&gt;Query 3: Most active IP per country (Geo-aware limit tuning)&lt;/H3&gt;
&lt;P&gt;This query identifies the top-requesting IP address per country for each 5-minute window. Seeing regional traffic patterns allows you to detect suspicious activity from specific geographies or apply geo-based rate limits.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Azure Front Door:&lt;/U&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-background-color-17" border="1" style="width: 97.7778%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;AzureDiagnostics&lt;/P&gt;
&lt;P&gt;| where Category == "FrontDoorAccessLog"&lt;/P&gt;
&lt;P&gt;| summarize RequestCount = count() by bin(TimeGenerated, 5m), clientCountry_s, clientIp_s&lt;/P&gt;
&lt;P&gt;| summarize arg_max(RequestCount, clientIp_s) by TimeGenerated, clientCountry_s&lt;/P&gt;
&lt;P&gt;| project TimeGenerated, clientCountry_s, clientIp_s, RequestCount&lt;/P&gt;
&lt;P&gt;| order by TimeGenerated asc, clientCountry_s asc&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Usage: &lt;/STRONG&gt;Use this to justify stricter thresholds for high-traffic countries or create region-specific custom WAF rules.&lt;/P&gt;
&lt;P&gt;The screenshot below shows the output of the geo-based query, which identifies the most active IP address per country in 5-minute intervals. As observed, some IPs consistently generate higher request volumes than others, indicating regional traffic concentration or potential anomalies. This pattern can help inform geo-specific rate limiting strategies, where regions with higher activity may warrant stricter thresholds or additional monitoring to mitigate localized abuse without impacting global user experience.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;Query 4: Request trends per URI segment&lt;/H3&gt;
&lt;P&gt;This query breaks down requests by the first segment of the URI path (e.g., /api, /assets). It helps identify which parts of your app are most accessed.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Azure Front Door:&lt;/U&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-background-color-17" border="1" style="width: 96.1111%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;AzureDiagnostics&lt;/P&gt;
&lt;P&gt;| where Category == "FrontDoorAccessLog"&lt;/P&gt;
&lt;P&gt;| extend Path = tostring(parse_url(requestUri_s).Path)&lt;/P&gt;
&lt;P&gt;| extend FirstSegment = extract("^/([^/]+)", 0, Path)&lt;/P&gt;
&lt;P&gt;| summarize RequestCount = count() by FirstSegment, bin(TimeGenerated, 5m)&lt;/P&gt;
&lt;P&gt;| order by TimeGenerated asc, RequestCount desc&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Usage: &lt;/STRONG&gt;Endpoints such as /&lt;EM&gt;login&lt;/EM&gt; or &lt;EM&gt;/register&lt;/EM&gt; are often targets for abuse. Segment-level analysis helps you target rate limits to specific parts of your app.&lt;/P&gt;
&lt;P&gt;The screenshot below shows the request distribution across the first URI segment (or resource) in 5-minute intervals. From the data, it’s clear that certain endpoints such as those serving static files (e.g., /styles.css) or known paths like /favicon.ico have consistent but low traffic. However, there are sudden spikes, such as 27 requests to /styles.css and 56 requests to /checkout.html, which could indicate automation, scraping, or testing behavior. Tracking usage by URI segment helps you identify which parts of your app are under heavy or suspicious load. You can use this insight to apply URI-specific rate limiting rules, especially for sensitive or high-traffic paths (e.g., /checkout, /login, /debug). This minimizes the risk of abuse without throttling static content or safe endpoints.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;Query 5: Average requests per full URI&lt;/H3&gt;
&lt;P&gt;This query calculates the average number of requests per full URI across all 5-minute intervals. It helps identify high-traffic endpoints. Endpoints with consistently high traffic may need dedicated rate limits.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Azure Front Door:&lt;/U&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-background-color-17" border="1" style="width: 1078px; height: 176px; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;AzureDiagnostics&lt;/P&gt;
&lt;P&gt;| where Category == "FrontDoorAccessLog"&lt;/P&gt;
&lt;P&gt;| summarize RequestsPerUri = count() by requestUri_s, bin(TimeGenerated, 5m)&lt;/P&gt;
&lt;P&gt;| summarize AvgRequestsPerUri = avg(RequestsPerUri) by requestUri_s&lt;/P&gt;
&lt;P&gt;| order by AvgRequestsPerUri desc&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Usage: &lt;/STRONG&gt;Use this to create path-specific rules; for example, /login may need a stricter threshold than /homepage.&lt;/P&gt;
&lt;P&gt;The screenshot below shows the results of the query, highlighting which full URIs receive the highest average number of requests over 5-minute intervals. The results show frequent access to specific assets (e.g., /favicon.ico, /styles.css), REST API endpoints, and one suspicious XSS injection attempt with unusually high traffic. This insight helps identify abuse patterns, automated scans, or popular resources, guiding you to apply rate limits more precisely either globally or per path to protect critical or vulnerable endpoints.&lt;/P&gt;
&lt;img /&gt;
&lt;H2&gt;Guidance and Considerations&lt;/H2&gt;
&lt;P&gt;The KQL queries and thresholds shared in this blog are intended as guidance based on common patterns and demo environments. Traffic behavior varies across applications, and you should validate results against your own environment and adjust thresholds accordingly. Always test custom rules in Detection mode before enforcing them in Prevention mode to avoid disrupting legitimate traffic.&lt;/P&gt;
&lt;P&gt;It’s also important to consider the scalability of the application or backend service behind Azure Front Door. Rate limiting controls traffic, but if your app runs on a single instance or doesn’t scale well, it may still fail under load. As a best practice, ensure your services can auto scale or handle spikes gracefully in tandem with WAF rate limiting rules.&lt;/P&gt;
&lt;H1&gt;Conclusion&lt;/H1&gt;
&lt;P&gt;Configuring effective rate limiting in Azure Front Door WAF is not just about setting arbitrary thresholds. It requires understanding how your application is accessed and where traffic patterns indicate potential abuse or anomalies. By leveraging diagnostic logs and analyzing real-world traffic with KQL, you can create rate limit rules that are both protective and practical. This data-driven approach helps you to reduce noise, prevent misuse, and maintain a smooth experience for legitimate users.&lt;/P&gt;
&lt;H1&gt;References&lt;/H1&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/afds-overview" target="_blank" rel="noopener"&gt;What is Azure Web Application Firewall on Azure Front Door? | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-custom-rules" target="_blank" rel="noopener"&gt;Web application firewall custom rule for Azure Front Door | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-rate-limit" target="_blank" rel="noopener"&gt;Web application firewall rate limiting for Azure Front Door | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/web-application-firewall/afds/waf-front-door-monitor?pivots=front-door-standard-premium" target="_blank" rel="noopener"&gt;Azure Web Application Firewall monitoring and logging | Microsoft Learn&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Sep 2025 15:01:54 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/monitoring-web-application-traffic-for-configuring-rate-limit-on/ba-p/4454092</guid>
      <dc:creator>andrewmathu</dc:creator>
      <dc:date>2025-09-23T15:01:54Z</dc:date>
    </item>
    <item>
      <title>Introducing the new Network Security Hub in Azure</title>
      <link>https://techcommunity.microsoft.com/t5/azure-network-security-blog/introducing-the-new-network-security-hub-in-azure/ba-p/4454588</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Background:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Since its launch in 2020, &lt;A class="lia-external-url" href="https://azure.microsoft.com/products/firewall-manager/" target="_blank" rel="noopener"&gt;Azure Firewall Manager&lt;/A&gt; has supported customers in securing their networks. But the role of network security has since evolved, from a foundational requirement to a strategic priority for organizations. Today, organizations must protect every endpoint, server, and workload, as attackers continually search for the weakest link.&lt;/P&gt;
&lt;P&gt;Over the years, we’ve heard consistent feedback about the importance of centralized management, easier service discovery, and streamlined monitoring across their network security tools. These capabilities can make the difference between a minor incident and a major breach.&lt;/P&gt;
&lt;P&gt;That’s why we’re excited to introduce a new, unified &lt;STRONG&gt;Network Security hub &lt;/STRONG&gt;experience. This updated hub brings together &lt;A href="https://azure.microsoft.com/products/azure-firewall/" target="_blank" rel="noopener"&gt;Azure Firewall&lt;/A&gt;, &lt;A class="lia-external-url" href="https://azure.microsoft.com/products/web-application-firewall/" target="_blank" rel="noopener"&gt;Web Application Firewall&lt;/A&gt;, and &lt;A class="lia-external-url" href="https://azure.microsoft.com/products/ddos-protection/" target="_blank" rel="noopener"&gt;DDoS Protection&lt;/A&gt;—enabling you to manage, configure, and monitor all your network security services in one place. While Azure Firewall Manager offered some of this functionality, the name didn’t reflect the broader scope of protection and control that customers need.&lt;/P&gt;
&lt;P&gt;With this new experience, Firewall Manager has expanded into the Network Security Hub, making it easier to discover, configure, and monitor the right security services with just a few clicks. The result: less time navigating, more time securing your environment.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What you’ll notice:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Streamlined navigation: &lt;/STRONG&gt;Whether you search for&lt;STRONG&gt; Azure Firewall, Web Application Firewall, DDoS Protection, or Firewall Manager,&lt;/STRONG&gt; you’ll now be directed to the new &lt;STRONG&gt;Network Security hub&lt;/STRONG&gt;. This unified entry point presents all relevant services in context—helping you stay focused and quickly find what you need, without feeling overwhelmed.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Overview of services: &lt;/STRONG&gt;The hub’s landing page provides a high-level view of each recommended solution, including key use cases, documentation links, and pricing details—so you can make informed decisions faster.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Common scenarios: &lt;/STRONG&gt;Explore typical deployment architectures and step-by-step guidance for getting started, right from the overview page.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Related services: &lt;/STRONG&gt;We’ve consolidated overlapping or closely related services to reduce noise and make your options clearer. The result? Fewer, more meaningful choices that are easier to evaluate and implement.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;New insights: &lt;/STRONG&gt;We've enhanced the security coverage interface to show how many of your key resources are protected by Azure Firewall, DDoS Protection, and Web Application Firewall. Additionally, our integration with Azure Advisor now provides tailored recommendations to help you strengthen your security posture, reduce costs, and optimize Azure Firewall performance.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;What this means for you:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;No changes to Firewall Manager pricing or support: &lt;/STRONG&gt;This is a user experience update only for Firewall Manager. You can continue to deploy Firewall policies and create &lt;A class="lia-external-url" href="https://learn.microsoft.com/azure/firewall-manager/secure-hybrid-network" target="_blank" rel="noopener"&gt;Hub Virtual Network&lt;/A&gt; or &lt;A href="https://learn.microsoft.com/azure/firewall-manager/secured-virtual-hub" target="_blank" rel="noopener"&gt;Secured Virtual Hub&lt;/A&gt; deployments —now within the streamlined Network Security hub experience.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Aligned marketing and documentation: &lt;/STRONG&gt;We’ve updated our marketing pages and documentation to reflect this new experience, making it easier to find the right guidance and stay aligned with the latest best practices.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Faster decision-making: &lt;/STRONG&gt;With a clearer, more intuitive layout, it’s easier to discover the right service and act with confidence.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Better product experience: &lt;/STRONG&gt;This update brings greater cohesion to the Azure Networking portfolio, helping you get started quickly and unlock more value from day one&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Before: &lt;/STRONG&gt;The original landing page was primarily focused on setting up Firewall Policies and Secured Virtual Hub, offering a limited view of Azure’s broader network security capabilities.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;After: &lt;/STRONG&gt;The updated landing page delivers a more comprehensive and intuitive experience, with clear guidance on how to get started with each product—alongside common deployment scenarios to help you configure and operationalize your network security stack with ease.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Before: &lt;/STRONG&gt;The previous monitoring and security coverage experience was cluttered and difficult to navigate, making it harder to get a quick sense of your environment’s protection status.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;After: &lt;/STRONG&gt;The updated &lt;STRONG&gt;Security Coverage&lt;/STRONG&gt; view is cleaner and more intuitive. We've streamlined the layout and added &lt;STRONG&gt;Azure Advisor integration&lt;/STRONG&gt;, so you can now quickly assess protection status across key services and receive actionable recommendations in one place.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The expansion of Firewall Manager into the Network Security hub is part of a greater strategic effort to simplify and enhance the Azure Networking portfolio, ensuring better alignment with customer needs and industry best practices. You can learn more about this initiative in this &lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/azurenetworkingblog/azure-networking-portfolio-consolidation/4454248" target="_blank" rel="noopener" data-lia-auto-title="blog" data-lia-auto-title-active="0"&gt;blog&lt;/A&gt;. This shift is designed to better align with customer needs and industry best practices—by emphasizing core services, consolidating related offerings, and phasing out legacy experiences. The result is a more cohesive, intuitive, and efficient product experience across Azure Networking.&lt;/P&gt;
&lt;P&gt;📣 If you have any thoughts or suggestions about the user interface, feel free to drop them in the feedback form available in the Network Security hub on the Azure Portal.&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Documentation links:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Azure Networking hub page:
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/" target="_blank" rel="noopener"&gt;Azure networking documentation | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Scenario Hub pages:
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/load-balancer-content-delivery/" target="_blank" rel="noopener"&gt;Azure load balancing and content delivery | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/foundations/" target="_blank" rel="noopener"&gt;Azure network foundation documentation | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/hybrid-connectivity/" target="_blank" rel="noopener"&gt;Azure hybrid connectivity documentation | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/security/" target="_blank" rel="noopener"&gt;Azure network security documentation | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Scenario Overview pages
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/load-balancer-content-delivery/load-balancing-content-delivery-overview" target="_blank" rel="noopener"&gt;What is load balancing and content delivery? | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/foundations/network-foundations-overview" target="_blank" rel="noopener"&gt;Azure Network Foundation Services Overview | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/hybrid-connectivity/hybrid-connectivity" target="_blank" rel="noopener"&gt;What is hybrid connectivity? | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/networking/security/network-security" target="_blank" rel="noopener"&gt;What is Azure network security? | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Wed, 17 Sep 2025 18:31:16 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-network-security-blog/introducing-the-new-network-security-hub-in-azure/ba-p/4454588</guid>
      <dc:creator>surenjamiyanaa</dc:creator>
      <dc:date>2025-09-17T18:31:16Z</dc:date>
    </item>
  </channel>
</rss>

