Skip to content

Commit a0ac325

Browse files
Fixed text in article, added dictionary word
1 parent 6a3b801 commit a0ac325

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"YAML"
5757
],
5858
"cSpell.words": [
59-
"auditd"
59+
"auditd",
60+
"covid"
6061
]
6162
}

articles/frontdoor/front-door-waf.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ ms.author: tremansdoerfer
2020

2121
# Quickly scale and protect a web application using Azure Front Door and Azure Web Application Firewall (WAF)
2222

23-
Many web applications have experienced rapid increase of traffic in recent weeks related to Covid 19. In addition, these web applications are also observing a surge in malicious traffic including denial of service attacks. An effective way to handle both these needs, scale out for traffic surges and protect from attacks, is to setup Azure Front Door with Azure WAF as an acceleration, caching and security layer in front of your web application. This article provides guidance on how to quickly get this Azure Front Door with Azure WAF setup for any web applications running in or outside of Azure.
23+
Many web applications have experienced rapid increase of traffic in recent weeks related to COVID-19. In addition, these web applications are also observing a surge in malicious traffic including denial of service attacks. An effective way to handle both these needs, scale out for traffic surges and protect from attacks, is to set up Azure Front Door with Azure WAF as an acceleration, caching and security layer in front of your web application. This article provides guidance on how to quickly get this Azure Front Door with Azure WAF setup for any web applications running in or outside of Azure.
2424

25-
We will be using Azure CLI to set this up in this tutorial, but all these steps are also fully supported in Azure Portal, Azure PowerShell, Azure ARM and Azure REST APIs.
25+
We will be using Azure CLI to set up the WAF in this tutorial, but all these steps are also fully supported in Azure portal, Azure PowerShell, Azure ARM, and Azure REST APIs.
2626

2727
### Prerequisites
2828

2929
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
3030

