You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/firewall/premium-deploy.md
+44-53Lines changed: 44 additions & 53 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,38 +2,37 @@
2
2
title: Deploy and configure Azure Firewall Premium
3
3
description: Learn how to deploy and configure Azure Firewall Premium.
4
4
author: duau
5
+
ms.author: duau
5
6
ms.service: azure-firewall
6
-
services: firewall
7
7
ms.topic: how-to
8
-
ms.date: 02/10/2025
9
-
ms.author: duau
8
+
ms.date: 03/28/2026
10
9
ms.custom: sfi-image-nochange
11
10
# Customer intent: As a network security administrator, I want to deploy and configure a next-generation firewall in a testing environment, so that I can validate its capabilities, including TLS inspection and intrusion detection, for sensitive and regulated environments.
12
11
---
13
12
14
13
# Deploy and configure Azure Firewall Premium
15
14
16
-
17
-
Azure Firewall Premium is a next generation firewall with capabilities that are required for highly sensitive and regulated environments. It includes the following features:
15
+
Azure Firewall Premium is a next-generation firewall with capabilities that are required for highly sensitive and regulated environments. It includes the following features:
18
16
19
17
-**TLS Inspection** - decrypts outbound traffic, processes the data, then encrypts the data and sends it to the destination.
20
-
-**IDPS** - A network intrusion detection and prevention system (IDPS) allows you to monitor network activities for malicious activity, log information about this activity, report it, and optionally attempt to block it.
18
+
-**IDPS** - A network intrusion detection and prevention system (IDPS) that you can use to monitor network activities for malicious activity, log information about this activity, report it, and optionally attempt to block it.
21
19
-**URL filtering** - extends Azure Firewall’s FQDN filtering capability to consider an entire URL. For example, `www.contoso.com/a/c` instead of `www.contoso.com`.
22
20
-**Web categories** - administrators can allow or deny user access to website categories such as gambling websites, social media websites, and others.
23
21
24
22
For more information, see [Azure Firewall Premium features](premium-features.md).
25
23
26
-
You'll use a template to deploy a test environment that has a central VNet (10.0.0.0/16) with three subnets:
27
-
- a worker subnet (10.0.10.0/24)
28
-
- an Azure Bastion subnet (10.0.20.0/24)
29
-
- a firewall subnet (10.0.100.0/24)
24
+
Use a template to deploy a test environment that has a central virtual network (10.0.0.0/16) with three subnets:
A single central VNet is used in this test environment for simplicity. For production purposes, a [hub and spoke topology](/azure/architecture/reference-architectures/hybrid-networking/hub-spoke) with peered VNets is more common.
33
+
A single central virtual network is used in this test environment for simplicity. For production purposes, a [hub and spoke topology](/azure/architecture/reference-architectures/hybrid-networking/hub-spoke) with peered virtual networks is more common.
35
34
36
-
:::image type="content" source="media/premium-deploy/premium-topology.png" alt-text="Diagram of Central VNet topology." lightbox="media/premium-deploy/premium-topology.png":::
35
+
:::image type="content" source="media/premium-deploy/premium-topology.png" alt-text="Diagram showing a central virtual network with worker, Bastion, and firewall subnets." lightbox="media/premium-deploy/premium-topology.png":::
37
36
38
37
The worker virtual machine is a client that sends HTTP/S requests through the firewall.
39
38
@@ -43,15 +42,13 @@ If you don't have an Azure subscription, create a [free account](https://azure.m
43
42
44
43
## Deploy the infrastructure
45
44
46
-
The template deploys a complete testing environment for Azure Firewall Premium enabled with IDPS, TLS Inspection, URL Filtering, and Web Categories:
47
-
48
-
- a new Azure Firewall Premium and Firewall Policy with predefined settings to allow easy validation of its core capabilities (IDPS, TLS Inspection, URL Filtering, and Web Categories)
49
-
- deploys all dependencies including Key Vault and a Managed Identity. In a production environment, these resources may already be created and not needed in the same template.
50
-
- generates self-signed Root CA and deploys it on the generated Key Vault
51
-
- generates a derived Intermediate CA and deploys it on a Windows test virtual machine (WorkerVM)
52
-
- a Bastion Host (BastionHost) is also deployed and can be used to connect to the Windows testing machine (WorkerVM)
53
-
45
+
A template deploys a complete testing environment for Azure Firewall Premium enabled with IDPS, TLS Inspection, URL Filtering, and Web Categories:
54
46
47
+
- A new Azure Firewall Premium and Firewall Policy with predefined settings to allow easy validation of its core capabilities (IDPS, TLS Inspection, URL Filtering, and Web Categories).
48
+
- All dependencies, including Key Vault and a Managed Identity. In a production environment, you might already have these resources and not need them in the same template.
49
+
- A self-signed Root CA that's generated and deployed on the created Key Vault.
50
+
- A derived Intermediate CA that's generated and deployed on a Windows test virtual machine (WorkerVM).
51
+
- A Bastion Host (BastionHost) is also deployed and you can use it to connect to the Windows testing machine (WorkerVM).
55
52
56
53
:::image type="content" source="~/reusable-content/ce-skilling/azure/media/template-deployments/deploy-to-azure-button.svg" alt-text="Button to deploy the Resource Manager template to Azure." border="false" link="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2Fquickstarts%2Fmicrosoft.network%2Fazurefirewall-premium%2Fazuredeploy.json":::
57
54
@@ -61,38 +58,40 @@ Now you can test IDPS, TLS Inspection, Web filtering, and Web categories.
61
58
62
59
### Add firewall diagnostics settings
63
60
64
-
To collect firewall logs, you need to add diagnostics settings to collect firewall logs.
61
+
To collect firewall logs, add diagnostics settings to collect firewall logs.
65
62
66
-
1. Select the **DemoFirewall** and under**Monitoring**, select **Diagnostic settings**.
1. For **Diagnostic setting name**, type*fw-diag*.
69
-
1. Under **log**, select **AzureFirewallApplicationRule**, and **AzureFirewallNetworkRule**.
65
+
1. For **Diagnostic setting name**, enter*fw-diag*.
66
+
1. Under **log**, select **AzureFirewallApplicationRule** and **AzureFirewallNetworkRule**.
70
67
1. Under **Destination details**, select **Send to Log Analytics workspace**.
71
68
1. Select **Save**.
72
69
73
70
### IDPS tests
74
71
75
-
To test IDPS, you should deploy your own internal test Web server with an appropriate server certificate. This test includes sending malicious traffic to a Web server, so it isn't advisable to do this to a public Web server. For more information about Azure Firewall Premium certificate requirements, see [Azure Firewall Premium certificates](premium-certificates.md).
72
+
To test IDPS, deploy your own internal test web server with an appropriate server certificate. This test includes sending malicious traffic to a web server, so don't perform this test on a public web server. For more information about Azure Firewall Premium certificate requirements, see [Azure Firewall Premium certificates](premium-certificates.md).
76
73
77
-
You can use`curl` to control various HTTP headers and simulate malicious traffic.
74
+
Use`curl` to control various HTTP headers and simulate malicious traffic.
78
75
79
-
#### To test IDPS for HTTP traffic:
76
+
#### To test IDPS for HTTP traffic
80
77
81
78
1. On the WorkerVM virtual machine, open an administrator command prompt window.
82
79
1. Type the following command at the command prompt:
83
80
84
81
`curl -A "HaxerMen" <your web server address>`
85
-
1. You'll see your Web server response.
82
+
83
+
1. You see your web server response.
86
84
1. Go to the Firewall Network rule logs on the Azure portal to find an alert similar to the following message:
87
85
88
86
```
89
-
{ “msg” : “TCP request from 10.0.100.5:16036 to 10.0.20.10:80. Action: Alert. Rule: 2032081. IDS:
90
-
USER_AGENTS Suspicious User Agent (HaxerMen). Priority: 1. Classification: A Network Trojan was
87
+
{ “msg” : “TCP request from 10.0.100.5:16036 to 10.0.20.10:80. Action: Alert. Rule: 2032081. IDS:
88
+
USER_AGENTS Suspicious User Agent (HaxerMen). Priority: 1. Classification: A Network Trojan was
91
89
detected”}
92
90
```
93
91
94
92
> [!NOTE]
95
93
> It can take some time for the data to begin showing in the logs. Give it at least a couple minutes to allow for the logs to begin showing the data.
94
+
96
95
1. Add a signature rule for signature 2032081:
97
96
98
97
1. Select the **DemoFirewallPolicy** and under **Settings** select **IDPS**.
@@ -102,64 +101,56 @@ You can use `curl` to control various HTTP headers and simulate malicious traffi
102
101
1. Select **Save**.
103
102
1. Wait for the deployment to complete before proceeding.
104
103
105
-
106
-
107
104
1. On WorkerVM, run the `curl` command again:
108
105
109
106
`curl -A "HaxerMen" <your web server address>`
110
107
111
-
Since the HTTP request is now blocked by the firewall, you'll see the following output after the connection timeout expires:
108
+
Since the HTTP request is now blocked by the firewall, you see the following output after the connection timeout expires:
112
109
113
110
`read tcp 10.0.100.5:55734->10.0.20.10:80: read: connection reset by peer`
114
111
115
112
1. Go to the Monitor logs in the Azure portal and find the message for the blocked request.
116
-
<!---8. Now you can bypass the IDPS function using the **Bypass list**.
117
-
118
-
1. On the **IDPS (preview)** page, select the **Bypass list** tab.
119
-
2. Edit **MyRule** and set **Destination** to *10.0.20.10, which is the ServerVM private IP address.
120
-
3. Select **Save**.
121
-
1. Run the test again: `curl -A "HaxerMen" http://server.2020-private-preview.com` and now you should get the `Hello World` response and no log alert. --->
122
113
123
114
#### To test IDPS for HTTPS traffic
124
115
125
116
Repeat these curl tests using HTTPS instead of HTTP. For example:
126
117
127
118
`curl --ssl-no-revoke -A "HaxerMen" <your web server address>`
128
119
129
-
You should see the same results that you had with the HTTP tests.
120
+
You see the same results that you had with the HTTP tests.
130
121
131
122
### TLS Inspection with URL filtering
132
123
133
124
Use the following steps to test TLS Inspection with URL filtering.
134
125
135
-
1. Edit the firewall policy application rules and add a new rule called`AllowURL` to the `AllowWeb` rule collection. Configure the target URL `www.nytimes.com/section/world`, Source IP address **\***, Destination type **URL**, select **TLS Inspection**, and protocols **http, https**.
126
+
1. Edit the firewall policy application rules and add a new rule named`AllowURL` to the `AllowWeb` rule collection. Configure the target URL `www.nytimes.com/section/world`, source IP address **\***, destination type **URL**, select **TLS Inspection**, and protocols **http, https**.
136
127
137
-
1. When the deployment completes, open a browser on WorkerVM and go to `https://www.nytimes.com/section/world` and validate that the HTML response is displayed as expected in the browser.
128
+
1. When the deployment completes, open a browser on WorkerVM and go to `https://www.nytimes.com/section/world`. Validate that the HTML response is displayed as expected in the browser.
138
129
1. In the Azure portal, you can view the entire URL in the Application rule Monitoring logs:
139
130
140
-
:::image type="content" source="media/premium-deploy/alert-message-url.png" alt-text="Alert message showing the URL":::
131
+
:::image type="content" source="media/premium-deploy/alert-message-url.png" alt-text="Alert message showing the URL":::
141
132
142
-
Some HTML pages may look incomplete because they refer to other URLs that are denied. To solve this issue, the following approach can be taken:
133
+
Some HTML pages might look incomplete because they refer to other URLs that are denied. To solve this problem, use the following approaches:
143
134
144
-
- If the HTML page contains links to other domains, you can add these domains to a new application rule with allow access to these FQDNs.
145
-
- If the HTML page contains links to sub URLs then you can modify the rule and add an asterisk to the URL. For example: `targetURLs=www.nytimes.com/section/world*`
135
+
- If the HTML page contains links to other domains, add these domains to a new application rule that grants access to these FQDNs.
136
+
- If the HTML page contains links to sub URLs, modify the rule and add an asterisk to the URL. For example: `targetURLs=www.nytimes.com/section/world*`
146
137
147
-
Alternatively, you can add a new URL to the rule. For example:
138
+
Alternatively, add a new URL to the rule. For example:
Let's create an application rule to allow access to sports web sites.
144
+
Create an application rule to allow access to sports websites.
154
145
1. From the portal, open your resource group and select **DemoFirewallPolicy**.
155
-
1. Select **Application Rules**, and then **Add a rule collection**.
156
-
1. For **Name**, type*GeneralWeb*, **Priority***103*, **Rule collection group** select **DefaultApplicationRuleCollectionGroup**.
157
-
1. Under **Rules** for **Name** type *AllowSports*, **Source***\**, **Protocol***http, https*, select**TLS Inspection**, **Destination Type** select *Web categories*, **Destination** select *Sports*.
146
+
1. Select **Application Rules**, and then select **Add a rule collection**.
147
+
1. For **Name**, enter*GeneralWeb*. Enter *103* for **Priority**. For **Rule collection group**, select **DefaultApplicationRuleCollectionGroup**.
148
+
1. Under **Rules**, enter *AllowSports* for **Name**. Enter *\** for **Source**. Enter *http, https* for**Protocol**. Select **TLS Inspection**. For **Destination Type**, select *Web categories*. For **Destination**, select *Sports*.
158
149
1. Select **Add**.
159
150
160
-
1. When the deployment completes, go to **WorkerVM** and open a web browser and browse to `https://www.nfl.com`.
151
+
1. When the deployment finishes, go to **WorkerVM**, open a web browser, and browse to `https://www.nfl.com`.
161
152
162
-
You should see the NFL web page, and the Application rule log shows that a **Web Category: Sports** rule was matched and the request was allowed.
153
+
You see the NFL web page, and the Application rule log shows that a **Web Category: Sports** rule was matched and the request was allowed.
0 commit comments