Skip to content

Commit 3e95959

Browse files
Merge pull request #109849 from TimShererWithAquent/us1679050cu
Change SSL to TLS per 1679050
2 parents 42200f4 + f77e826 commit 3e95959

4 files changed

+19
-19
lines changed

articles/app-service/environment/app-service-app-service-environment-control-inbound-traffic.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ Before locking down inbound network traffic with a network security group, it is
2727

2828
The following is a list of ports used by an App Service Environment. All ports are **TCP**, unless otherwise clearly noted:
2929

30-
* 454: **Required port** used by Azure infrastructure for managing and maintaining App Service Environments via SSL. Do not block traffic to this port. This port is always bound to the public VIP of an ASE.
31-
* 455: **Required port** used by Azure infrastructure for managing and maintaining App Service Environments via SSL. Do not block traffic to this port. This port is always bound to the public VIP of an ASE.
30+
* 454: **Required port** used by Azure infrastructure for managing and maintaining App Service Environments via TLS. Do not block traffic to this port. This port is always bound to the public VIP of an ASE.
31+
* 455: **Required port** used by Azure infrastructure for managing and maintaining App Service Environments via TLS. Do not block traffic to this port. This port is always bound to the public VIP of an ASE.
3232
* 80: Default port for inbound HTTP traffic to apps running in App Service Plans in an App Service Environment. On an ILB-enabled ASE, this port is bound to the ILB address of the ASE.
33-
* 443: Default port for inbound SSL traffic to apps running in App Service Plans in an App Service Environment. On an ILB-enabled ASE, this port is bound to the ILB address of the ASE.
33+
* 443: Default port for inbound TLS traffic to apps running in App Service Plans in an App Service Environment. On an ILB-enabled ASE, this port is bound to the ILB address of the ASE.
3434
* 21: Control channel for FTP. This port can be safely blocked if FTP is not being used. On an ILB-enabled ASE, this port can be bound to the ILB address for an ASE.
3535
* 990: Control channel for FTPS. This port can be safely blocked if FTPS is not being used. On an ILB-enabled ASE, this port can be bound to the ILB address for an ASE.
3636
* 10001-10020: Data channels for FTP. As with the control channel, these ports can be safely blocked if FTP is not being used. On an ILB-enabled ASE, this port can be bound to the ASE's ILB address.
@@ -58,7 +58,7 @@ The following demonstrates creating a network security group:
5858

5959
Once a network security group is created, one or more network security rules are added to it. Since the set of rules may change over time, it is recommended to space out the numbering scheme used for rule priorities to make it easy to insert additional rules over time.
6060

61-
The example below shows a rule that explicitly grants access to the management ports needed by the Azure infrastructure to manage and maintain an App Service Environment. Note that all management traffic flows over SSL and is secured by client certificates, so even though the ports are opened they are inaccessible by any entity other than Azure management infrastructure.
61+
The example below shows a rule that explicitly grants access to the management ports needed by the Azure infrastructure to manage and maintain an App Service Environment. Note that all management traffic flows over TLS and is secured by client certificates, so even though the ports are opened they are inaccessible by any entity other than Azure management infrastructure.
6262

6363
Get-AzureNetworkSecurityGroup -Name "testNSGexample" | Set-AzureNetworkSecurityRule -Name "ALLOW AzureMngmt" -Type Inbound -Priority 100 -Action Allow -SourceAddressPrefix 'INTERNET' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '454-455' -Protocol TCP
6464

articles/app-service/environment/app-service-app-service-environment-create-ilb-ase-resourcemanager.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ App Service Environments can be created with a virtual network internal address
2424
There are three steps involved in automating creation of an ILB ASE:
2525

2626
1. First the base ASE is created in a virtual network using an internal load balancer address instead of a public VIP. As part of this step, a root domain name is assigned to the ILB ASE.
27-
2. Once the ILB ASE is created, an SSL certificate is uploaded.
28-
3. The uploaded SSL certificate is explicitly assigned to the ILB ASE as its "default" SSL certificate. This SSL certificate will be used for SSL traffic to apps on the ILB ASE when the apps are addressed using the common root domain assigned to the ASE (e.g. `https://someapp.mycustomrootcomain.com`)
27+
2. Once the ILB ASE is created, a TLS/SSL certificate is uploaded.
28+
3. The uploaded TLS/SSL certificate is explicitly assigned to the ILB ASE as its "default" TLS/SSL certificate. This TLS/SSL certificate will be used for TLS traffic to apps on the ILB ASE when the apps are addressed using the common root domain assigned to the ASE (e.g. `https://someapp.mycustomrootcomain.com`)
2929

3030
## Creating the Base ILB ASE
3131
An example Azure Resource Manager template, and its associated parameters file, are available on GitHub [here][quickstartilbasecreate].
@@ -45,17 +45,17 @@ Once the *azuredeploy.parameters.json* file has been filled in for an ILB ASE, t
4545

4646
After the Azure Resource Manager template is submitted it will take a few hours for the ILB ASE to be created. Once the creation completes, the ILB ASE will show up in the portal UX in the list of App Service Environments for the subscription that triggered the deployment.
4747

