Share via


A TLS-szabályzatverziók és a titkosítócsomagok konfigurálása az Application Gatewayen

Megtudhatja, hogyan konfigurálhatja a TLS/SSL-szabályzatok verzióit és titkosítási csomagjait az Application Gatewayen. Az előre definiált szabályzatok listájából választhat, amelyek a TLS-szabályzatverziók és az engedélyezett titkosítási csomagok különböző konfigurációit tartalmazzák. Emellett egyéni TLS-szabályzatot is definiálhat a követelmények alapján.

Megjegyzés:

We recommend that you use the Azure Az PowerShell module to interact with Azure. See Install Azure PowerShell to get started. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Megjegyzés:

Javasoljuk, hogy a TLS 1.2-t használja minimális TLS protokollverzióként az Application Gateway jobb biztonsága érdekében.

Elérhető TLS-beállítások lekérése

A Get-AzApplicationGatewayAvailableSslOptions parancsmag felsorolja az elérhető előre definiált szabályzatokat, az elérhető titkosítási csomagokat és a konfigurálható protokollverziókat. Az alábbi példa egy példakimenetet mutat be a parancsmag futtatásából.

Fontos

Az alapértelmezett TLS-szabályzat az AppGwSslPolicy20220101 értékre van állítva a 2023-02-01-es vagy újabb API-verziókhoz. További információért látogasson el a TLS-szabályzatok áttekintésére .

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

Előre definiált TLS-szabályzatok listázása

Az Application Gateway több előre definiált szabályzattal rendelkezik, amelyek használhatók. A Get-AzApplicationGatewaySslPredefinedPolicy parancsmag lekéri ezeket a házirendeket. Minden szabályzat különböző protokollverziókkal és titkosítási csomagokkal rendelkezik. Ezek az előre definiált szabályzatok segítségével gyorsan konfigurálhat TLS-szabályzatokat az application gatewayen. Alapértelmezés szerint az AppGwSslPolicy20150501 van kiválasztva, ha nincs meghatározva konkrét TLS-szabályzat.

Az alábbi kimenet egy példa a futtatásra 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
...

Egyéni TLS-szabályzat konfigurálása

Egyéni TLS-szabályzat konfigurálásakor a következő paramétereket kell megadnia: PolicyType, MinProtocolVersion, CipherSuite és ApplicationGateway. Ha más paramétereket próbál átadni, hibaüzenet jelenik meg az Application Gateway létrehozásakor vagy frissítésekor. Az alábbi példa egyéni TLS-szabályzatot állít be egy application gatewayen. A protokoll minimális verzióját a következő titkosítási csomagokra TLSv1_1 állítja be és engedélyezi:

  • 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

Fontos

  • Ha egyéni SSL-szabályzatot használ az Application Gateway v1 termékváltozatában (Standard vagy WAF), győződjön meg arról, hogy hozzáadja a kötelező "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" titkosítást a listához. Ez a titkosítás szükséges a metrikák és a naplózás engedélyezéséhez az Application Gateway v1 termékváltozatában. Ez az Application Gateway v2 termékváltozat (Standard_v2 vagy WAF_v2) esetében nem kötelező.
  • A TLSv1.3-as verzióval rendelkező "TLS_AES_128_GCM_SHA256" és "TLS_AES_256_GCM_SHA384" titkosítási csomagok nem testreszabhatók, és alapértelmezés szerint bele vannak foglalva az 1.2-es vagy 1.3-as minimális TLS-verziójú CustomV2-szabályzatok beállításához. Ez a két titkosítási csomag a Portal kivételével nem jelenik meg a Részletek lekérése kimenetben.

A protokoll minimális verziójának 1.3-ra való beállításához a következő parancsot kell használnia:

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

Ez az ábra tovább ismerteti a CustomV2-szabályzat használatát az 1.2-s és az 1.3-as minimális protokollverzióval.

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

Application Gateway létrehozása előre definiált TLS-szabályzattal

Előre definiált TLS-szabályzat konfigurálásakor a következő paramétereket adja meg: PolicyType, PolicyName és ApplicationGateway. Ha más paramétereket próbál átadni, hibaüzenet jelenik meg az Application Gateway létrehozásakor vagy frissítésekor.

Az alábbi példa egy előre definiált TLS-szabályzattal rendelkező új application gatewayt hoz létre.

# 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

Meglévő application Gateway frissítése előre definiált TLS-szabályzattal

Egyéni TLS-szabályzat beállításához adja meg a következő paramétereket: PolicyType, MinProtocolVersion, CipherSuite és ApplicationGateway. Előre definiált TLS-szabályzat beállításához adja meg a következő paramétereket: PolicyType, PolicyName és ApplicationGateway. Ha más paramétereket próbál átadni, hibaüzenet jelenik meg az Application Gateway létrehozásakor vagy frissítésekor.

Megjegyzés:

Egy új előre definiált vagy Customv2-szabályzat használata javítja a teljes átjáró (SSL-szabályzat és SSL-profil) SSL-biztonságát és teljesítménybeli helyzetét. Ezért a régi és az új szabályzatok nem létezhetnek együtt. A régebbi előre definiált vagy egyéni szabályzatok bármelyikét kell használnia az átjárón, ha vannak olyan ügyfelek, amelyek régebbi TLS-verziót vagy titkosítást igényelnek (például TLS 1.0-s verzió).

Az alábbi példában az egyéni és az előre definiált szabályzathoz is vannak kódminták. Bontsa ki a használni kívánt szabályzatot.

# 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

Következő lépések

Az Application Gateway átirányítási áttekintésében megtudhatja, hogyan irányíthatja át a HTTP-forgalmat EGY HTTPS-végpontra.

Tekintse meg a figyelőspecifikus SSL-szabályzatok beállítását az SSL-figyelőkre vonatkozó szabályzatok portálon keresztüli beállításához