Megosztás a következőn keresztül:


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.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető 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 is futnia Login-AzAccount kell.

Mielőtt elkezdené

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. A rendszer az ügyféltanúsítványt használja annak a tanúsítványnak a ellenőrzésére, amelyet az ügyfél az Application Gatewaynek fog bemutatni. 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 SSL konfigurálása

Konfigurálja az Application Gateway 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 ca 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, fájlonként pedig csak egy láncot.

Feljegyzés

Javasoljuk, hogy a TLS 1.2-t kölcsönös hitelesítéssel használja, mivel a TLS 1.2 a jövőben 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 biztonsági mentési készletet és beállításokat az Application Gatewayhez. Igény szerint állítsa be a háttérbeli megbízható főtanúsítványt a teljes körű 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 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 SSL-szabályzatot. Ebben a lépésben opcionálisan beállíthatja az alapértelmezett SSL-szabályzatot a jövőbeli figyelők számára.

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

Az Application Gateway létrehozása

A fent 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

Az erőforrások eltávolí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