48-
## Uploading and Configuring the "Default" SSL Certificate
49-
Once the ILB ASE is created, an SSL certificate should be associated with the ASE as the "default" SSL certificate use for establishing SSL connections to apps. Continuing with the hypothetical Contoso Corporation example, if the ASE's default DNS suffix is *internal-contoso.com*, then a connection to *https://some-random-app.internal-contoso.com* requires an SSL certificate that is valid for **.internal-contoso.com*.
48+
## Uploading and Configuring the "Default" TLS/SSL Certificate
49+
Once the ILB ASE is created, a TLS/SSL certificate should be associated with the ASE as the "default" TLS/SSL certificate use for establishing TLS/SSL connections to apps. Continuing with the hypothetical Contoso Corporation example, if the ASE's default DNS suffix is *internal-contoso.com*, then a connection to *https://some-random-app.internal-contoso.com* requires a TLS/SSL certificate that is valid for **.internal-contoso.com*.
5050

51-
There are a variety of ways to obtain a valid SSL certificate including internal CAs, purchasing a certificate from an external issuer, and using a self-signed certificate. Regardless of the source of the SSL certificate, the following certificate attributes need to be configured properly:
51+
There are a variety of ways to obtain a valid TLS/SSL certificate including internal CAs, purchasing a certificate from an external issuer, and using a self-signed certificate. Regardless of the source of the TLS/SSL certificate, the following certificate attributes need to be configured properly:
5252

5353
* *Subject*: This attribute must be set to **.your-root-domain-here.com*
54-
* *Subject Alternative Name*: This attribute must include both **.your-root-domain-here.com*, and **.scm.your-root-domain-here.com*. The reason for the second entry is that SSL connections to the SCM/Kudu site associated with each app will be made using an address of the form *your-app-name.scm.your-root-domain-here.com*.
54+
* *Subject Alternative Name*: This attribute must include both **.your-root-domain-here.com*, and **.scm.your-root-domain-here.com*. The reason for the second entry is that TLS connections to the SCM/Kudu site associated with each app will be made using an address of the form *your-app-name.scm.your-root-domain-here.com*.
5555

56-
With a valid SSL certificate in hand, two additional preparatory steps are needed. The SSL certificate needs to be converted/saved as a .pfx file. Remember that the .pfx file needs to include all intermediate and root certificates, and also needs to be secured with a password.
56+
With a valid TLS/SSL certificate in hand, two additional preparatory steps are needed. The TLS/SSL certificate needs to be converted/saved as a .pfx file. Remember that the .pfx file needs to include all intermediate and root certificates, and also needs to be secured with a password.
5757

58-
Then the resultant .pfx file needs to be converted into a base64 string because the SSL certificate will be uploaded using an Azure Resource Manager template. Since Azure Resource Manager templates are text files, the .pfx file needs to be converted into a base64 string so it can be included as a parameter of the template.
58+
Then the resultant .pfx file needs to be converted into a base64 string because the TLS/SSL certificate will be uploaded using an Azure Resource Manager template. Since Azure Resource Manager templates are text files, the .pfx file needs to be converted into a base64 string so it can be included as a parameter of the template.
5959

6060
The Powershell code snippet below shows an example of generating a self-signed certificate, exporting the certificate as a .pfx file, converting the .pfx file into a base64 encoded string, and then saving the base64 encoded string to a separate file. The Powershell code for base64 encoding was adapted from the [Powershell Scripts Blog][examplebase64encoding].
6161

@@ -71,7 +71,7 @@ The Powershell code snippet below shows an example of generating a self-signed c
7171
$fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
7272
$fileContentEncoded | set-content ($fileName + ".b64")
7373

74-
Once the SSL certificate has been successfully generated and converted to a base64 encoded string, the example Azure Resource Manager template on GitHub for [configuring the default SSL certificate][configuringDefaultSSLCertificate] can be used.
74+
Once the TLS/SSL certificate has been successfully generated and converted to a base64 encoded string, the example Azure Resource Manager template on GitHub for [configuring the default TLS/SSL certificate][configuringDefaultSSLCertificate] can be used.
7575

7676
The parameters in the *azuredeploy.parameters.json* file are listed below:
7777

@@ -80,7 +80,7 @@ The parameters in the *azuredeploy.parameters.json* file are listed below:
8080
* *pfxBlobString*: The based64 encoded string representation of the .pfx file. Using the code snippet shown earlier, you would copy the string contained in "exportedcert.pfx.b64" and paste it in as the value of the *pfxBlobString* attribute.
8181
* *password*: The password used to secure the .pfx file.
8282
* *certificateThumbprint*: The certificate's thumbprint. If you retrieve this value from Powershell (e.g. *$certificate.Thumbprint* from the earlier code snippet), you can use the value as-is. However if you copy the value from the Windows certificate dialog, remember to strip out the extraneous spaces. The *certificateThumbprint* should look something like: AF3143EB61D43F6727842115BB7F17BBCECAECAE
83-
* *certificateName*: A friendly string identifier of your own choosing used to identity the certificate. The name is used as part of the unique Azure Resource Manager identifier for the *Microsoft.Web/certificates* entity representing the SSL certificate. The name **must** end with the following suffix: \_yourASENameHere_InternalLoadBalancingASE. This suffix is used by the portal as an indicator that the certificate is used for securing an ILB-enabled ASE.
83+
* *certificateName*: A friendly string identifier of your own choosing used to identity the certificate. The name is used as part of the unique Azure Resource Manager identifier for the *Microsoft.Web/certificates* entity representing the TLS/SSL certificate. The name **must** end with the following suffix: \_yourASENameHere_InternalLoadBalancingASE. This suffix is used by the portal as an indicator that the certificate is used for securing an ILB-enabled ASE.
8484

