Skip to content

Commit eb615d9

Browse files
authored
Merge pull request #214528 from dlepow/ddos
[APIM] Configure Azure DDoS Protection
2 parents da540af + 84e84fa commit eb615d9

File tree

5 files changed

+66
-9
lines changed

5 files changed

+66
-9
lines changed

articles/api-management/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,8 @@
279279
href: api-management-howto-ca-certificates.md
280280
- name: Manage protocols and ciphers
281281
href: api-management-howto-manage-protocols-ciphers.md
282+
- name: Defend against DDoS attacks
283+
href: protect-with-ddos-protection.md
282284
- name: Mitigate OWASP API threats
283285
href: mitigate-owasp-api-threats.md
284286
displayName: OWASP top 10, vulnerability, vulnerabilities
29.8 KB
Loading

articles/api-management/mitigate-owasp-api-threats.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ More information about this threat: [API4:2019 Lack of resources and rate limiti
121121

122122
* Limit the number of parallel backend connections with the [limit concurrency](api-management-advanced-policies.md#LimitConcurrency) policy.
123123

124-
* While API Management can protect backend services from DDoS attacks, it may be vulnerable to those attacks itself. Deploy a bot protection service in front of API Management (for example, [Azure Application Gateway](api-management-howto-integrate-internal-vnet-appgateway.md), [Azure Front Door](../frontdoor/front-door-overview.md), or [Azure DDoS Protection Service](../ddos-protection/ddos-protection-overview.md)) to better protect against DDoS attacks. When using a WAF with Azure Application Gateway or Azure Front Door, consider using [Microsoft_BotManagerRuleSet_1.0](../web-application-firewall/afds/afds-overview.md#bot-protection-rule-set).
124+
* While API Management can protect backend services from DDoS attacks, it may be vulnerable to those attacks itself. Deploy a bot protection service in front of API Management (for example, [Azure Application Gateway](api-management-howto-integrate-internal-vnet-appgateway.md), [Azure Front Door](front-door-api-management.md), or [Azure DDoS Protection](protect-with-ddos-protection.md)) to better protect against DDoS attacks. When using a WAF with Azure Application Gateway or Azure Front Door, consider using [Microsoft_BotManagerRuleSet_1.0](../web-application-firewall/afds/afds-overview.md#bot-protection-rule-set).
125125

126126
## Broken function level authorization
127127

@@ -237,7 +237,7 @@ More information about this threat: [API8:2019 Injection](https://github.com/OWA
237237

238238
### Recommendations
239239

240-
* [Modern Web Application Firewall (WAF) policies](https://github.com/SpiderLabs/ModSecurity) cover many common injection vulnerabilities. While API Management doesn’t have a built-in WAF component, deploying a WAF upstream (in front) of the API Management instance is strongly recommended. For example, use [Azure Application Gateway](/azure/architecture/reference-architectures/apis/protect-apis) or [Azure Front Door](../frontdoor/front-door-overview.md).
240+
* [Modern Web Application Firewall (WAF) policies](https://github.com/SpiderLabs/ModSecurity) cover many common injection vulnerabilities. While API Management doesn’t have a built-in WAF component, deploying a WAF upstream (in front) of the API Management instance is strongly recommended. For example, use [Azure Application Gateway](/azure/architecture/reference-architectures/apis/protect-apis) or [Azure Front Door](front-door-api-management.md).
241241

242242
> [!IMPORTANT]
243243
> Ensure that a bad actor can't bypass the gateway hosting the WAF and connect directly to the API Management gateway or backend API itself. Possible mitigations include: [network ACLs](../virtual-network/network-security-groups-overview.md), using API Management policy to [restrict inbound traffic by client IP](api-management-access-restriction-policies.md#RestrictCallerIPs), removing public access where not required, and [client certificate authentication](api-management-howto-mutual-certificates-for-clients.md) (also known as mutual TLS or mTLS).
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: Defend API Management against DDoS attacks
3+
description: Learn how to protect your API Management instance in an external virtual network against volumetric and protocol DDoS attacks by using Azure DDoS Protection Standard.
4+
services: api-management
5+
author: dlepow
6+
7+
ms.service: api-management
8+
ms.topic: how-to
9+
ms.date: 10/24/2022
10+
ms.author: danlep
11+
---
12+
# Defend your Azure API Management instance against DDoS attacks
13+
14+
This article shows how to defend your Azure API Management instance against distributed denial of service (DDoS) attacks by enabling [Azure DDoS Protection](../ddos-protection/ddos-protection-overview.md). Azure DDoS Protection provides enhanced DDoS mitigation features to defend against volumetric and protocol DDoS attacks.​
15+
16+
[!INCLUDE [premium-dev.md](../../includes/api-management-availability-premium-dev.md)]
17+
18+
## Supported configurations
19+
20+
Enabling Azure DDoS Protection for API Management is currently available only for instances deployed (injected) in a VNet in [external mode](api-management-using-with-vnet.md).
21+
22+
Currently, Azure DDoS Protection can't be enabled for the following API Management configurations:
23+
24+
* Instances that aren't VNet-injected
25+
* Instances deployed in a VNet in [internal mode](api-management-using-with-internal-vnet.md)
26+
* Instances configured with a [private endpoint](private-endpoint.md)
27+
28+
## Prerequisites
29+
30+
* An API Management instance
31+
* The instance must be deployed in an Azure VNet in [external mode](api-management-using-with-vnet.md)
32+
* The instance to be configured with an Azure public IP address resource, which is supported only on the API Management `stv2` [compute platform](compute-infrastructure.md).
33+
* If the instance is hosted on the `stv1` platform, you must [migrate](compute-infrastructure.md#how-do-i-migrate-to-the-stv2-platform) to the `stv2` platform.
34+
* An Azure DDoS Protection [plan](../ddos-protection/manage-ddos-protection.md)
35+
* The plan you select can be in the same, or different, subscription than the virtual network and the API Management instance. If the subscriptions differ, they must be associated to the same Azure Active Directory tenant.
36+
* You may use a plan created using either the Network DDoS protection SKU or IP DDoS Protection SKU (preview). See [Azure DDoS Protection SKU Comparison](../ddos-protection/ddos-protection-sku-comparison.md).
37+
38+
> [!NOTE]
39+
> Azure DDoS Protection plans incur additional charges. For more information, see [Pricing](https://azure.microsoft.com/pricing/details/ddos-protection/).
40+
41+
## Enable DDoS Protection
42+
43+
Depending on the DDoS Protection plan you use, enable DDoS protection on the virtual network used for your API Management instance, or the IP address resource configured for your virtual network.
44+
45+
### Enable DDoS Protection on the virtual network used for your API Management instance
46+
47+
1. In the [Azure portal](https://portal.azure.com), navigate to the VNet where your API Management is injected.
48+
1. In the left menu, under **Settings**, select **DDoS protection**.
49+
1. Select **Enable**, and then select your **DDoS protection plan**.
50+
1. Select **Save**.
51+
52+
:::image type="content" source="media/protect-with-ddos-protection/enable-ddos-protection.png" alt-text="Screenshot of enabling a DDoS Protection plan on a VNet in the Azure portal.":::
53+
54+
### Enable DDoS protection on the API Management public IP address
55+
56+
If your plan uses the IP DDoS Protection SKU, see [Enable DDoS IP Protection for a public IP address](../ddos-protection/manage-ddos-protection-powershell-ip.md#disable-ddos-ip-protection-for-an-existing-public-ip-address).
57+
58+
## Next steps
59+
60+
* Learn how to verify DDoS protection of your API Management instance by [testing with simulation partners](../ddos-protection/test-through-simulations.md)
61+
* Learn how to [view and configure Azure DDoS Protection telemetry](../ddos-protection/telemetry.md)

articles/api-management/virtual-network-concepts.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -181,23 +181,17 @@ For more information, see [Integrate API Management in an internal virtual netwo
181181

182182
Learn more about:
183183

184-
* [Connecting a virtual network to backend using VPN Gateway](../vpn-gateway/design.md#s2smulti)
185-
* [Connecting a virtual network from different deployment models](../vpn-gateway/vpn-gateway-connect-different-deployment-models-powershell.md)
186-
* [Virtual network frequently asked questions](../virtual-network/virtual-networks-faq.md)
187-
188184
Virtual network configuration with API Management:
189185
* [Connect to an external virtual network using Azure API Management](./api-management-using-with-vnet.md).
190186
* [Connect to an internal virtual network using Azure API Management](./api-management-using-with-internal-vnet.md).
191187
* [Connect privately to API Management using a private endpoint](private-endpoint.md)
192-
188+
* [Defend your Azure API Management instance against DDoS attacks](protect-with-ddos-protection.md)
193189

194190
Related articles:
195191

196192
* [Connecting a Virtual Network to backend using Vpn Gateway](../vpn-gateway/design.md#s2smulti)
197193
* [Connecting a Virtual Network from different deployment models](../vpn-gateway/vpn-gateway-connect-different-deployment-models-powershell.md)
198-
* [How to use the API Inspector to trace calls in Azure API Management](api-management-howto-api-inspector.md)
199194
* [Virtual Network Frequently asked Questions](../virtual-network/virtual-networks-faq.md)
200-
* [Service tags](../virtual-network/network-security-groups-overview.md#service-tags)
201195

202196

203197

0 commit comments

Comments
 (0)