Skip to content

Commit f843a4d

Browse files
committed
edits
1 parent 4167d98 commit f843a4d

File tree

2 files changed

+17
-18
lines changed

2 files changed

+17
-18
lines changed

articles/app-service/overview-security.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ ms.author: cephalin
1212
---
1313
# Security in Azure App Service
1414

15-
This article describes how [Azure App Service](overview.md) helps secure your web app, mobile app back end, API app, or [function app](/azure/azure-functions/index). The article also describes how to help secure your app further by using built-in App Service features.
15+
This article describes how [Azure App Service](overview.md) helps secure your web app, mobile app back end, API app, or [function app](/azure/azure-functions/index). The article also describes how you can help secure your app further by using built-in App Service features.
1616

1717
[!INCLUDE [app-service-security-intro](../../includes/app-service-security-intro.md)]
1818

1919
The following sections describe more ways to help protect your App Service app from threats.
2020

2121
## HTTPS and certificates
2222

23-
You can use App Service to secure your apps through [HTTPS](https://wikipedia.org/wiki/HTTPS). When your app is created, its default domain name `<app_name>.azurewebsites.net` is already accessible via HTTPS. If you [configure a custom domain for your app](app-service-web-tutorial-custom-domain.md), help secure it with a [TLS/SSL certificate](configure-ssl-bindings.md) so that client browsers can make secure HTTPS connections to your custom domain.
23+
You can use App Service to secure your apps through [HTTPS](https://wikipedia.org/wiki/HTTPS). When your app is created, its default domain name `<app_name>.azurewebsites.net` is already accessible via HTTPS. If you [configure a custom domain for your app](app-service-web-tutorial-custom-domain.md), help [secure it with a TLS/SSL certificate](configure-ssl-bindings.md) so that client browsers can make secure HTTPS connections to your custom domain.
2424

2525
App Service supports the following types of certificates:
2626

@@ -33,29 +33,27 @@ For more information, see [Add and manage TLS/SSL certificates in Azure App Serv
3333

3434
### Unsecured protocols (HTTP, TLS 1.0, FTP)
3535

36-
By default, App Service forces a redirect from HTTP requests to HTTPS. Unsecured requests are turned away before they reach your application code. To change this behavior, see [Configure general settings]((configure-common.md#configure-general-settings).
36+
By default, App Service forces a redirect from HTTP requests to HTTPS. Unsecured requests are redirected before they reach your application code. To change this behavior, see [Configure general settings](configure-common.md#configure-general-settings).
3737

3838
Azure App Service supports the following [Transport Layer Security (TLS)](https://wikipedia.org/wiki/Transport_Layer_Security) versions for incoming requests to your web app:
3939

4040
- TLS 1.3: The latest and most secure version.
4141
- TLS 1.2: The default minimum TLS version for new web apps.
42-
- TLS 1.1 and TLS 1.0: Versions supported for backward compatibility, but not considered secure by industry standards such as the [PCI DSS](https://wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard).
42+
- TLS 1.1 and TLS 1.0: Versions supported for backward compatibility, but not considered secure by industry standards such as the [Payment Card Industry Data Security Standard (PCI DSS)](https://wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard).
4343

4444
You can configure the minimum TLS version for incoming requests to your web app and its Source Control Manager (SCM) site. By default, the minimum is set to **TLS 1.2**. To enforce different TLS versions, see [Configure general settings]((configure-common.md#configure-general-settings).
4545

46-
App Service supports both FTP and FTPS for deploying app files. New apps are set to accept FTPS only by default. To increase security, use FTPS instead of FTP if possible.
47-
48-
Both **SCM Basic Auth Publishing Credentials** and **FTP Basic Auth Publishing Credentials** must be enabled to use FTP/S. These credentials are disabled by default for new web apps. If you aren't using FTP or FTPS, you should [disable it](deploy-ftp.md#enforce-ftps). For more information, see [Deploy your app to Azure App Service using FTP/S](deploy-ftp.md).
46+
App Service supports both FTP and FTPS for deploying app files. New apps are set to accept only FTPS by default. To increase security, use FTPS instead of FTP if possible. If you aren't using FTP/S, you should [disable it](deploy-ftp.md#enforce-ftps). For more information, see [Deploy your app to Azure App Service using FTP/S](deploy-ftp.md).
4947

5048
## Static IP restrictions
5149

52-
By default, your App Service app accepts requests from all internet IP addresses, but you can limit access to a subset of IP addresses. You can use App Service on Windows to define a list of IP addresses that are allowed to access your app. The allowed list can include individual IP addresses or a range of IP addresses that are defined by a subnet mask. For more information, see [Set up Azure App Service access restrictions](app-service-ip-restrictions.md).
50+
By default, your App Service app accepts requests from all internet IP addresses, but you can limit access to a subset of IP addresses. You can use App Service on Windows to define a list of IP addresses that are allowed to access your app. The allowed list can include individual IP addresses or a range of IP addresses defined by a subnet mask. For more information, see [Set up Azure App Service access restrictions](app-service-ip-restrictions.md).
5351

5452
For App Service on Windows, you can also restrict IP addresses dynamically by configuring the *web.config* file. For more information, see [Dynamic IP Security \<dynamicIpSecurity>](/iis/configuration/system.webServer/security/dynamicIpSecurity/).
5553

5654
## Client authentication and authorization
5755

58-
You can implement your own authentication and authorization solution or allow App Service to handle it for you. App Service provides built-in authentication and authorization of users or client apps.
56+
App Service provides built-in authentication and authorization of users or client apps. You can implement your own authentication and authorization solution or allow App Service to handle it for you.
5957

6058
When enabled, built-in authentication and authorization can sign in users and client apps with little or no application code. The authentication and authorization module handles web requests before passing them to your application code, and denies unauthorized requests.
6159

@@ -71,7 +69,7 @@ When you authenticate against a back-end service, App Service provides two mecha
7169

7270
## Connectivity to remote resources
7371

74-
Your app might need to access [Azure resources](#azure-resources), [on-premises resources](#on-premises-resources), or [resources inside an Azure virtual network](#resources-inside-an-azure-virtual-network). App Service provides a secure connection method for each of these scenarios, but you should also observe security best practices, such as always using encrypted connections even if the back-end resource allows unencrypted connections.
72+
Your app might need to access [Azure resources](#azure-resources), [on-premises resources](#on-premises-resources), or [resources inside an Azure virtual network](#resources-inside-an-azure-virtual-network). App Service provides a secure connection method for each of these scenarios. You should also observe security best practices, such as always using encrypted connections even if the back-end resource allows unencrypted connections.
7573

7674
Also ensure that your back-end Azure service allows the smallest possible set of IP addresses. To find the outbound IP addresses for your app, see [Find outbound IPs](overview-inbound-outbound-ips.md#find-outbound-ips).
7775

@@ -91,12 +89,12 @@ To isolate your resource connectivity completely from the shared networks in Azu
9189

9290
You can securely access on-premises resources like databases in several different ways.
9391

94-
- A [hybrid connection](app-service-hybrid-connections.md) establishes a point-to-point connection to your remote resource through a TCP tunnel that uses TLS 1.2 with shared access signature keys.
92+
- A [hybrid connection](app-service-hybrid-connections.md) establishes a point-to-point connection to your remote resource through a Transmission Control Protocol (TCP) tunnel that uses TLS 1.2 with shared access signature keys.
9593
- [Virtual network integration](overview-vnet-integration.md) or [App Service Environment](environment/intro.md) use a site-to-site VPN as described in [Resources inside an Azure virtual network](#resources-inside-an-azure-virtual-network), but the virtual network is connected to your on-premises network through the [site-to-site VPN](/azure/vpn-gateway/tutorial-site-to-site-portal). In this network topology, your app can connect to on-premises resources the same way it connects to other resources in the virtual network.
9694

9795
## Application secrets
9896

99-
Don't store application secrets like database credentials, API tokens, and private keys in your code or configuration files, but access them as [environment variables](https://wikipedia.org/wiki/Environment_variable) by using the standard pattern in your code language. In App Service, you define environment variables through [app settings](configure-common.md#configure-app-settings) and, especially for .NET applications, [connection strings](configure-common.md#configure-connection-strings).
97+
Don't store application secrets like database credentials, API tokens, and private keys in your code or configuration files. Instead, access them as [environment variables](https://wikipedia.org/wiki/Environment_variable) using the standard pattern for your code language. In App Service, you define environment variables through [app settings](configure-common.md#configure-app-settings) and, especially for .NET applications, [connection strings](configure-common.md#configure-connection-strings).
10098

10199
App settings and connection strings are stored encrypted in Azure and are decrypted just before they're injected into your app's process memory when the app starts. The encryption keys are rotated regularly.
102100

includes/app-service-security-intro.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ ms.topic: include
55
ms.date: 07/02/2025
66
ms.author: cephalin
77
---
8-
Azure App Service actively secures and hardens its platform components, including Azure virtual machines (VMs), storage, network connections, web frameworks, and management and integration features. Continuous, rigorous compliance checks ensure:
8+
Azure App Service actively secures and hardens its platform components, including Azure virtual machines (VMs), storage, network connections, web frameworks, and management and integration features. App Service undergoes continuous, rigorous compliance checks to ensure that:
99

10-
- [Isolation of app resources from other Azure apps and resources](https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox).
11-
- [Regular updates of VMs and runtime software](/azure/app-service/overview-patch-os-runtime) to address newly discovered vulnerabilities.
12-
- Communication of secrets and connection strings between apps and other Azure resources like [Azure SQL Database](https://azure.microsoft.com/services/sql-database/) only within Azure, without crossing any network boundaries.
13-
- Encryption of all communication over App Service connectivity features like [Hybrid Connection](/azure/app-service/app-service-hybrid-connections), and all connections using remote management tools like Azure PowerShell, Azure CLI, Azure SDKs, and REST APIs. Stored secrets are always encrypted.
14-
- Continuous threat management to protect the infrastructure and platform against malware, distributed denial-of-service (DDoS) and man-in-the-middle attacks, and other threats.
10+
- [Apps are segregated from other Azure apps and resources](https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox).
11+
- [Regular updates of VMs and runtime software occur](/azure/app-service/overview-patch-os-runtime) to address newly discovered vulnerabilities.
12+
- Communication of secrets and connection strings between apps and other Azure resources like [Azure SQL Database](https://azure.microsoft.com/services/sql-database/) occurs only within Azure, without crossing any network boundaries. Stored secrets are always encrypted.
13+
- All communication over App Service connectivity features like [Hybrid Connection](/azure/app-service/app-service-hybrid-connections) are encrypted.
14+
- All connections via remote management tools like Azure PowerShell, Azure CLI, Azure SDKs, and REST APIs are encrypted.
15+
- Continuous threat management protects the infrastructure and platform against malware, distributed denial-of-service (DDoS) and man-in-the-middle attacks, and other threats.
1516

1617
For more information on infrastructure and platform security in Azure, see the [Azure Trust Center](https://www.microsoft.com/trust-center).

0 commit comments

Comments
 (0)