Udostępnij przez


Omówienie wzajemnego uwierzytelniania za pomocą usługi Application Gateway

Uwierzytelnianie wzajemne lub uwierzytelnianie klienta umożliwia usłudze Application Gateway uwierzytelnianie klientów wysyłających żądania. Zazwyczaj tylko klient uwierzytelnia usługę Application Gateway; Wzajemne uwierzytelnianie umożliwia zarówno klientowi, jak i usłudze Application Gateway uwierzytelnianie się nawzajem.

Uwaga

Zalecamy używanie protokołu TLS 1.2 z uwierzytelnianiem wzajemnym, ponieważ protokół TLS 1.2 będzie wymagany w przyszłości.

Wzajemne uwierzytelnianie

Usługa Application Gateway obsługuje wzajemne uwierzytelnianie oparte na certyfikatach, w którym można przesłać zaufany(-e) certyfikat(-y) CA klienta do Application Gateway, a sam Application Gateway używa tego(-ych) certyfikatu(-ów) do uwierzytelniania klienta wysyłającego żądanie do bramy. Wraz ze wzrostem przypadków użycia IoT i zwiększonymi wymaganiami dotyczącymi zabezpieczeń w różnych branżach wzajemne uwierzytelnianie umożliwia zarządzanie usługą Application Gateway i kontrolowanie, którzy klienci mogą komunikować się z usługą Application Gateway.

Usługa Application Gateway oferuje następujące dwie opcje sprawdzania poprawności certyfikatów klienta:

Tryb przekazywania wzajemnego protokołu TLS

W trybie wzajemnego przekazywania protokołu TLS usługa Application Gateway żąda certyfikatu klienta podczas uzgadniania protokołu TLS, ale nie przerywa połączenia, jeśli brakuje certyfikatu lub jest on nieprawidłowy. Połączenie z zapleczem jest kontynuowane niezależnie od obecności lub ważności certyfikatu. W przypadku podania certyfikatu usługa Application Gateway może przekazać go do zaplecza, jeśli jest to wymagane przez aplikację. Usługa zaplecza jest odpowiedzialna za weryfikowanie certyfikatu klienta. Jeśli chcesz skonfigurować przekazywanie certyfikatów, zapoznaj się ze zmiennymi serwera. Nie ma potrzeby wgrywania żadnego certyfikatu CA, gdy jest on w trybie Passthrough. Aby skonfigurować mechanizm passthrough, wykonaj kroki opisane w dokumencie Konfigurowanie usługi Application Gateway z uwierzytelnianiem wzajemnym przy użyciu szablonu ARM.

Uwaga

Obecnie ta funkcja jest obsługiwana tylko za pośrednictwem wdrożenia usługi Azure Resource Manager przy użyciu interfejsu API w wersji 2025-03-01.

Tryb ścisły wzajemnego szyfrowania TLS

W trybie ścisłym wzajemnego protokołu TLS usługa Application Gateway wymusza uwierzytelnianie certyfikatu klienta podczas uzgadniania protokołu TLS, wymagając prawidłowego certyfikatu klienta. Aby to umożliwić, certyfikat zaufanego urzędu certyfikacji (CA) klienta zawierający urząd certyfikacji główny (root) i opcjonalnie pośrednie urzędy certyfikacji (CA) muszą zostać przesłane jako część profilu SSL. Ten profil SSL jest następnie skojarzony z odbiornikiem w celu wymuszania wzajemnego uwierzytelniania.

Szczegóły konfigurowania wzajemnego trybu ścisłego protokołu TLS

Aby skonfigurować tryb ścisłego uwierzytelniania wzajemnego, należy wgrać certyfikat zaufanego urzędu certyfikacji klienta jako część uwierzytelnienia klienta w profilu SSL. Następnie profil SSL musi być skojarzony z odbiornikiem, aby ukończyć konfigurację wzajemnego uwierzytelniania. Zawsze musi istnieć certyfikat głównego urzędu certyfikacji w przekazanym certyfikacie klienta. Można również przekazać łańcuch certyfikatów, ale łańcuch musi zawierać certyfikat głównego urzędu certyfikacji oprócz tylu pośrednich certyfikatów urzędu certyfikacji, jak chcesz. Maksymalny rozmiar każdego przekazanego pliku musi wynosić 25 KB lub mniej.

Jeśli na przykład certyfikat klienta zawiera certyfikat głównego urzędu certyfikacji, wiele certyfikatów pośredniego urzędu certyfikacji i certyfikat liścia, upewnij się, że certyfikat głównego urzędu certyfikacji i wszystkie certyfikaty pośredniego urzędu certyfikacji są przekazywane do usługi Application Gateway w jednym pliku. Aby uzyskać więcej informacji na temat wyodrębniania zaufanego certyfikatu urzędu certyfikacji klienta, zobacz jak wyodrębnić zaufane certyfikaty urzędu certyfikacji klienta.

