You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/app-service/containers/configure-language-php.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -164,7 +164,7 @@ Redeploy your app with the changes and restart it. If you deploy it with Kudu (f
164
164
165
165
As an alternative to using *.htaccess*, you can use [ini_set()](https://www.php.net/manual/function.ini-set.php) in your app to customize these non-PHP_INI_SYSTEM directives.
To customize PHP_INI_SYSTEM directives (see [php.ini directives](https://www.php.net/manual/ini.list.php)), you can't use the *.htaccess* approach. App Service provides a separate mechanism using the `PHP_INI_SCAN_DIR` app setting.
Copy file name to clipboardExpand all lines: articles/app-service/containers/configure-language-ruby.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -139,7 +139,7 @@ However, this setting alone causes the Rails server to start in development mode
139
139
az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings APP_COMMAND_LINE="rails server -b 0.0.0.0"
140
140
```
141
141
142
-
### Set secret_key_base manually
142
+
### <aname="set-secret_key_base-manually"></a> Set secret_key_base manually
143
143
144
144
To use your own `secret_key_base` value instead of letting App Service generate one for you, set the `SECRET_KEY_BASE`[app setting](../configure-common.md?toc=%2fazure%2fapp-service%2fcontainers%2ftoc.json#configure-app-settings) with the value you want. For example:
145
145
@@ -161,4 +161,4 @@ az webapp config appsettings set --name <app-name> --resource-group <resource-gr
161
161
> [Tutorial: Rails app with PostgreSQL](tutorial-ruby-postgres-app.md)
162
162
163
163
> [!div class="nextstepaction"]
164
-
> [App Service Linux FAQ](app-service-linux-faq.md)
164
+
> [App Service Linux FAQ](app-service-linux-faq.md)
title: Security recommendations for Azure App Service
3
+
description: Security recommendations for the Azure App Service. Implementing these recommendations will help you fulfill your security obligations as described in our shared responsibility model and will improve the overall security for your web app solutions.
4
+
services: app-service
5
+
author: barclayn
6
+
manager: barbkess
7
+
8
+
ms.service: app-service
9
+
ms.topic: conceptual
10
+
ms.date: 06/17/2019
11
+
ms.author: barclayn
12
+
13
+
---
14
+
15
+
# Security recommendations for App Service
16
+
17
+
This article contains security recommendations for Azure App Service. Implementing these recommendations will help you fulfill your security obligations as described in our shared responsibility model and will improve the overall security for your Web App solutions. For more information on what Microsoft does to fulfill service provider responsibilities, read [Azure infrastructure security](../security/azure-security-infrastructure.md).
18
+
19
+
## General
20
+
21
+
| Recommendation | Comments |
22
+
|-|-|----|
23
+
| Stay up-to-date | Use the latest versions of supported platforms, programming languages, protocols, and frameworks. |
24
+
25
+
## Identity and access management
26
+
27
+
| Recommendation | Comments |
28
+
|-|----|
29
+
| Disable anonymous access | Unless you need to support anonymous requests, disable anonymous access. For more information on Azure App Service authentication options, see [Authentication and authorization in Azure App Service](overview-authentication-authorization.md).|
30
+
| Require authentication | Whenever possible, use the App Service authentication module instead of writing code to handle authentication and authorization. See [Authentication and authorization in Azure App Service](overview-authentication-authorization.md). |
31
+
| Protect back-end resources with authenticated access | You can either use the user's identity or use an application identity to authenticate to a back-end resource. When you choose to use an application identity use a [managed identity](overview-managed-identity.md).
32
+
| Require client certificate authentication | Client certificate authentication improves security by only allowing connections from clients that can authenticate using certificates that you provide. |
33
+
34
+
## Data protection
35
+
36
+
| Recommendation | Comments |
37
+
|-|-|
38
+
| Redirect HTTP to HTTPs | By default, clients can connect to web apps by using both HTTP or HTTPS. We recommend redirecting HTTP to HTTPs because HTTPS uses the SSL/TLS protocol to provide a secure connection, which is both encrypted and authenticated. |
39
+
| Encrypt communication to Azure resources | When your app connects to Azure resources, such as [SQL Database](https://azure.microsoft.com/services/sql-database/) or [Azure Storage](/azure/storage/), the connection stays in Azure. Since the connection goes through the shared networking in Azure, you should always encrypt all communication. |
40
+
| Require the latest TLS version possible | Since 2018 new Azure App Service apps use TLS 1.2. Newer versions of TLS include security improvements over older protocol versions. |
41
+
| Use FTPS | App Service supports both FTP and FTPS for deploying your files. Use FTPS instead of FTP when possible. When one or both of these protocols are not in use, you should [disable them](deploy-ftp.md#enforce-ftps). |
42
+
| Secure application data | Don't store application secrets, such as database credentials, API tokens, or private keys in your code or configuration files. The commonly accepted approach is to access them as [environment variables](https://wikipedia.org/wiki/Environment_variable) using the standard pattern in your language of choice. In Azure App Service, you can define environment variables through [app settings](web-sites-configure.md) and [connection strings](web-sites-configure.md). App settings and connection strings are stored encrypted in Azure. The app settings are decrypted only before being injected into your app's process memory when the app starts. The encryption keys are rotated regularly. Alternatively, you can integrate your Azure App Service app with [Azure Key Vault](/azure/key-vault/) for advanced secrets management. By [accessing the Key Vault with a managed identity](../key-vault/tutorial-web-application-keyvault.md), your App Service app can securely access the secrets you need. |
43
+
44
+
## Networking
45
+
46
+
| Recommendation | Comments |
47
+
|-|-|
48
+
| Use static IP restrictions | Azure App Service on Windows lets you 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 [Azure App Service Static IP Restrictions](app-service-ip-restrictions.md). |
49
+
| Use the isolated pricing tier | Except for the isolated pricing tier, all tiers run your apps on the shared network infrastructure in Azure App Service. The isolated tier gives you complete network isolation by running your apps inside a dedicated [App Service environment](environment/intro.md). An App Service environment runs in your own instance of [Azure Virtual Network](/azure/virtual-network/).|
50
+
| Use secure connections when accessing on-premises resources | You can use [Hybrid connections](app-service-hybrid-connections.md), [Virtual Network integration](web-sites-integrate-with-vnet.md), or [App Service environment's](environment/intro.md) to connect to on-premises resources. |
51
+
| Limit exposure to inbound network traffic | Network security groups allow you to restrict network access and control the number of exposed endpoints. For more information, see [How To Control Inbound Traffic to an App Service Environment](environment/app-service-app-service-environment-control-inbound-traffic.md). |
52
+
53
+
## Monitoring
54
+
55
+
| Recommendation | Comments |
56
+
|-|-|
57
+
|Use Azure Security Center standard tier |[Azure Security Center](../security-center/security-center-app-services.md) is natively integrated with Azure App Service. It can run assessments and provide security recommendations. |
58
+
59
+
## Next steps
60
+
61
+
Check with your application provider to see if there are additional security requirements. For more information on developing secure applications, see [Secure Development Documentation](../security/abstract-develop-secure-apps.md).
Copy file name to clipboardExpand all lines: articles/automation/automation-update-management.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ The following diagram shows a conceptual view of the behavior and data flow with
33
33
34
34
Update Management can be used to natively onboard machines in multiple subscriptions in the same tenant.
35
35
36
-
Once a CVE is released, it takes 2-3 hours for the patch to show up for Linux machines for assessment. For Windows machines, it takes 12-15 hours for the patch to show up for assessment after it has been released.
36
+
Once a package is released, it takes 2-3 hours for the patch to show up for Linux machines for assessment. For Windows machines, it takes 12-15 hours for the patch to show up for assessment after it has been released.
37
37
38
38
After a computer completes a scan for update compliance, the agent forwards the information in bulk to Azure Monitor logs. On a Windows computer, the compliance scan is run every 12 hours by default.
Copy file name to clipboardExpand all lines: articles/backup/backup-azure-microsoft-azure-backup.md
+12-13Lines changed: 12 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,19 +37,18 @@ Azure Backup Server inherits much of the workload backup functionality from Data
37
37
The first step towards getting the Azure Backup Server up and running is to set up a Windows Server. Your server can be in Azure or on-premises.
38
38
39
39
### Using a server in Azure
40
-
When choosing a server for running Azure Backup Server, it is recommended you start with a gallery image of Windows Server 2012 R2 Datacenter, Windows Server 2016 Datacenter or Windows Server 2019 Datacenter. The article, [Create your first Windows virtual machine in the Azure portal](../virtual-machines/virtual-machines-windows-hero-tutorial.md?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json), provides a tutorial for getting started with the recommended virtual machine in Azure, even if you've never used Azure before. The recommended minimum requirements for the server virtual machine (VM) should be: A2 Standard with two cores and 3.5 GB RAM.
40
+
When choosing a server for running Azure Backup Server, it is recommended you start with a gallery image of Windows Server 2012 R2 Datacenter, Windows Server 2016 Datacenter or Windows Server 2019 Datacenter. The article, [Create your first Windows virtual machine in the Azure portal](../virtual-machines/virtual-machines-windows-hero-tutorial.md?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json), provides a tutorial for getting started with the recommended virtual machine in Azure, even if you've never used Azure before. The recommended minimum requirements for the server virtual machine (VM) should be: Standard_A4_v2 with four cores and 8 GB RAM.
41
41
42
42
Protecting workloads with Azure Backup Server has many nuances. The article, [Install DPM as an Azure virtual machine](https://technet.microsoft.com/library/jj852163.aspx), helps explain these nuances. Before deploying the machine, read this article completely.
43
43
44
44
### Using an on-premises server
45
-
If you do not want to run the base server in Azure, you can run the server on a Hyper-V VM, a VMware VM, or a physical host. The recommended minimum requirements for the server hardware are two cores and 4 GB RAM. The supported operating systems are listed in the following table:
45
+
If you do not want to run the base server in Azure, you can run the server on a Hyper-V VM, a VMware VM, or a physical host. The recommended minimum requirements for the server hardware are two cores and 8 GB RAM. The supported operating systems are listed in the following table:
46
46
47
47
| Operating System | Platform | SKU |
48
48
|:--- | --- |:--- |
49
49
| Windows Server 2019 |64 bit |Standard, Datacenter, Essentials (MABS V3 and later) |
50
50
| Windows Server 2016 and latest SPs |64 bit |Standard, Datacenter, Essentials (MABS V2 and later) |
51
51
| Windows Server 2012 R2 and latest SPs |64 bit |Standard, Datacenter, Foundation |
52
-
| Windows Server 2012 and latest SPs |64 bit |Datacenter, Foundation, Standard |
53
52
| Windows Storage Server 2012 R2 and latest SPs |64 bit |Standard, Workgroup |
54
53
| Windows Storage Server 2012 and latest SPs |64 bit |Standard, Workgroup |
55
54
@@ -137,7 +136,7 @@ To edit the storage replication setting:
137
136
After you've downloaded all the files, click **MicrosoftAzureBackupInstaller.exe**. This will start the **Microsoft Azure Backup Setup Wizard** to extract the setup files to a location specified by you. Continue through the wizard and click on the **Extract** button to begin the extraction process.
138
137
139
138
> [!WARNING]
140
-
> At least 4GB of free space is required to extract the setup files.
139
+
> At least 4 GB of free space is required to extract the setup files.
141
140
>
142
141
>
143
142
@@ -201,7 +200,7 @@ Once the extraction process complete, check the box to launch the freshly extrac
201
200
202
201
The next step is to configure the Microsoft Azure Recovery Services Agent. As a part of the configuration, you will have to provide your vault credentials to register the machine to the recovery services vault. You will also provide a passphrase to encrypt/decrypt the data sent between Azure and your premises. You can automatically generate a passphrase or provide your own minimum 16-character passphrase. Continue with the wizard until the agent has been configured.

205
204
9. Once registration of the Microsoft Azure Backup server successfully completes, the overall setup wizard proceeds to the installation and configuration of SQL Server and the Azure Backup Server components. Once the SQL Server component installation completes, the Azure Backup Server components are installed.
@@ -267,7 +266,7 @@ Here are the steps if you need to move MABS to a new server, while retaining the
267
266
## Network connectivity
268
267
Azure Backup Server requires connectivity to the Azure Backup service for the product to work successfully. To validate whether the machine has the connectivity to Azure, use the ```Get-DPMCloudConnection``` cmdlet in the Azure Backup Server PowerShell console. If the output of the cmdlet is TRUE then connectivity exists, else there is no connectivity.
269
268
270
-
At the same time, the Azure subscription needs to be in a healthy state. To find out the state of your subscription and to manage it, log in to the [subscription portal](https://account.windowsazure.com/Subscriptions).
269
+
At the same time, the Azure subscription needs to be in a healthy state. To find out the state of your subscription and to manage it, sign in to the [subscription portal](https://account.windowsazure.com/Subscriptions).
271
270
272
271
Once you know the state of the Azure connectivity and of the Azure subscription, you can use the table below to find out the impact on the backup/restore functionality offered.
273
272
@@ -281,7 +280,7 @@ Once you know the state of the Azure connectivity and of the Azure subscription,
281
280
| Lost connectivity > 15 days |Deprovisioned |Stopped |Stopped |Stopped and Azure recovery points deleted |Stopped |
282
281
283
282
### Recovering from loss of connectivity
284
-
If you have a firewall or a proxy that is preventing access to Azure, you need to whitelist the following domain addresses in the firewall/proxy profile:
283
+
If you have a firewall or a proxy that is preventing access to Azure, you need to allow the following domain addresses in the firewall/proxy profile:
285
284
286
285
*`http://www.msftncsi.com/ncsi.txt`
287
286
*\*.Microsoft.com
@@ -303,7 +302,7 @@ Use the following procedures to upgrade MABS.
303
302
### Upgrade from MABS V2 to V3
304
303
305
304
> [!NOTE]
306
-
>
305
+
>
307
306
> MABS V2 is not a prerequisite for installing MABS V3. However, you can upgrade to MABS V3 only from MABS V2.
308
307
309
308
Use the following steps to upgrade MABS:
@@ -313,23 +312,23 @@ Use the following steps to upgrade MABS:
313
312
2. Upgrade your server. The steps are similar to [installation](#install-and-upgrade-azure-backup-server). However, for SQL settings, you will get an option to upgrade your SQL instance to SQL 2017, or to use your own instance of SQL server 2017.
314
313
315
314
> [!NOTE]
316
-
>
315
+
>
317
316
> Do not exit while your SQL instance is being upgraded, exiting will uninstall the SQL reporting instance and hence an attempt to re-upgrade MABS will fail.
318
317
319
318
Important things to note:
320
319
321
320
> [!IMPORTANT]
322
-
>
321
+
>
323
322
> As part of SQL 2017 upgrade, we backup the SQL encryption keys and uninstall the reporting services. After SQL server upgrade, reporting service(14.0.6827.4788) is installed & encryption keys are restored.
324
-
>
323
+
>
325
324
> When configuring SQL 2017 manually, refer to *SSRS configuration with SQL 2017* section under Install instructions.
326
325
327
326
3. Update the protection agents on the protected servers.
328
327
4. Backups should continue without the need to restart your production servers.
329
328
5. You can begin protecting your data now. If you are upgrading to Modern Backup Storage, while protecting, you can also choose the volumes you wish to store the backups in, and check for under provisioned space. [Learn more](backup-mabs-add-storage.md).
330
329
331
330
> [!NOTE]
332
-
>
331
+
>
333
332
> If you are upgrading from MABS V1 to V2, make sure your OS is Windows Server 2016 or Windows Server 2012 R2. To take advantage of new features like System Center 2016 Data Protection Manager Modern Backup Storage, you must install Backup Server V2 on Windows Server 2016. Before you upgrade to or install Backup Server V2, read about the [installation prerequisites](https://docs.microsoft.com/system-center/dpm/install-dpm?view=sc-dpm-1807#setup-prerequisites) applicable for MABS.
0 commit comments