Skip to content

Commit 3b53d7f

Browse files
authored
Merge pull request #309646 from MicrosoftDocs/main
Auto Publish – main to live - 2025-12-16 23:00 UTC
2 parents e9b2e0f + faf8253 commit 3b53d7f

41 files changed

Lines changed: 780 additions & 682 deletions

File tree

Some content is hidden

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

articles/api-management/api-management-howto-api-inspector.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,10 @@ To help automate these steps with the [Visual Studio Code REST Client](https://m
173173
@apiEndPoint = // API URL
174174
@requestBody = // Data to send
175175
@tenantId = // Tenant ID
176-
177-
POST https://login.microsoftonline.com/{tenantId}/oauth2/token
176+
@apiId = // Api Id for which trace log is to be generated.
177+
178+
# @name login
179+
POST https://login.microsoftonline.com/{{tenantId}}/oauth2/token
178180
content-type: application/x-www-form-urlencoded
179181
180182
grant_type=client_credentials&client_id={{clientId}}&client_secret={{clientSecret}}&resource=https%3A%2F%2Fmanagement.azure.com%2F
@@ -185,6 +187,7 @@ grant_type=client_credentials&client_id={{clientId}}&client_secret={{clientSecre
185187
# @name listDebugCredentials
186188
POST https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroup}}/providers/Microsoft.ApiManagement/service/{{apimName}}/gateways/managed/listDebugCredentials?api-version=2023-05-01-preview
187189
Authorization: Bearer {{authToken}}
190+
188191
Content-Type: application/json
189192
{
190193
"credentialsExpireAfter": "PT1H",
@@ -197,7 +200,13 @@ Content-Type: application/json
197200
198201
###
199202
# @name callApi
200-
curl -k -H "Apim-Debug-Authorization: {{debugToken}}" -H 'Host: {{externalHost}}' -H 'Ocp-Apim-Subscription-Key: {{subscriptionKey}}' -H 'Content-Type: application/json' '{{apiEndPoint}}' -d '{{requestBody}}'
203+
POST {{apiEndPoint}} HTTP/1.1
204+
Host: {{externalHost}}
205+
Apim-Debug-Authorization: {{debugToken}}
206+
Ocp-Apim-Subscription-Key: {{subscriptionKey}}
207+
Content-Type: application/json
208+
209+
{{requestBody}}
201210
202211
###
203212
@traceId = {{callApi.response.headers.Apim-Trace-Id}}
-269 KB
Loading

articles/app-service/migrate-wordpress.md

Lines changed: 66 additions & 67 deletions
Large diffs are not rendered by default.
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Prevent Subdomain Takeovers
3-
description: Describes options for dangling subdomain prevention on Azure App Service.
3+
description: Learn how to prevent dangling subdomain takeovers to reduce the threat of malicious activity.
44
ms.topic: concept-article
5-
ms.date: 10/14/2022
5+
ms.date: 12/02/2025
66
ms.update-cycle: 1095-days
77
ms.author: msangapu
88
ms.custom: UpdateFrequency3
@@ -13,35 +13,35 @@ ms.service: azure-app-service
1313

1414
---
1515

16-
# Mitigating subdomain takeovers in Azure App Service
16+
# Prevent subdomain takeovers in Azure App Service
1717

18-
Subdomain takeovers are a common threat for organizations that regularly create and delete many resources. A subdomain takeover can occur when you have a DNS record that points to a deprovisioned Azure resource. Such DNS records are also known as "dangling DNS" entries. Subdomain takeovers enable malicious actors to redirect traffic intended for an organization’s domain to a site performing malicious activity.
18+
Subdomain takeovers are a common threat for organizations that regularly create and delete many resources. A subdomain takeover can occur when you have a DNS record that points to a deprovisioned Azure resource. Such DNS records are also known as "dangling DNS" entries. Subdomain takeovers allow malicious actors to redirect traffic intended for an organization’s domain to a site performing malicious activity.
1919

2020
The risks of subdomain takeover include:
2121

2222
- Loss of control over the content of the subdomain
2323
- Cookie harvesting from unsuspecting visitors
2424
- Phishing campaigns
25-
- Further risks of classic attacks such as XSS, CSRF, CORS bypass
25+
- Further risks of classic attacks such as XSS, CSRF, or CORS bypass
2626

27-
Learn more about Subdomain Takeover at [Dangling DNS and subdomain takeover](../security/fundamentals/subdomain-takeover.md).
27+
To learn more about subdomain takeover, see [Prevent dangling DNS entries and avoid subdomain takeover](../security/fundamentals/subdomain-takeover.md).
2828

29-
Azure App Service provides [Name Reservation Service](#how-app-service-prevents-subdomain-takeovers) and [domain verification tokens](#how-you-can-prevent-subdomain-takeovers) to prevent subdomain takeovers.
29+
Azure App Service provides [name reservation](#how-app-service-prevents-subdomain-takeovers) and [domain verification tokens](#how-you-can-prevent-subdomain-takeovers) to prevent subdomain takeovers.
3030

3131
## How App Service prevents subdomain takeovers
3232

33-
Upon deletion of an App Service app or App Service Environment (ASE), immediate reuse of the corresponding DNS is forbidden except for subscriptions belonging to the tenant of the subscription that originally owned the DNS. Thus, the customer is afforded some time to either clean-up any associations/pointers to the said DNS or reclaim the DNS in Azure by recreating the resource with the same name. This behavior is enabled by default on Azure App Service for "\*.azurewebsites.net" and "\*.appserviceenvironment.net" resources, so it doesn't require any customer configuration.
33+
Upon deletion of an App Service app or App Service Environment (ASE), the corresponding DNS is forbidden from reuse except by subscriptions that belong to the tenant of the subscription that originally owned the DNS. Thus, the customer has some time to either clean up any associations or pointers to the said DNS or reclaim the DNS in Azure by recreating the resource with the same name. This behavior is enabled by default on Azure App Service for `*.azurewebsites.net` and `*.appserviceenvironment.net` resources, so it doesn't require any customer configuration.
3434

35-
#### Example scenario
35+
### Example scenario
3636

37-
Subscription 'A' and subscription 'B' are the only subscriptions belonging to tenant 'AB'. Subscription 'A' contains an App Service web app 'test' with DNS name 'test'.azurewebsites.net'. Upon deletion of the app, only subscription 'A' or subscription 'B' will be able to immediately reuse the DNS name 'test.azurewebsites.net' by creating a web app named 'test'. No other subscriptions will be allowed to claim the name right after the resource deletion.
37+
Subscription *A* and subscription *B* are the only subscriptions that belong to tenant *AB*. Subscription *A* contains an App Service web app *test* with DNS name `test.azurewebsites.net`. Upon deletion of the app, only subscriptions *A* or *B* are able to immediately reuse the DNS name `test.azurewebsites.net` by creating a web app named *test*. No other subscriptions are allowed to claim the name right after the resource deletion.
3838

3939
## How you can prevent subdomain takeovers
4040

41-
When creating DNS entries for Azure App Service, create an asuid.{subdomain} TXT record with the Domain Verification ID. When such a TXT record exists, no other Azure Subscription can validate the Custom Domain or take it over unless they add their token verification ID to the DNS entries.
41+
When creating DNS entries for Azure App Service, create an *asuid.{subdomain}* TXT record with the domain verification ID. When such a TXT record exists, no other Azure subscription can validate the custom domain or take it over unless they add their token verification ID to the DNS entries.
4242

4343
These records prevent the creation of another App Service app using the same name from your CNAME entry. Without the ability to prove ownership of the domain name, threat actors can't receive traffic or control the content.
4444

4545
DNS records should be updated before the site deletion to ensure bad actors can't take over the domain between the period of deletion and re-creation.
4646

47-
To get a domain verification ID, see the [Map a custom domain tutorial](app-service-web-tutorial-custom-domain.md)
47+
To get a domain verification ID, see [Set up an existing custom domain in Azure App Service](app-service-web-tutorial-custom-domain.md).

0 commit comments

Comments
 (0)