Jeśli przekazujesz łańcuch certyfikatów z głównym urzędem certyfikacji i certyfikatami pośredniego urzędu certyfikacji, łańcuch certyfikatów musi zostać przekazany jako plik PEM lub CER do bramy.

Ważne

Podczas korzystania z wzajemnego uwierzytelniania należy przekazać cały łańcuch certyfikatów zaufanego urzędu certyfikacji klienta do usługi Application Gateway.

Każdy profil SSL może obsługiwać maksymalnie 100 łańcuchów zaufanych certyfikatów urzędu certyfikacji klienta. Jedna usługa Application Gateway może obsługiwać łącznie 200 łańcuchów zaufanych certyfikatów urzędu certyfikacji klienta.

Uwaga

  • Wzajemne uwierzytelnianie jest dostępne tylko w jednostkach SKU Standard_v2 i WAF_v2.
  • Konfiguracja wzajemnego uwierzytelniania odbiorników protokołu TLS (wersja zapoznawcza) jest obecnie dostępna za pośrednictwem interfejsu API REST, programu PowerShell i interfejsu wiersza polecenia.

Certyfikaty obsługiwane na potrzeby wzajemnego uwierzytelniania w trybie ścisłym TLS

Usługa Application Gateway obsługuje certyfikaty wystawione zarówno przez publiczne, jak i prywatne urzędy certyfikacji.

  • Certyfikaty urzędów certyfikacji wystawione przez dobrze znane urzędy: certyfikaty pośrednie i główne (root) są często spotykane w zaufanych magazynach certyfikatów i umożliwiają nawiązywanie zaufanych połączeń z niewielką lub żadną konfiguracją na urządzeniu.
  • Certyfikaty urzędu certyfikacji wystawione przez ustanowione urzędy certyfikacji organizacji: te certyfikaty są zwykle wystawiane prywatnie za pośrednictwem organizacji i nie są zaufane przez inne jednostki. Certyfikaty pośrednie i główne muszą być importowane do zaufanych magazynów certyfikatów dla klientów w celu ustanowienia relacji zaufania łańcucha.

Uwaga

Podczas wystawiania certyfikatów klienta od dobrze znanych urzędów certyfikacji należy rozważyć współpracę z urzędem certyfikacji, aby sprawdzić, czy dla organizacji można wydać certyfikat pośredni, aby zapobiec niezamierzonemu uwierzytelnianiu certyfikatu klienta między organizacyjnymi.

Dodatkowa weryfikacja uwierzytelniania klienta dla wzajemnego trybu ścisłego protokołu TLS

Weryfikowanie nazwy wyróżniającej certyfikatu klienta

Istnieje możliwość zweryfikowania natychmiastowego wystawcy certyfikatu klienta i umożliwienia usłudze Application Gateway zaufania tylko temu wystawcy. Ta opcja jest domyślnie wyłączona, ale można włączyć tę opcję za pośrednictwem portalu, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Jeśli zdecydujesz się włączyć usługę Application Gateway w celu zweryfikowania natychmiastowego wystawcy certyfikatu klienta, poniżej przedstawiono sposób określania nazwy wyróżniającej wystawcy certyfikatu klienta, która zostanie wyodrębniona z przekazanych certyfikatów.

  • Scenariusz 1. Łańcuch certyfikatów obejmuje: certyfikat główny — certyfikat pośredni — certyfikat liścia
    • Nazwa podmiotu certyfikatu pośredniego jest tym, co usługa Application Gateway wyodrębni jako nazwę wyróżniającą wystawcy certyfikatu klienta i zostanie zweryfikowana.
  • Scenariusz 2. Łańcuch certyfikatów obejmuje: certyfikat główny — certyfikat pośredni1 — certyfikat pośredni2 — certyfikat liścia
    • Nazwa podmiotu certyfikatu pośredniego2 jest wyodrębniona jako nazwa wyróżniająca wystawcy certyfikatu klienta i zostanie zweryfikowana.
  • Scenariusz 3. Łańcuch certyfikatów obejmuje: certyfikat główny — certyfikat liścia
    • Nazwa podmiotu certyfikatu głównego jest wyodrębniona jako nazwa wyróżniająca wystawcy certyfikatu klienta.
  • Scenariusz 4. Wiele łańcuchów certyfikatów o tej samej długości w tym samym pliku. Łańcuch 1 obejmuje: certyfikat główny — certyfikat pośredni1 — certyfikat liścia. Łańcuch 2 obejmuje: certyfikat główny — certyfikat pośredni2 — certyfikat liścia.
    • Nazwa certyfikatu pośredniczącego1 jest wyodrębniona jako DN wystawcy certyfikatu klienta.
  • Scenariusz 5. Wiele łańcuchów certyfikatów o różnych długościach w tym samym pliku. Łańcuch 1 obejmuje: certyfikat główny — certyfikat pośredni1 — certyfikat liścia. Łańcuch 2 obejmuje certyfikat główny — certyfikat pośredni2 — certyfikat pośredni3 — certyfikat liścia.
    • Nazwa podmiotu certyfikatu Intermediate3 jest wyodrębniona jako nazwa wyróżniająca wystawcy certyfikatu klienta.

