Kölcsönös hitelesítés konfigurálása az Application Gateway használatával a PowerShell használatával

Ez a cikk bemutatja, hogyan konfigurálhat kölcsönös hitelesítést az Application Gatewayen a PowerShell használatával. A kölcsönös hitelesítés azt jelenti, hogy az Application Gateway az Application Gatewayre feltöltött ügyféltanúsítvánnyal hitelesíti a kérelmet küldő ügyfelet.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Megjegyzés:

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Ez a cikk az Azure PowerShell-modul 1.0.0-s vagy újabb verzióját igényli. A verzió azonosításához futtassa a következőt: Get-Module -ListAvailable Az. Ha frissíteni szeretne, olvassa el az Azure PowerShell-modul telepítését ismertető cikket. Ha helyileg futtatja a PowerShellt, az Azure-ral való kapcsolat létrehozásához a Connect-AzAccount parancsot is futtatnia kell.

Mielőtt hozzákezdene

Ahhoz, hogy kölcsönös hitelesítést konfiguráljon egy Application Gateway használatával, szüksége van egy ügyféltanúsítványra az átjáróba való feltöltéshez. Az ügyféltanúsítvány az ügyfél által az Application Gatewaynek beterjesztett tanúsítvány ellenőrzésére szolgál. Tesztelési célokra használhat önaláírt tanúsítványt. Ez azonban nem ajánlott éles számítási feladatok esetében, mert nehezebben kezelhetők, és nem teljesen biztonságosak.

Ha többet szeretne megtudni, különösen arról, hogy milyen típusú ügyféltanúsítványokat tölthet fel, tekintse meg az Application Gateway kölcsönös hitelesítésének áttekintését.

Erőforráscsoport létrehozása

Először hozzon létre egy új erőforráscsoportot az előfizetésében.

$resourceGroup = New-AzResourceGroup -Name $rgname -Location $location -Tags @{ testtag = "APPGw tag"}

Virtuális hálózat létrehozása

Helyezzen üzembe egy virtuális hálózatot az Application Gateway számára, amelyben üzembe helyezhető.

$gwSubnet = New-AzVirtualNetworkSubnetConfig -Name $gwSubnetName -AddressPrefix 10.0.0.0/24
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $gwSubnet
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name $gwSubnetName -VirtualNetwork $vnet

Nyilvános IP-cím létrehozása

Hozzon létre egy nyilvános IP-címet, amelyet az Application Gateway használatával használhat.

$publicip = New-AzPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Static -sku Standard

Az Application Gateway IP-konfigurációjának létrehozása

Hozza létre az IP-konfigurációkat és az előtérbeli portot.

$gipconfig = New-AzApplicationGatewayIPConfiguration -Name $gipconfigname -Subnet $gwSubnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name $fipconfigName -PublicIPAddress $publicip
$port = New-AzApplicationGatewayFrontendPort -Name $frontendPortName  -Port 443

Előtérbeli TLS/SSL konfigurálása

Konfigurálja az Application Gateway TLS-/SSL-tanúsítványait.

$password = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force
$sslCertPath = $basedir + "/ScenarioTests/Data/ApplicationGatewaySslCert1.pfx"
$sslCert = New-AzApplicationGatewaySslCertificate -Name $sslCertName -CertificateFile $sslCertPath -Password $password

Ügyfél-hitelesítés konfigurálása

Ügyfél-hitelesítés konfigurálása az Application Gatewayen. A megbízható ügyfél hitelesítésszolgáltatói tanúsítványláncainak kinyeréséről további információt a megbízható ügyfél hitelesítésszolgáltatói tanúsítványláncainak kinyeréséről talál.

Fontos

Győződjön meg arról, hogy a teljes ügyfél-hitelesítésszolgáltatói tanúsítványláncot egy fájlba tölti fel, és fájlonként csak egy láncot. Az egyes feltöltött fájlok maximális mérete legfeljebb 25 KB lehet.

Megjegyzés:

Javasoljuk, hogy a TLS 1.2-t kölcsönös hitelesítéssel használja, mivel a TLS 1.2 2025. augusztus 31-től lesz kötelező.

