Översikt över ömsesidig autentisering med Application Gateway

Med ömsesidig autentisering eller klientautentisering kan Application Gateway autentisera klienten som skickar begäranden. Vanligtvis är det bara klienten som autentiserar Application Gateway. ömsesidig autentisering gör det möjligt för både klienten och Application Gateway att autentisera varandra.

Kommentar

Vi rekommenderar att du använder TLS 1.2 med ömsesidig autentisering eftersom TLS 1.2 kommer att tillåtas i framtiden.

Ömsesidig autentisering

Application Gateway stöder certifikatbaserad ömsesidig autentisering där du kan ladda upp ett betrott klientcertifikat till Application Gateway, och gatewayen använder certifikatet för att autentisera klienten som skickar en begäran till gatewayen. Med ökningen av IoT-användningsfall och ökade säkerhetskrav mellan branscher ger ömsesidig autentisering ett sätt för dig att hantera och kontrollera vilka klienter som kan prata med din Application Gateway.

För att konfigurera ömsesidig autentisering måste ett certifikat för betrodd klientcertifikatutfärdare laddas upp som en del av klientautentiseringsdelen av en SSL-profil. SSL-profilen måste sedan associeras med en lyssnare för att slutföra konfigurationen av ömsesidig autentisering. Det måste alltid finnas ett rotcertifikatutfärdarcertifikat i det klientcertifikat som du laddar upp. Du kan också ladda upp en certifikatkedja, men kedjan måste innehålla ett rotcertifikatutfärdarcertifikat utöver så många mellanliggande CA-certifikat som du vill. Den maximala storleken för varje uppladdad fil måste vara 25 KB eller mindre.

Om klientcertifikatet till exempel innehåller ett rotcertifikatutfärdarcertifikat, flera mellanliggande CA-certifikat och ett lövcertifikat kontrollerar du att rotcertifikatutfärdarcertifikatet och alla mellanliggande CA-certifikat laddas upp till Application Gateway i en fil. Mer information om hur du extraherar ett certifikat för betrodd klientcertifikatutfärdare finns i hur du extraherar certifikat för betrodd klientcertifikatutfärdare.

Om du laddar upp en certifikatkedja med rotcertifikatutfärdare och mellanliggande CA-certifikat måste certifikatkedjan laddas upp som en PEM- eller CER-fil till gatewayen.

Viktigt!

Se till att du laddar upp hela certifikatkedjan för den betrodda klientcertifikatutfärdarcertifikatet till Application Gateway när du använder ömsesidig autentisering.

Varje SSL-profil har stöd för upp till 100 betrodda certifikatkedjor för klientcertifikatutfärdare. En enda Application Gateway har stöd för totalt 200 certifikatkedjor för betrodd klientcertifikatutfärdare.

Kommentar

  • Ömsesidig autentisering är endast tillgängligt på Standard_v2 och WAF_v2 SKU:er.
  • Konfiguration av ömsesidig autentisering för TLS-protokolllyssnare (förhandsversion) är för närvarande tillgänglig via REST API, PowerShell och CLI. Azure Portal-supporten kommer snart.

Certifikat som stöds för ömsesidig autentisering

Application Gateway stöder certifikat som utfärdats från både offentliga och privat etablerade certifikatutfärdare.

  • CA-certifikat som utfärdats från välkända certifikatutfärdare: Mellanliggande certifikat och rotcertifikat finns ofta i betrodda certifikatarkiv och aktiverar betrodda anslutningar med liten eller ingen ytterligare konfiguration på enheten.
  • CA-certifikat som utfärdats från organisationens etablerade certifikatutfärdare: Dessa certifikat utfärdas vanligtvis privat via din organisation och är inte betrodda av andra entiteter. Mellanliggande certifikat och rotcertifikat måste importeras till betrodda certifikatarkiv för att klienter ska kunna upprätta kedjeförtroende.

Kommentar

När du utfärdar klientcertifikat från väletablerade certifikatutfärdare bör du överväga att arbeta med certifikatutfärdare för att se om ett mellanliggande certifikat kan utfärdas för din organisation för att förhindra oavsiktlig autentisering av klientcertifikat mellan organisationer.

Ytterligare verifiering av klientautentisering

Verifiera klientcertifikatets DN

Du har möjlighet att verifiera klientcertifikatets omedelbara utfärdare och endast tillåta att Application Gateway litar på utfärdaren. Det här alternativet är inaktiverat som standard, men du kan aktivera det via portalen, PowerShell eller Azure CLI.

