Azure Firewall

Azure Firewall is a cloud-native and intelligent network security service that protects your virtual network resources. It's a fully stateful firewall as a service with high availability and unrestricted cloud scalability.

Key Features

Deployment Options

Azure Firewall can be deployed in a few ways, depending on your network architecture and security needs:

Rule Types

Azure Firewall uses three types of rules to control traffic:

Network Rules

Network rules are used to allow or deny traffic to specific IP addresses, ports, and protocols (TCP, UDP, ICMP). These rules operate at Layer 3 (IP address) and Layer 4 (port).

Example of a network rule:

{
    "ruleCollectionType": "FirewallPolicyNetworkRuleCollection",
    "ruleCollectionName": "AllowInternalWebServers",
    "priority": 200,
    "action": {
        "type": "Allow"
    },
    "rules": [
        {
            "name": "AllowHTTP_HTTPS_to_WebServerPool",
            "ipProtocols": ["TCP"],
            "sourceAddresses": ["10.0.1.0/24"],
            "destinationAddresses": ["10.0.5.4"],
            "destinationPorts": ["80", "443"]
        }
    ]
}

Application Rules

Application rules allow you to control HTTP and HTTPS traffic based on the fully qualified domain name (FQDN) or FQDN tags. These rules operate at Layer 7.

Example of an application rule:

{
    "ruleCollectionType": "FirewallPolicyApplicationRuleCollection",
    "ruleCollectionName": "AllowAppAccess",
    "priority": 300,
    "action": {
        "type": "Allow"
    },
    "rules": [
        {
            "name": "AllowMicrosoftUpdate",
            "protocols": [{"protocolType": "Http", "port": 80}],
            "sourceAddresses": ["10.0.2.0/24"],
            "targetFqdns": ["*.windowsupdate.microsoft.com"]
        },
        {
            "name": "AllowAzureDevOps",
            "protocols": [{"protocolType": "Https", "port": 443}],
            "sourceAddresses": ["10.0.2.0/24"],
            "targetFqdns": ["dev.azure.com", "azure.microsoft.com"]
        }
    ]
}

DNAT Rules

Destination Network Address Translation (DNAT) rules translate incoming traffic destined for the firewall's public IP address and port to a private IP address and port in your virtual network. This is commonly used for accessing internal resources from the internet.

Example of a DNAT rule:

{
    "ruleCollectionType": "FirewallPolicyNatRuleCollection",
    "ruleCollectionName": "WebserverDNAT",
    "priority": 100,
    "action": {
        "type": "Dnat"
    },
    "rules": [
        {
            "name": "WebServerHTTP",
            "protocols": ["TCP"],
            "sourceAddresses": ["*"],
            "destinationAddresses": ["20.45.67.89"],
            "destinationPorts": ["80"],
            "translatedPort": "80",
            "translatedAddresses": "10.0.5.4"
        }
    ]
}

Configuration and Management

Azure Firewall can be configured and managed through several methods:

To ensure optimal security and performance, consider the following best practices:

Learn More on Microsoft Docs Azure Firewall Product Page