Partage via


Configurer les versions de stratégie TLS et les suites de chiffrement sur Application Gateway

Découvrez comment configurer des versions de stratégie TLS/SSL et des suites de chiffrement sur Application Gateway. Vous pouvez effectuer une sélection dans une liste de stratégies prédéfinies qui contiennent différentes configurations de versions de stratégie TLS et des suites de chiffrement activées. Vous avez également la possibilité de définir une stratégie TLS personnalisée en fonction de vos besoins.

Important

Nous vous recommandons d’utiliser TLS 1.2 comme version minimale du protocole TLS pour améliorer la sécurité sur votre application Gateway. À compter du 31 août 2025, tous les clients et serveurs back-end qui interagissent avec Azure Application Gateway doivent utiliser le protocole TLS (Transport Layer Security) 1.2 ou une version plus récente, car la prise en charge des protocoles TLS 1.0 et 1.1 sera interrompue.

Remarque

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Obtenir les options TLS disponibles

L’applet Get-AzApplicationGatewayAvailableSslOptions de commande fournit une liste des stratégies prédéfinies disponibles, des suites de chiffrement disponibles et des versions de protocole qui peuvent être configurées. L’exemple suivant montre un exemple de sortie de l’exécution de l’applet de commande.

Important

La stratégie TLS par défaut est définie sur AppGwSslPolicy20220101 pour les versions d’API 2023-02-01 ou ultérieures. Pour en savoir plus, consultez la vue d’ensemble de la stratégie TLS .

DefaultPolicy: AppGwSslPolicy20150501
PredefinedPolicies:
    /subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501
    /subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401
    /subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S
    /subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20220101
    /subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20220101S

AvailableCipherSuites:
    TLS_AES_128_GCM_SHA256
    TLS_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    TLS_RSA_WITH_AES_256_GCM_SHA384
    TLS_RSA_WITH_AES_128_GCM_SHA256
    TLS_RSA_WITH_AES_256_CBC_SHA256
    TLS_RSA_WITH_AES_128_CBC_SHA256
    TLS_RSA_WITH_AES_256_CBC_SHA
    TLS_RSA_WITH_AES_128_CBC_SHA
    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
    TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
    TLS_DHE_DSS_WITH_AES_256_CBC_SHA
    TLS_DHE_DSS_WITH_AES_128_CBC_SHA
    TLS_RSA_WITH_3DES_EDE_CBC_SHA
    TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

AvailableProtocols:
    TLSv1_0
    TLSv1_1
    TLSv1_2
    TLSv1_3

Répertorier les stratégies TLS prédéfinies

Application Gateway est fournie avec plusieurs stratégies prédéfinies qui peuvent être utilisées. L’applet Get-AzApplicationGatewaySslPredefinedPolicy de commande récupère ces stratégies. Chaque stratégie a des versions de protocole et des suites de chiffrement différentes activées. Ces stratégies prédéfinies peuvent être utilisées pour configurer rapidement une stratégie TLS sur votre passerelle d’application. Par défaut , AppGwSslPolicy20150501 est sélectionné si aucune stratégie TLS spécifique n’est définie.

La sortie suivante est un exemple d’exécution Get-AzApplicationGatewaySslPredefinedPolicy.

Name: AppGwSslPolicy20150501
MinProtocolVersion: TLSv1_0
CipherSuites:
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    TLS_RSA_WITH_AES_256_GCM_SHA384
 ...
Name: AppGwSslPolicy20170401
MinProtocolVersion: TLSv1_1
CipherSuites:
    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
...

Configurer une stratégie TLS personnalisée

Lors de la configuration d’une stratégie TLS personnalisée, vous passez les paramètres suivants : PolicyType, MinProtocolVersion, CipherSuite et ApplicationGateway. Si vous tentez de transmettre d’autres paramètres, vous obtenez une erreur lors de la création ou de la mise à jour d’Application Gateway. L’exemple suivant définit une stratégie TLS personnalisée sur une passerelle d’application. Il définit la version minimale du protocole sur TLSv1_1 et active les suites de chiffrement suivantes :

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
# get an application gateway resource
$gw = Get-AzApplicationGateway -Name AdatumAppGateway -ResourceGroup AdatumAppGatewayRG

# set the TLS policy on the application gateway
Set-AzApplicationGatewaySslPolicy -ApplicationGateway $gw -PolicyType Custom -MinProtocolVersion TLSv1_1 -CipherSuite "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"

# validate the TLS policy locally
Get-AzApplicationGatewaySslPolicy -ApplicationGateway $gw

# update the gateway with validated TLS policy
Set-AzApplicationGateway -ApplicationGateway $gw

Important

  • Si vous utilisez une stratégie SSL personnalisée dans le SKU Application Gateway v1 (Standard ou WAF), assurez-vous d’ajouter le chiffrement obligatoire « TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 » à la liste. Ce chiffrement est requis pour activer les métriques et la journalisation dans la référence (SKU) Application Gateway v1. Cela n’est pas obligatoire pour la référence SKU Application Gateway v2 (Standard_v2 ou WAF_v2).
  • Les suites de chiffrement « TLS_AES_128_GCM_SHA256 » et « TLS_AES_256_GCM_SHA384 » avec TLSv1.3 ne sont pas personnalisables et incluses par défaut lors de la définition d’une stratégie CustomV2 avec une version TLS minimale de 1.2 ou 1.3. Ces deux suites de chiffrement n’apparaissent pas dans la sortie de la commande Get Details, à l'exception de Portal.