Om du väljer att aktivera Application Gateway för att verifiera klientcertifikatets omedelbara utfärdare, så här avgör du vilken klientcertifikatutfärdare DN ska extraheras från de uppladdade certifikaten.

  • Scenario 1: Certifikatkedjan innehåller: rotcertifikat – mellanliggande certifikat – lövcertifikat
    • Mellanliggande certifikatets ämnesnamn är vad Application Gateway extraherar som klientcertifikatutfärdarens DN och verifieras mot.
  • Scenario 2: Certifikatkedjan innehåller: rotcertifikat – mellanliggande1 certifikat – mellanliggande2 certifikat – lövcertifikat
    • Mellanliggande2-certifikatets ämnesnamn är det som extraheras som klientcertifikatutfärdarens DN och verifieras mot.
  • Scenario 3: Certifikatkedjan innehåller: rotcertifikat – lövcertifikat
    • Rotcertifikatets ämnesnamn extraheras och används som DN för klientcertifikatutfärdaren.
  • Scenario 4: Flera certifikatkedjor med samma längd i samma fil. Kedja 1 innehåller: rotcertifikat – mellanliggande1 certifikat – lövcertifikat. Kedja 2 innehåller: rotcertifikat – mellanliggande2 certifikat – lövcertifikat.
    • Mellanliggande1 certifikatets ämnesnamn extraheras som klientcertifikatutfärdare DN.
  • Scenario 5: Flera certifikatkedjor med olika längd i samma fil. Kedja 1 innehåller: rotcertifikat – mellanliggande1 certifikat – lövcertifikat. Kedja 2 innehåller rotcertifikat – mellanliggande2 certifikat – mellanliggande3 certifikat – lövcertifikat.
    • Mellanliggande3-certifikatets ämnesnamn extraheras som klientcertifikatutfärdare DN.

Viktigt!

Vi rekommenderar att du bara laddar upp en certifikatkedja per fil. Detta är särskilt viktigt om du aktiverar verifiera klientcertifikatet DN. Genom att ladda upp flera certifikatkedjor i en fil hamnar du i scenario fyra eller fem och kan stöta på problem senare när klientcertifikatet som visas inte matchar klientcertifikatutfärdaren DN Application Gateway som extraherats från kedjorna.

Mer information om hur du extraherar certifikatkedjor för betrodd klientcertifikatutfärdare finns i hur du extraherar certifikatkedjor för betrodd klientcertifikatutfärdare.

Servervariabler

Med ömsesidig TLS-autentisering finns det ytterligare servervariabler som du kan använda för att skicka information om klientcertifikatet till serverdelsservrarna bakom Application Gateway. Mer information om vilka servervariabler som är tillgängliga och hur du använder dem finns i servervariabler.

Återkallande av certifikat

När en klient initierar en anslutning till en Application Gateway som konfigurerats med ömsesidig TLS-autentisering kan inte bara certifikatkedjan och utfärdarens unika namn verifieras, utan återkallningsstatus för klientcertifikatet kan kontrolleras med OCSP (Statusprotokoll för onlinecertifikat). Under valideringen kommer certifikatet som presenteras av klienten att letas upp via den definierade OCSP-svararen som definierats i AIA-tillägget (Authority Information Access). Om klientcertifikatet har återkallats svarar programgatewayen klienten med en HTTP 400-statuskod och orsak. Om certifikatet är giltigt fortsätter begäran att bearbetas av programgatewayen och vidarebefordras till den definierade serverdelspoolen.

Återkallning av klientcertifikat kan aktiveras via REST API, ARM, Bicep, CLI eller PowerShell.

Följande kommandon kan refereras för att konfigurera kontroll av klientåterkallning på en befintlig Application Gateway via Azure PowerShell:

# Get Application Gateway configuration
$AppGw = Get-AzApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01"

# Create new SSL Profile
$profile  = Get-AzApplicationGatewaySslProfile -Name "SslProfile01" -ApplicationGateway $AppGw

# Verify Client Cert Issuer DN and enable Client Revocation Check
Set-AzApplicationGatewayClientAuthConfiguration -SslProfile $profile -VerifyClientCertIssuerDN -VerifyClientRevocation OCSP

# Update Application Gateway
Set-AzApplicationGateway -ApplicationGateway $AppGw

En lista över alla Azure PowerShell-referenser för konfiguration av klientautentisering på Application Gateway finns här:

För att verifiera att STATUS för OCSP-återkallning har utvärderats för klientbegäran innehåller åtkomstloggarna en egenskap som kallas "sslClientVerify", med statusen för OCSP-svaret.

Det är viktigt att OCSP-svararen har hög tillgänglighet och nätverksanslutning mellan Application Gateway och svararen är möjlig. Om Application Gateway inte kan matcha det fullständigt kvalificerade domännamnet (FQDN) för den definierade svararen eller nätverksanslutningen blockeras till/från svararen misslyckas certifikatåterkallningsstatusen och Application Gateway returnerar ett 400 HTTP-svar till den begärande klienten.

Obs! OCSP-kontroller verifieras via lokal cache baserat på den nextUpdate-tid som definierades av ett tidigare OCSP-svar. Om OCSP-cachen inte har fyllts i från en tidigare begäran kan det första svaret misslyckas. När klienten försöker igen ska svaret hittas i cacheminnet och begäran bearbetas som förväntat.

Kommentar

  • Återkallningskontroll via CRL stöds inte
  • Kontroll av klientåterkallning introducerades i API-version 2022-05-01

Nästa steg

När du har lärt dig mer om ömsesidig autentisering går du till Konfigurera Application Gateway med ömsesidig autentisering i PowerShell för att skapa en Application Gateway med ömsesidig autentisering.