Ważne

Zalecamy przekazywanie tylko jednego łańcucha certyfikatów na plik. Jest to szczególnie ważne w przypadku włączenia weryfikacji nazwy wyróżniającej certyfikatu klienta. Przekazując wiele łańcuchów certyfikatów w jednym pliku, możesz znaleźć się w scenariuszu cztery lub pięć, i mogą pojawić się problemy później, gdy przedstawiony certyfikat klienta nie jest zgodny z wystawcą DN certyfikatu klienta bramy aplikacyjnej wyodrębnionym z łańcuchów.

Aby uzyskać więcej informacji na temat wyodrębniania łańcuchów certyfikatów zaufanego urzędu certyfikacji klienta, zobacz jak wyodrębnić łańcuchy certyfikatów zaufanego urzędu certyfikacji klienta.

Zmienne serwera

W przypadku wzajemnego uwierzytelniania TLS istnieją dodatkowe zmienne serwera, których można użyć do przekazywania informacji o certyfikacie klienta do serwerów zaplecza za usługą Application Gateway. Aby uzyskać więcej informacji na temat dostępnych zmiennych serwera i sposobu ich używania, zapoznaj się ze zmiennymi serwera.

Odwołanie certyfikatu

Gdy klient inicjuje połączenie z usługą Application Gateway skonfigurowaną za pomocą wzajemnego uwierzytelniania TLS, nie tylko może zweryfikować łańcuch certyfikatów i nazwę wyróżniającą wystawcy, ale stan odwołania certyfikatu klienta można sprawdzić za pomocą protokołu OCSP (Protokół stanu certyfikatu online). Podczas walidacji certyfikat przedstawiony przez klienta będzie sprawdzany za pośrednictwem zdefiniowanego obiektu odpowiadającego OCSP zdefiniowanego w rozszerzeniu dostępu do informacji o urzędzie (AIA). W przypadku odwołania certyfikatu klienta brama aplikacji odpowiada klientowi przy użyciu kodu stanu HTTP 400 i przyczyny. Jeśli certyfikat jest prawidłowy, żądanie będzie nadal przetwarzane przez bramę aplikacji i przekazywane do zdefiniowanej puli zaplecza.

Odwoływanie certyfikatów klienta można włączyć za pośrednictwem interfejsu API REST, szablonu usługi ARM, Bicep, interfejsu wiersza polecenia lub programu PowerShell.

Aby skonfigurować sprawdzanie odwołania klienta w istniejącej usłudze Application Gateway za pośrednictwem programu Azure PowerShell, można odwołać się do następujących poleceń:

# 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

Listę wszystkich odwołań programu Azure PowerShell do konfiguracji uwierzytelniania klienta w usłudze Application Gateway można znaleźć tutaj:

Aby sprawdzić, czy stan odwołania OCSP został oceniony dla żądania klienta, dzienniki dostępu będą zawierać właściwość o nazwie "sslClientVerify" ze stanem odpowiedzi OCSP.

Ważne jest, aby odpowiadający OCSP był wysoce dostępny, a możliwa była łączność sieciowa między urządzeniem Application Gateway a odpowiadającym. W przypadku, gdy usługa Application Gateway nie może rozpoznać w pełni kwalifikowanej nazwy domeny (FQDN) zdefiniowanego obiektu odpowiadającego lub łączności sieciowej jest zablokowana do/z obiektu odpowiadającego, stan odwołania certyfikatu kończy się niepowodzeniem, a usługa Application Gateway zwróci odpowiedź HTTP 400 na klienta żądającego.

Uwaga

Testy OCSP są weryfikowane za pośrednictwem lokalnej pamięci podręcznej na podstawie następnego czasu aktualizacji zdefiniowanego przez poprzednią odpowiedź OCSP. Jeśli pamięć podręczna OCSP nie została wypełniona z poprzedniego żądania, pierwsza odpowiedź może zakończyć się niepowodzeniem. Po ponowieniu próby klienta odpowiedź powinna zostać znaleziona w pamięci podręcznej, a żądanie zostanie przetworzone zgodnie z oczekiwaniami.

Uwagi

  • Sprawdzanie odwołania za pośrednictwem listy CRL nie jest obsługiwane
  • Sprawdzanie odwołania klienta zostało wprowadzone w interfejsie API w wersji 2022-05-01

Następne kroki

Po zapoznaniu się z uwierzytelnianiem wzajemnym przejdź do tematu Konfigurowanie usługi Application Gateway z wzajemnym uwierzytelnianiem w programie PowerShell , aby utworzyć usługę Application Gateway przy użyciu wzajemnego uwierzytelniania.