Pour définir la version minimale du protocole sur 1.3, vous devez utiliser la commande suivante :

Set-AzApplicationGatewaySslPolicy -ApplicationGateway $AppGW -MinProtocolVersion TLSv1_3 -PolicyType CustomV2 -CipherSuite @()

Cette illustration explique plus en détail l’utilisation de la stratégie CustomV2 avec les versions minimales de protocole 1.2 et 1.3.

Diagramme montrant l’utilisation du paramètre ciphersuite pour la stratégie CustomV2.

Créer une passerelle d’application avec une stratégie TLS prédéfinie

Lors de la configuration d’une stratégie TLS prédéfinie, vous transmettez les paramètres suivants : PolicyType, PolicyName et ApplicationGateway. Si vous tentez de transmettre d’autres paramètres, vous obtenez une erreur lors de la création ou de la mise à jour d’Application Gateway.

L’exemple suivant crée une passerelle d’application avec une stratégie TLS prédéfinie.

# Create a resource group
$rg = New-AzResourceGroup -Name ContosoRG -Location "East US"

# Create a subnet for the application gateway
$subnet = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24

# Create a virtual network with a 10.0.0.0/16 address space
$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName $rg.ResourceGroupName -Location "East US" -AddressPrefix 10.0.0.0/16 -Subnet $subnet

# Retrieve the subnet object for later use
$subnet = $vnet.Subnets[0]

# Create a public IP address
$publicip = New-AzPublicIpAddress -ResourceGroupName $rg.ResourceGroupName -name publicIP01 -location "East US" -AllocationMethod Dynamic

# Create an ip configuration object
$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet

# Create a backend pool for backend web servers
$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 134.170.185.46, 134.170.188.221,134.170.185.50

# Define the backend http settings to be used.
$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Enabled

# Create a new port for TLS
$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01  -Port 443

# Upload an existing pfx certificate for TLS offload
$password = ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force
$cert = New-AzApplicationGatewaySslCertificate -Name cert01 -CertificateFile C:\folder\contoso.pfx -Password $password

# Create a frontend IP configuration for the public IP address
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -PublicIPAddress $publicip

# Create a new listener with the certificate, port, and frontend ip.
$listener = New-AzApplicationGatewayHttpListener -Name listener01  -Protocol Https -FrontendIPConfiguration $fipconfig -FrontendPort $fp -SslCertificate $cert

# Create a new rule for backend traffic routing
$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

# Define the size of the application gateway
$sku = New-AzApplicationGatewaySku -Name Standard_Small -Tier Standard -Capacity 2

# Configure the TLS policy to use a different predefined policy
$policy = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName AppGwSslPolicy20170401S

# Create the application gateway.
$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName $rg.ResourceGroupName -Location "East US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig  -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku -SslCertificates $cert -SslPolicy $policy

Mettre à jour une passerelle d’application existante avec une stratégie TLS prédéfinie

Pour définir une stratégie TLS personnalisée, passez les paramètres suivants : PolicyType, MinProtocolVersion, CipherSuite et ApplicationGateway. Pour définir une stratégie TLS prédéfinie, transmettez les paramètres suivants : PolicyType, PolicyName et ApplicationGateway. Si vous tentez de transmettre d’autres paramètres, vous obtenez une erreur lors de la création ou de la mise à jour d’Application Gateway.

Remarque

L’utilisation d’une nouvelle stratégie prédéfinie ou Customv2 améliore la sécurité SSL et la posture de performances de l’ensemble de la passerelle (stratégie SSL et profil SSL). Par conséquent, les stratégies anciennes et nouvelles ne peuvent pas coexister. Vous devez utiliser l’une des stratégies prédéfinies ou personnalisées plus anciennes sur la passerelle, dans le cas où il existe des clients nécessitant une version ou des chiffrements TLS plus anciens (par exemple, TLS v1.0).

Dans l’exemple suivant, il existe des exemples de code pour la stratégie personnalisée et la stratégie prédéfinie. Supprimer les marques de commentaire sur la stratégie que vous souhaitez utiliser.

# You have to change these parameters to match your environment.
$AppGWname = "YourAppGwName"
$RG = "YourResourceGroupName"

$AppGw = get-Azapplicationgateway -Name $AppGWname -ResourceGroupName $RG

# Choose either custom policy or predefined policy and uncomment the one you want to use.

# TLS Custom Policy
# Set-AzApplicationGatewaySslPolicy -PolicyType Custom -MinProtocolVersion TLSv1_2 -CipherSuite "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_128_CBC_SHA256" -ApplicationGateway $AppGw

# TLS Predefined Policy
# Set-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401S" -ApplicationGateway $AppGW

# Update AppGW
# The TLS policy options are not validated or updated on the Application Gateway until this cmdlet is executed.
$SetGW = Set-AzApplicationGateway -ApplicationGateway $AppGW

Étapes suivantes

Consultez la vue d'ensemble de la redirection de l'Application Gateway pour savoir comment rediriger le trafic HTTP vers un point de terminaison HTTPS.

Reportez-vous à la configuration des stratégies SSL spécifiques de l'écouteur décrite dans Configurer des stratégies SSL spécifiques aux écouteurs via le portail.