31-
The instructions in this blog use the Azure Command Line Interface (CLI). Please visit this guide to [get started with Azure CLI](https://docs.microsoft.com/cli/azure/get-started-with-azure-cli?view=azure-cli-latest).
31+
The instructions in this blog use the Azure Command Line Interface (CLI). View this guide to [get started with Azure CLI](https://docs.microsoft.com/cli/azure/get-started-with-azure-cli?view=azure-cli-latest).
3232

3333
*Tip: an easy & quick way to get started on Azure CLI is with [Bash in Azure Cloud Shell](https://docs.microsoft.com/azure/cloud-shell/quickstart)*
3434

@@ -38,7 +38,7 @@ Ensure that the front-door extension is added to your Azure CLI
3838
az extension add --name front-door
3939
```
4040

41-
Note: For more details of the commands listed below, please refer to the [Azure CLI reference for Front Door](https://docs.microsoft.com/cli/azure/ext/front-door/?view=azure-cli-latest).
41+
Note: For more details of the commands listed below, refer to the [Azure CLI reference for Front Door](https://docs.microsoft.com/cli/azure/ext/front-door/?view=azure-cli-latest).
4242

4343
### Step 1: Create an Azure Front Door (AFD) resource
4444

@@ -47,15 +47,15 @@ Note: For more details of the commands listed below, please refer to the [Azure
4747
az network front-door create --backend-address <> --accepted-protocols <> --name <> --resource-group <>
4848
```
4949

50-
**--backend-address**: This is the Fully Qualified Domain Name (FQDN) name of the application you want to protect. For example myapplication.contoso.com
50+
**--backend-address**: The backend address is the Fully Qualified Domain Name (FQDN) name of the application you want to protect. For example, myapplication.contoso.com
5151

52-
**--accepted-protocols**: This specifies what all protocols you want AFD to support for your web application. An example would be --accepted-protocols Http Https.
52+
**--accepted-protocols**: The accepted protocols specifies what all protocols you want AFD to support for your web application. An example would be --accepted-protocols Http Https.
5353

5454
**--name**: Specify a name for your AFD resource
5555

56-
**--resource-group**: The resource group you want to place this AFD resource in. To learn more about resource groups, please visit manage resource groups in Azure
56+
**--resource-group**: The resource group you want to place this AFD resource in. To learn more about resource groups, visit manage resource groups in Azure
5757

58-
In the response you get from successfully executing this command, look for the key "hostName" and note down its value to be used in a later step. This is the DNS name of the AFD resource you had just created
58+
In the response you get from successfully executing this command, look for the key "hostName" and note down its value to be used in a later step. The hostName is the DNS name of the AFD resource you had created
5959

6060
### Step 2: Create an Azure WAF profile to use with Azure Front Door resources
6161

@@ -67,17 +67,17 @@ az network front-door waf-policy create --name <> --resource-group <> --disabl
6767

6868
--resource-group The resource group you want to place this WAF resource in.
6969

70-
This will create a WAF policy which is enabled and is in the Prevention mode.
70+
The CLI code above will create a WAF policy that is enabled and is in the Prevention mode.
7171

7272
Note: you may also want to create the WAF in Detection mode and observe how it is detecting & logging malicious requests (and not blocking) before deciding to change to Protection mode.
7373

74-
In the response you get from successfully executing this command, look for the key "id" and note down its value to be used in a later step. This should be in the format
74+
In the response you get from successfully executing this command, look for the key "ID" and note down its value to be used in a later step. The ID field should be in the format
7575

7676
/subscriptions/**subscription id**/resourcegroups/**resource group name**/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/**WAF policy name**
7777

7878
### Step 3: Add managed rulesets to this WAF policy
7979

80-
In a WAF policy you can add managed rulesets which are a sets of rules built and managed by Microsoft and gives out of the box protection against entire classes of threats. In this example, we are adding two such rulesets (1) Default ruleset that protects against common web threats and (2) Bot protection ruleset which protects against malicious bots
80+
In a WAF policy, you can add managed rulesets that are a set of rules built and managed by Microsoft and gives out of the box protection against entire classes of threats. In this example, we are adding two such rulesets (1) Default ruleset that protects against common web threats and (2) Bot protection ruleset, which protects against malicious bots
8181

8282
(1) Add the default ruleset
8383

@@ -97,7 +97,7 @@ az network front-door waf-policy managed-rules add --policy-name <> --resource-g
9797

9898
### Step 4: Associate the WAF policy with the AFD resource
9999

100-
In this step we will be associating the WAF policy we have built with the AFD resource that is in front of your web application.
100+
In this step, we will be associating the WAF policy we have built with the AFD resource that is in front of your web application.
101101

102102
```azurecli-interactive
103103
az network front-door update --name <> --resource-group <> --set frontendEndpoints[0].webApplicationFirewallPolicyLink='{"id":"<>"}'
@@ -107,24 +107,24 @@ az network front-door update --name <> --resource-group <> --set frontendEndpoin
107107

108108
--resource-group The resource group you had placed the Azure Front Door resource in.
109109

110-
--set This is where you update the attribute WebApplicationFirewallPolicyLink for the frontendEndpoint associated with your AFD resource with the newly built WAF policy. The id of the WAF policy can be found from the response you got from step #2 above
110+
--set This is where you update the attribute WebApplicationFirewallPolicyLink for the frontendEndpoint associated with your AFD resource with the newly built WAF policy. The ID of the WAF policy can be found from the response you got from step #2 above
111111

112112
Note: the above example is for the case where you are not using a custom domain, if you are
113113

114114
If you are not using any custom domains to access your web applications, you can skip step #5. In that case, you will be providing to your end users the hostname you obtained in step #1 to navigate to your web application
115115

116116
### Step 5: Configure custom domain for your web application
117117

118-
Initially the custom domain name of your web application (the one that customers use to refer to your application, e.g. www.contoso.com) was pointing towards the place where you had it running before AFD was introduced. After this change of architecture adding AFD+WAF to front the application, the DNS entry corresponding to that custom domain should now point to this AFD resource. This can be done by re-mapping this entry in your DNS server to the AFD hostname you had noted in step #1.
118+
Initially the custom domain name of your web application (the one that customers use to refer to your application, for example, www.contoso.com) was pointing towards the place where you had it running before AFD was introduced. After this change of architecture adding AFD+WAF to front the application, the DNS entry corresponding to that custom domain should now point to this AFD resource. This can be done by remapping this entry in your DNS server to the AFD hostname you had noted in step #1.
119119

120-
Specific steps to do this will depend on your DNS service provider, but if you are using Azure DNS to host your DNS name, you can refer to the documentation for [steps do update a DNS record](https://docs.microsoft.com/azure/dns/dns-operations-recordsets-cli) and point to the AFD hostName.
120+
Specific steps to update your DNS records will depend on your DNS service provider, but if you are using Azure DNS to host your DNS name, you can refer to the documentation for [steps do update a DNS record](https://docs.microsoft.com/azure/dns/dns-operations-recordsets-cli) and point to the AFD hostName.
121121

122-
One key thing to note here is that, if you need your users to navigate to your website using the zone apex, e.g. contoso.com, you have to use Azure DNS and it's [ALIAS record type](https://docs.microsoft.com/azure/dns/dns-alias) to host your DNS name.
122+
One key thing to note here is that, if you need your users to navigate to your website using the zone apex, for exmaple, contoso.com, you have to use Azure DNS and it's [ALIAS record type](https://docs.microsoft.com/azure/dns/dns-alias) to host your DNS name.
123123

124124
In addition, you also need to update your AFD configuration to [add this custom domain](https://docs.microsoft.com/azure/frontdoor/front-door-custom-domain) to it so that AFD understands this mapping.
125125

126126
Finally, if you are using a custom domain to reach your web application and want to enable the HTTPS protocol, you need to have the [certificates for your custom domain setup in AFD](https://docs.microsoft.com/azure/frontdoor/front-door-custom-domain-https).
127127

128-
### Step 6: Lockdown your web application
128+
### Step 6: Lock down your web application
129129

130-
One optional best practice to follow is to ensure that only AFD edges can communicate with your web application. This will ensure that no one can bypass the AFD protections and access your applications directly. You can accomplish this lockdown by visiting the [FAQ section of AFD](https://docs.microsoft.com/azure/frontdoor/front-door-faq) and referring to the question regarding locking down backends for access only by AFD.
130+
One optional best practice to follow is to ensure that only AFD edges can communicate with your web application. This action will ensure that no one can bypass the AFD protections and access your applications directly. You can accomplish this lock down by visiting the [FAQ section of AFD](https://docs.microsoft.com/azure/frontdoor/front-door-faq) and referring to the question regarding locking down backends for access only by AFD.

0 commit comments

Comments
 (0)