$clientCertFilePath = $basedir + "/ScenarioTests/Data/TrustedClientCertificate.cer"
$trustedClient01 = New-AzApplicationGatewayTrustedClientCertificate -Name $trustedClientCert01Name -CertificateFile $clientCertFilePath
$sslPolicy = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401S"
$clientAuthConfig = New-AzApplicationGatewayClientAuthConfiguration -VerifyClientCertIssuerDN
$sslProfile01 = New-AzApplicationGatewaySslProfile -Name $sslProfile01Name -SslPolicy $sslPolicy -ClientAuthConfiguration $clientAuthConfig -TrustedClientCertificates $trustedClient01
$listener = New-AzApplicationGatewayHttpListener -Name $listenerName -Protocol Https -SslCertificate $sslCert -FrontendIPConfiguration $fipconfig -FrontendPort $port -SslProfile $sslProfile01

A háttérkészlet és a beállítások konfigurálása

Állítson be backend poolt és beállításokat az Application Gateway számára. Igény szerint állítsa be a háttérbeli megbízható főtanúsítványt a teljes körű TLS/SSL-titkosításhoz.

$certFilePath = $basedir + "/ScenarioTests/Data/ApplicationGatewayAuthCert.cer"
$trustedRoot = New-AzApplicationGatewayTrustedRootCertificate -Name $trustedRootCertName -CertificateFile $certFilePath
$pool = New-AzApplicationGatewayBackendAddressPool -Name $poolName -BackendIPAddresses www.microsoft.com, www.bing.com
$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name $poolSettingName -Port 443 -Protocol Https -CookieBasedAffinity Enabled -PickHostNameFromBackendAddress -TrustedRootCertificate $trustedRoot

A szabály konfigurálása

Állítson be egy szabályt az Application Gatewayen.

$rule = New-AzApplicationGatewayRequestRoutingRule -Name $ruleName -RuleType basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

Alapértelmezett TLS/SSL-szabályzat beállítása a jövőbeli figyelők számára

A kölcsönös hitelesítés beállításakor beállított egy figyelőspecifikus TLS/SSL-szabályzatot. Ebben a lépésben opcionálisan beállíthatja az alapértelmezett TLS/SSL-szabályzatot a jövőben létrehozott figyelők számára.

$sslPolicyGlobal = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401"

Az Application Gateway létrehozása

A létrehozott összes elem használatával helyezze üzembe az Application Gatewayt.

$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
$appgw = New-AzApplicationGateway -Name $appgwName -ResourceGroupName $rgname -Zone 1,2 -Location $location -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $port -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku -SslPolicy $sslPolicyGlobal -TrustedRootCertificate $trustedRoot -AutoscaleConfiguration $autoscaleConfig -TrustedClientCertificates $trustedClient01 -SslProfiles $sslProfile01 -SslCertificates $sslCert

Erőforrások tisztítása

Ha már nincs rá szükség, távolítsa el az erőforráscsoportot, az Application Gatewayt és az összes kapcsolódó erőforrást a Remove-AzResourceGroup használatával.

Remove-AzResourceGroup -Name $rgname

Lejárt ügyfél-hitelesítésszolgáltatói tanúsítványok megújítása

Ha az ügyfél hitelesítésszolgáltatói tanúsítványa lejárt, az alábbi lépések végrehajtásával frissítheti a tanúsítványt az átjárón:

  1. Bejelentkezés az Azure-ba
    Connect-AzAccount
    Select-AzSubscription -Subscription "<sub name>"
    
  2. Az Application Gateway konfigurációjának lekérése
    $gateway = Get-AzApplicationGateway -Name "<gateway-name>" -ResourceGroupName "<resource-group-name>"
    
  3. A megbízható ügyféltanúsítvány eltávolítása az átjáróról
    Remove-AzApplicationGatewayTrustedClientCertificate -Name "<name-of-client-certificate>" -ApplicationGateway $gateway
    
  4. Az új tanúsítvány hozzáadása az átjáróhoz
    Add-AzApplicationGatewayTrustedClientCertificate -ApplicationGateway $gateway -Name "<name-of-new-cert>" -CertificateFile "<path-to-certificate-file>"
    
  5. Az átjáró frissítése az új tanúsítvánnyal
    Set-AzApplicationGateway -ApplicationGateway $gateway
    

Következő lépések