8585
An abbreviated example of *azuredeploy.parameters.json* is shown below:
8686

@@ -109,7 +109,7 @@ An abbreviated example of *azuredeploy.parameters.json* is shown below:
109109
}
110110
}
111111

112-
Once the *azuredeploy.parameters.json* file has been filled in, the default SSL certificate can be configured using the following Powershell code snippet. Change the file PATHs to match where the Azure Resource Manager template files are located on your machine. Also remember to supply your own values for the Azure Resource Manager deployment name, and resource group name.
112+
Once the *azuredeploy.parameters.json* file has been filled in, the default TLS/SSL certificate can be configured using the following Powershell code snippet. Change the file PATHs to match where the Azure Resource Manager template files are located on your machine. Also remember to supply your own values for the Azure Resource Manager deployment name, and resource group name.
113113

114114
$templatePath="PATH\azuredeploy.json"
115115
$parameterPath="PATH\azuredeploy.parameters.json"
@@ -118,9 +118,9 @@ Once the *azuredeploy.parameters.json* file has been filled in, the default SSL
118118

119119
After the Azure Resource Manager template is submitted it will take roughly forty minutes per ASE front-end to apply the change. For example, with a default sized ASE using two front-ends, the template will take around one hour and twenty minutes to complete. While the template is running the ASE will not be able to scaled.
120120

121-
Once the template completes, apps on the ILB ASE can be accessed over HTTPS and the connections will be secured using the default SSL certificate. The default SSL certificate will be used when apps on the ILB ASE are addressed using a combination of the application name plus the default hostname. For example *https://mycustomapp.internal-contoso.com* would use the default SSL certificate for **.internal-contoso.com*.
121+
Once the template completes, apps on the ILB ASE can be accessed over HTTPS and the connections will be secured using the default TLS/SSL certificate. The default TLS/SSL certificate will be used when apps on the ILB ASE are addressed using a combination of the application name plus the default hostname. For example *https://mycustomapp.internal-contoso.com* would use the default TLS/SSL certificate for **.internal-contoso.com*.
122122

123-
However, just like apps running on the public multi-tenant service, developers can also configure custom host names for individual apps, and then configure unique SNI SSL certificate bindings for individual apps.
123+
However, just like apps running on the public multi-tenant service, developers can also configure custom host names for individual apps, and then configure unique SNI TLS/SSL certificate bindings for individual apps.
124124

125125
## Getting started
126126
To get started with App Service Environments, see [Introduction to App Service Environment](app-service-app-service-environment-intro.md)

articles/app-service/environment/app-service-app-service-environment-network-configuration-expressroute.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ App Service Environment requires the following network connectivity settings to
3535

3636
* Outbound network connectivity to the Azure management-plane endpoints (both Azure classic deployment model and Azure Resource Manager endpoints). Connectivity to these endpoints includes the management.core.windows.net and management.azure.com domains.
3737

38-
* Outbound network connectivity to the ocsp.msocsp.com, mscrl.microsoft.com, and crl.microsoft.com domains. Connectivity to these domains is needed to support SSL functionality.
38+
* Outbound network connectivity to the ocsp.msocsp.com, mscrl.microsoft.com, and crl.microsoft.com domains. Connectivity to these domains is needed to support TLS functionality.
3939

4040
* The DNS configuration for the virtual network must be able to resolve all endpoints and domains mentioned in this article. If the endpoints can't be resolved, App Service Environment creation fails. Any existing App Service Environment is marked as unhealthy.
4141

articles/app-service/environment/app-service-app-service-environment-web-application-firewall.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Clicking on the **Services** tab lets you configure your WAF for services it is
6767
![Management Add Services][ManagementAddServices]
6868

6969
> [!NOTE]
70-
> Depending on how your applications are configured and what features are being used in your App Service Environment, you need to forward traffic for TCP ports other than 80 and 443, for example, if you have IP SSL setup for an App Service app. For a list of network ports used in App Service Environments, see [Control Inbound Traffic documentation's](app-service-app-service-environment-control-inbound-traffic.md) Network Ports section.
70+
> Depending on how your applications are configured and what features are being used in your App Service Environment, you need to forward traffic for TCP ports other than 80 and 443, for example, if you have IP TLS setup for an App Service app. For a list of network ports used in App Service Environments, see [Control Inbound Traffic documentation's](app-service-app-service-environment-control-inbound-traffic.md) Network Ports section.
7171
>
7272
>
7373

0 commit comments

Comments
 (0)