Skip to content

Commit 20ee2ac

Browse files
committed
docs: Fix metadata field order and ms.date, replace VNet with 'virtual network', fix alt text, rewrite list items, fix passive voice
1 parent e542fe2 commit 20ee2ac

1 file changed

Lines changed: 44 additions & 53 deletions

File tree

articles/firewall/premium-deploy.md

Lines changed: 44 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,37 @@
22
title: Deploy and configure Azure Firewall Premium
33
description: Learn how to deploy and configure Azure Firewall Premium.
44
author: duau
5+
ms.author: duau
56
ms.service: azure-firewall
6-
services: firewall
77
ms.topic: how-to
8-
ms.date: 02/10/2025
9-
ms.author: duau
8+
ms.date: 03/28/2026
109
ms.custom: sfi-image-nochange
1110
# 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.
1211
---
1312

1413
# Deploy and configure Azure Firewall Premium
1514

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:
1816

1917
- **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.
2119
- **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`.
2220
- **Web categories** - administrators can allow or deny user access to website categories such as gambling websites, social media websites, and others.
2321

2422
For more information, see [Azure Firewall Premium features](premium-features.md).
2523

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:
25+
26+
- A worker subnet (10.0.10.0/24)
27+
- An Azure Bastion subnet (10.0.20.0/24)
28+
- A firewall subnet (10.0.100.0/24)
3029

3130
> [!IMPORTANT]
3231
> [!INCLUDE [Pricing](~/reusable-content/ce-skilling/azure/includes/bastion-pricing.md)]
3332
34-
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.
3534

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":::
3736

3837
The worker virtual machine is a client that sends HTTP/S requests through the firewall.
3938

@@ -43,15 +42,13 @@ If you don't have an Azure subscription, create a [free account](https://azure.m
4342

4443
## Deploy the infrastructure
4544

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:
5446

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).
5552

5653
:::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":::
5754

@@ -61,38 +58,40 @@ Now you can test IDPS, TLS Inspection, Web filtering, and Web categories.
6158

6259
### Add firewall diagnostics settings
6360

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.
6562

66-
1. Select the **DemoFirewall** and under **Monitoring**, select **Diagnostic settings**.
63+
1. Select **DemoFirewall**. Under **Monitoring**, select **Diagnostic settings**.
6764
1. Select **Add diagnostic setting**.
68-
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**.
7067
1. Under **Destination details**, select **Send to Log Analytics workspace**.
7168
1. Select **Save**.
7269

7370
### IDPS tests
7471

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).
7673

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.
7875

79-
#### To test IDPS for HTTP traffic:
76+
#### To test IDPS for HTTP traffic
8077

8178
1. On the WorkerVM virtual machine, open an administrator command prompt window.
8279
1. Type the following command at the command prompt:
8380

8481
`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.
8684
1. Go to the Firewall Network rule logs on the Azure portal to find an alert similar to the following message:
8785

8886
```
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
9189
detected”}
9290
```
9391

9492
> [!NOTE]
9593
> 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+
9695
1. Add a signature rule for signature 2032081:
9796

9897
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
102101
1. Select **Save**.
103102
1. Wait for the deployment to complete before proceeding.
104103

105-
106-
107104
1. On WorkerVM, run the `curl` command again:
108105

109106
`curl -A "HaxerMen" <your web server address>`
110107

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:
112109

113110
`read tcp 10.0.100.5:55734->10.0.20.10:80: read: connection reset by peer`
114111

115112
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. --->
122113

123114
#### To test IDPS for HTTPS traffic
124115

125116
Repeat these curl tests using HTTPS instead of HTTP. For example:
126117

127118
`curl --ssl-no-revoke -A "HaxerMen" <your web server address>`
128119

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.
130121

131122
### TLS Inspection with URL filtering
132123

133124
Use the following steps to test TLS Inspection with URL filtering.
134125

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**.
136127

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.
138129
1. In the Azure portal, you can view the entire URL in the Application rule Monitoring logs:
139130

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":::
141132

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:
143134

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*`
146137

147-
Alternatively, you can add a new URL to the rule. For example:
138+
Alternatively, add a new URL to the rule. For example:
148139

149140
`www.nytimes.com/section/world, www.nytimes.com/section/world/*`
150141

151142
### Web categories testing
152143

153-
Let's create an application rule to allow access to sports web sites.
144+
Create an application rule to allow access to sports websites.
154145
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*.
158149
1. Select **Add**.
159150

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`.
161152

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.
163154

164155
## Next steps
165156

0 commit comments

Comments
 (0)