Application Gateway’de TLS ilke sürümlerini ve şifreleme paketlerini yapılandırma

Application Gateway'de TLS/SSL ilke sürümlerini ve şifreleme paketlerini yapılandırmayı öğrenin. TLS ilke sürümlerinin ve etkin şifreleme paketlerinin farklı yapılandırmalarını içeren önceden tanımlanmış ilkeler listesinden seçim yapabilirsiniz. Ayrıca gereksinimlerinize göre özel bir TLS ilkesi tanımlayabilirsiniz.

Dekont

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Dekont

Application Gateway'inizde daha iyi güvenlik için en düşük TLS protokol sürümünüz olarak TLS 1.2 kullanmanızı öneririz.

Kullanılabilir TLS seçeneklerini edinin

Get-AzApplicationGatewayAvailableSslOptions cmdlet'i önceden tanımlanmış kullanılabilir ilkelerin, kullanılabilir şifreleme paketlerinin ve yapılandırılabilir protokol sürümlerinin listesini sağlar. Aşağıdaki örnekte, cmdlet'in çalıştırıldığı örnek bir çıkış gösterilmektedir.

Önemli

Varsayılan TLS ilkesi, 2023-02-01 veya üzeri API sürümleri için AppGwSslPolicy20220101 olarak ayarlanır. Daha fazla bilgi edinmek için TLS ilkesine genel bakış adresini ziyaret edin.

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

Önceden tanımlanmış TLS İlkelerini listeleme

Application Gateway, kullanılabilecek birden çok önceden tanımlanmış ilkeyle birlikte gelir. cmdlet'i Get-AzApplicationGatewaySslPredefinedPolicy bu ilkeleri alır. Her ilkenin farklı protokol sürümleri ve şifreleme paketleri etkindir. Bu önceden tanımlanmış ilkeler, uygulama ağ geçidinizde bir TLS ilkesini hızla yapılandırmak için kullanılabilir. Varsayılan olarak , belirli bir TLS ilkesi tanımlanmadıysa AppGwSslPolicy20150501 seçilir.

Aşağıdaki çıkış, çalıştırma Get-AzApplicationGatewaySslPredefinedPolicyörneğidir.

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
...

Özel TLS ilkesi yapılandırma

Özel bir TLS ilkesi yapılandırırken şu parametreleri geçirirsiniz: PolicyType, MinProtocolVersion, CipherSuite ve ApplicationGateway. Diğer parametreleri geçirmeye çalışırsanız Application Gateway'i oluştururken veya güncelleştirirken hata alırsınız. Aşağıdaki örnek, bir uygulama ağ geçidinde özel bir TLS ilkesi ayarlar. En düşük protokol sürümünü olarak TLSv1_1 ayarlar ve aşağıdaki şifreleme paketlerini etkinleştirir:

  • 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

Önemli

  • Application Gateway v1 SKU'da (Standart veya WAF) özel bir SSL ilkesi kullanıyorsanız, zorunlu "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" şifrelemesini listeye eklediğinizden emin olun. Bu şifreleme, Application Gateway v1 SKU'sunda ölçümleri ve günlüğe kaydetmeyi etkinleştirmek için gereklidir. Application Gateway v2 SKU'su (Standard_v2 veya WAF_v2) için bu zorunlu değildir.
  • TLSv1.3 ile "TLS_AES_128_GCM_SHA256" ve "TLS_AES_256_GCM_SHA384" şifre paketleri, en az 1.2 veya 1.3 TLS sürümüne sahip bir CustomV2 ilkesi ayarlanırken özelleştirilebilir ve varsayılan olarak dahil edilmez. Bu iki şifreleme paketi, Portal dışında Ayrıntıları Al çıkışında görünmez.

En düşük protokol sürümünü 1.3 olarak ayarlamak için aşağıdaki komutu kullanmanız gerekir:

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

Bu çizimde, en düşük protokol sürümleri 1.2 ve 1.3 olan CustomV2 ilkesinin kullanımı açıklanmaktadır.

Diagram that shows use of ciphersuite parameter for the CustomV2 policy.

Önceden tanımlanmış TLS ilkesiyle uygulama ağ geçidi oluşturma

Önceden Tanımlanmış TLS ilkesini yapılandırırken şu parametreleri geçirirsiniz: PolicyType, PolicyName ve ApplicationGateway. Diğer parametreleri geçirmeye çalışırsanız Application Gateway'i oluştururken veya güncelleştirirken hata alırsınız.

Aşağıdaki örnek, önceden tanımlanmış bir TLS ilkesine sahip yeni bir uygulama ağ geçidi oluşturur.

# 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 pre-defined 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

Mevcut bir uygulama ağ geçidini önceden tanımlanmış bir TLS ilkesiyle güncelleştirme

Özel bir TLS ilkesi ayarlamak için şu parametreleri geçirin: PolicyType, MinProtocolVersion, CipherSuite ve ApplicationGateway. Önceden Tanımlanmış TLS ilkesi ayarlamak için şu parametreleri geçirin: PolicyType, PolicyName ve ApplicationGateway. Diğer parametreleri geçirmeye çalışırsanız Application Gateway'i oluştururken veya güncelleştirirken hata alırsınız.

Dekont

Yeni Bir Önceden Tanımlanmış veya Customv2 ilkesi kullanmak, tüm ağ geçidinin (SSL İlkesi ve SSL Profili) SSL güvenliğini ve performans duruşunu geliştirir. Bu nedenle, hem eski hem de yeni ilkeler birlikte bulunamaz. Daha eski TLS sürümü veya şifreleri (örneğin, TLS v1.0) gerektiren istemciler olması durumunda ağ geçidinde önceden tanımlanmış veya özel ilkelerden herhangi birini kullanmanız gerekir.

Aşağıdaki örnekte, hem Özel İlke hem de Önceden Tanımlanmış İlke için kod örnekleri vardır. Kullanmak istediğiniz ilkenin açıklamasını kaldırın.

# 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

Sonraki adımlar

HTTP trafiğini bir HTTPS uç noktasına yönlendirmeyi öğrenmek için Application Gateway yeniden yönlendirmeye genel bakış bölümünü ziyaret edin.

Portal aracılığıyla SSL dinleyiciye özgü ilkeyi ayarlarken dinleyiciye özgü SSL ilkelerini ayarlamaya göz atın