Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
In dit artikel wordt beschreven hoe u PowerShell gebruikt voor het configureren van wederzijdse verificatie op uw Application Gateway. Wederzijdse verificatie betekent dat Application Gateway de client verifieert die de aanvraag verzendt met behulp van het clientcertificaat dat u uploadt naar de Application Gateway.
Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Opmerking
U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Voor dit artikel is versie 1.0.0 of hoger van de Azure PowerShell-module vereist. Voer Get-Module -ListAvailable Az uit om de versie te vinden. Zie Azure PowerShell-module installerenals u een upgrade wilt uitvoeren. Als u PowerShell lokaal uitvoert, moet u ook Connect-AzAccount uitvoeren om verbinding te kunnen maken met Azure.
Voordat u begint
Als u wederzijdse verificatie wilt configureren met een Application Gateway, hebt u een clientcertificaat nodig om naar de gateway te uploaden. Het clientcertificaat wordt gebruikt om het certificaat te valideren dat de client aan Application Gateway presenteert. Voor testdoeleinden kunt u een zelfondertekend certificaat gebruiken. Dit wordt echter niet aanbevolen voor productieworkloads, omdat ze moeilijker te beheren zijn en niet volledig veilig zijn.
Zie Overzicht van wederzijdse verificatie met Application Gateway voor meer informatie, met name over wat voor soort clientcertificaten u kunt uploaden.
Een brongroep maken
Maak eerst een nieuwe resourcegroep in uw abonnement.
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $location -Tags @{ testtag = "APPGw tag"}
Een virtueel netwerk maken
Implementeer een virtueel netwerk waarin uw Application Gateway moet worden geïmplementeerd.
$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
Een openbaar IP-adres maken
Maak een openbaar IP-adres voor gebruik met uw Application Gateway.
$publicip = New-AzPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Static -sku Standard
De IP-configuratie van Application Gateway maken
Maak de IP-configuraties en frontend-poort.
$gipconfig = New-AzApplicationGatewayIPConfiguration -Name $gipconfigname -Subnet $gwSubnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name $fipconfigName -PublicIPAddress $publicip
$port = New-AzApplicationGatewayFrontendPort -Name $frontendPortName -Port 443
Front-end TLS/SSL configureren
Configureer de TLS/SSL-certificaten voor uw Application Gateway.
$password = ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force
$sslCertPath = $basedir + "/ScenarioTests/Data/ApplicationGatewaySslCert1.pfx"
$sslCert = New-AzApplicationGatewaySslCertificate -Name $sslCertName -CertificateFile $sslCertPath -Password $password
Clientverificatie configureren
Configureer clientverificatie op uw Application Gateway. Voor meer informatie over het extraheren van vertrouwde cliënt-CA-certificaatketens die hier kunnen worden gebruikt, zie hoe u vertrouwde cliënt-CA-certificaatketens kunt extraheren.
Belangrijk
Zorg ervoor dat u de volledige ca-certificaatketen van de client uploadt in één bestand en slechts één keten per bestand. De maximale grootte van elk geüpload bestand moet 25 kB of minder zijn.
Opmerking
We raden u aan TLS 1.2 met wederzijdse verificatie te gebruiken als TLS 1.2 vanaf 31 augustus 2025 wordt verplicht.
$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
De back-endpool en -instellingen configureren
Stel de back-endpool en instellingen voor uw Application Gateway in. U kunt desgewenst het vertrouwde basiscertificaat van de back-end instellen voor end-to-end TLS/SSL-versleuteling.
$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
De regel configureren
Stel een regel in op uw Toepassingsgateway.
$rule = New-AzApplicationGatewayRequestRoutingRule -Name $ruleName -RuleType basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool
Standaard TLS/SSL-beleid instellen voor toekomstige listeners
U hebt een listenerspecifiek TLS/SSL-beleid ingesteld tijdens het instellen van wederzijdse verificatie. In deze stap kunt u desgewenst het standaard TLS/SSL-beleid instellen voor toekomstige listeners die u maakt.
$sslPolicyGlobal = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20170401"
De Application Gateway maken
Implementeer uw Toepassingsgateway met alles wat we hebben gemaakt.
$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
De hulpbronnen opschonen
Wanneer u de resourcegroep, toepassingsgateway en alle gerelateerde resources niet meer nodig hebt, verwijdert u deze met remove-AzResourceGroup.
Remove-AzResourceGroup -Name $rgname
Verlopen CA-certificaten voor clients vernieuwen
In het geval dat uw client-CA-certificaat is verlopen, kunt u het certificaat op uw gateway bijwerken door de volgende stappen uit te voeren:
- Aanmelden bij Azure
Connect-AzAccount Select-AzSubscription -Subscription "<sub name>" - Uw Application Gateway-configuratie ophalen
$gateway = Get-AzApplicationGateway -Name "<gateway-name>" -ResourceGroupName "<resource-group-name>" - Het vertrouwde clientcertificaat verwijderen uit de gateway
Remove-AzApplicationGatewayTrustedClientCertificate -Name "<name-of-client-certificate>" -ApplicationGateway $gateway - Het nieuwe certificaat toevoegen aan de gateway
Add-AzApplicationGatewayTrustedClientCertificate -ApplicationGateway $gateway -Name "<name-of-new-cert>" -CertificateFile "<path-to-certificate-file>" - De gateway bijwerken met het nieuwe certificaat
Set-AzApplicationGateway -ApplicationGateway $gateway