Skip to content

Commit ac3e6db

Browse files
committed
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents d7efb7d + 1d229db commit ac3e6db

File tree

147 files changed

+1014
-438
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+1014
-438
lines changed

articles/active-directory-b2c/find-help-open-support-ticket.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Microsoft provides global technical, pre-sales, billing, and subscription suppor
2222

2323
Before creating a support ticket, check out the following resources for answers and information.
2424

25-
* For content such as how-to information or code samples for IT professionals and developers, see the [technical documentation for Azure AD B2C at docs.microsoft.com](../active-directory-b2c/index.yml).
25+
* For content such as how-to information or code samples for IT professionals and developers, see the [technical documentation for Azure AD B2C](../active-directory-b2c/index.yml).
2626

2727
* The [Microsoft Technical Community](https://techcommunity.microsoft.com/) is the place for our IT pro partners and customers to collaborate, share, and learn. The [Microsoft Technical Community Info Center](https://techcommunity.microsoft.com/t5/Community-Info-Center/ct-p/Community-Info-Center) is used for announcements, blog posts, ask-me-anything (AMA) interactions with experts, and more. You can also [join the community to submit your ideas](https://techcommunity.microsoft.com/t5/Communities/ct-p/communities).
2828

@@ -93,5 +93,4 @@ If you're unable to find answers by using self-help resources, you can open an o
9393

9494
* [Microsoft Tech Community](https://techcommunity.microsoft.com/)
9595

96-
* [Technical documentation for Azure AD B2C at docs.microsoft.com](../active-directory-b2c/index.yml)
97-
96+
* [Technical documentation for Azure AD B2C](../active-directory-b2c/index.yml)
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
title: Using Application Gateway WAF to protect your application
3+
description: How to add Web Application Firewall protection for apps published with Azure Active Directory Application Proxy.
4+
services: active-directory
5+
author: beatrizsilv
6+
ms.service: active-directory
7+
ms.subservice: app-proxy
8+
ms.workload: identity
9+
ms.topic: how-to
10+
ms.date: 07/22/2022
11+
ms.author: besilvei
12+
ms.reviewer: ashishj
13+
---
14+
15+
# Using Application Gateway WAF to protect your application
16+
17+
When using Azure Active Directory (Azure AD) Application Proxy to expose applications deployed on-premises, on sealed Azure Virtual Networks, or in other public clouds, you can integrate a Web Application Firewall (WAF) in the data flow in order to protect your application from malicious attacks.
18+
19+
## What is Azure Web Application Firewall?
20+
21+
Azure Web Application Firewall (WAF) on Azure Application Gateway provides centralized protection of your web applications from common exploits and vulnerabilities. Web applications are increasingly targeted by malicious attacks that exploit commonly known vulnerabilities. SQL injection and cross-site scripting are among the most common attacks. For more information about Azure WAF on Application Gateway, see [What is Azure Web Application Firewall on Azure Application Gateway?][waf-overview].
22+
23+
## Deployment steps
24+
25+
This article guides you through the steps to securely expose a web application on the Internet, by integrating the Azure AD Application Proxy with Azure WAF on Application Gateway. In this guide we'll be using the Azure portal. The reference architecture for this deployment is represented below.
26+
27+
![Diagram of deployment described.](./media/application-proxy-waf/application-proxy-waf.png)
28+
29+
### Configure Azure Application Gateway to send traffic to your internal application.
30+
31+
Some steps of the Application Gateway configuration will be omitted in this article. For a detailed guide on how to create and configure an Application Gateway, see [Quickstart: Direct web traffic with Azure Application Gateway - Azure portal][appgw_quick].
32+
33+
##### 1. Create a private-facing HTTPS listener.
34+
35+
This will allow users to access the web application privately when connected to the corporate network.
36+
37+
![Screenshot of Application Gateway listener.](./media/application-proxy-waf/application-gateway-listener.png)
38+
39+
##### 2. Create a backend pool with the web servers.
40+
41+
In this example, the backend servers have Internet Information Services (IIS) installed.
42+
43+
![Screenshot of Application Gateway backend.](./media/application-proxy-waf/application-gateway-backend.png)
44+
45+
##### 3. Create a backend setting.
46+
47+
This will determine how requests will reach the backend pool servers.
48+
49+
![Screenshot of Application Gateway backend setting.](./media/application-proxy-waf/application-gateway-backend-settings.png)
50+
51+
##### 4. Create a routing rule that ties the listener, the backend pool, and the backend setting created in the previous steps.
52+
53+
![Screenshot of adding rule to Application Gateway 1.](./media/application-proxy-waf/application-gateway-add-rule-1.png)
54+
![Screenshot of adding rule to Application Gateway 2.](./media/application-proxy-waf/application-gateway-add-rule-2.png)
55+
56+
##### 5. Enable the WAF in the Application Gateway and set it to Prevention mode.
57+
58+
![Screenshot of enabling waf in Application Gateway.](./media/application-proxy-waf/application-gateway-enable-waf.png)
59+
60+
### Configure your application to be remotely accessed through Application Proxy in Azure AD.
61+
62+
As represented in the diagram above, both connector VMs, the Application Gateway, and the backend servers were deployed in the same VNET in Azure. This setup also applies to applications and connectors deployed on-premises.
63+
64+
For a detailed guide on how to add your application to Application Proxy in Azure AD, see [Tutorial: Add an on-premises application for remote access through Application Proxy in Azure Active Directory][appproxy-add-app]. For more information about performance considerations concerning the Application Proxy connectors, see [Optimize traffic flow with Azure Active Directory Application Proxy][appproxy-optimize].
65+
66+
![Screenshot of Application Proxy configuration.](./media/application-proxy-waf/application-proxy-configuration.png)
67+
68+
In this example, the same URL was configured as the internal and external URL. Remote clients will access the application over the Internet on port 443, through the Application Proxy, whereas clients connected to the corporate network will access the application privately through the Application Gateway directly, also on port 443. For a detailed step on how to configure custom domains in Application Proxy, see [Configure custom domains with Azure AD Application Proxy][appproxy-custom-domain].
69+
70+
To ensure the connector VMs send requests to the Application Gateway, an [Azure Private DNS zone][private-dns] was created with an A record pointing www.fabrikam.one to the private frontend IP of the Application Gateway.
71+
72+
### Test the application.
73+
74+
After [adding a user for testing](/azure/active-directory/app-proxy/application-proxy-add-on-premises-application#add-a-user-for-testing), you can test the application by accessing https://www.fabrikam.one. The user will be prompted to authenticate in Azure AD, and upon successful authentication, will access the application.
75+
76+
![Screenshot of authentication step.](./media/application-proxy-waf/sign-in-2.png)
77+
![Screenshot of server response.](./media/application-proxy-waf/application-gateway-response.png)
78+
79+
### Simulate an attack.
80+
81+
To test if the WAF is blocking malicious requests, you can simulate an attack using a basic SQL injection signature. For example, "https://www.fabrikam.one/api/sqlquery?query=x%22%20or%201%3D1%20--".
82+
83+
![Screenshot of WAF response.](./media/application-proxy-waf/waf-response.png)
84+
85+
An HTTP 403 response confirms that the request was blocked by the WAF.
86+
87+
The Application Gateway [Firewall logs][waf-logs] provide more details about the request and why it was blocked by the WAF.
88+
89+
![Screenshot of waf logs.](./media/application-proxy-waf/waf-log.png)
90+
91+
## Next steps
92+
93+
To prevent false positives, learn how to [Customize Web Application Firewall rules](/azure/web-application-firewall/ag/application-gateway-customize-waf-rules-portal), configure [Web Application Firewall exclusion lists](/azure/web-application-firewall/ag/application-gateway-waf-configuration?tabs=portal), or [Web Application Firewall custom rules](/azure/web-application-firewall/ag/create-custom-waf-rules).
94+
95+
[waf-overview]: /azure/web-application-firewall/ag/ag-overview
96+
[appgw_quick]: /azure/application-gateway/quick-create-portal
97+
[appproxy-add-app]: /azure/active-directory/app-proxy/application-proxy-add-on-premises-application
98+
[appproxy-optimize]: /azure/active-directory/app-proxy/application-proxy-network-topology
99+
[appproxy-custom-domain]: /azure/active-directory/app-proxy/application-proxy-configure-custom-domain
100+
[private-dns]: /azure/dns/private-dns-getstarted-portal
101+
[waf-logs]: /azure/application-gateway/application-gateway-diagnostics#firewall-log
102+
22.3 KB
Loading
29.5 KB
Loading
48 KB
Loading
26.7 KB
Loading
36.2 KB
Loading
29.8 KB
Loading
28 KB
Loading
44.8 KB
Loading

0 commit comments

Comments
 (0)