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 przekazać zaufane certyfikaty urzędu certyfikacji klienta do usługi Application Gateway, a brama będzie używać tego certyfikatu 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.

Aby skonfigurować wzajemne uwierzytelnianie, wymagany jest certyfikat zaufanego urzędu certyfikacji klienta do przekazania w ramach części uwierzytelniania klienta 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. Obsługa witryny Azure Portal będzie dostępna wkrótce.

Certyfikaty obsługiwane na potrzeby wzajemnego uwierzytelniania

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

  • Certyfikaty urzędu certyfikacji wystawione przez dobrze znane urzędy certyfikacji: certyfikaty pośrednie i główne są często spotykane w zaufanych magazynach certyfikatów i umożliwiają nawiązywanie zaufanych połączeń z niewielką ilością dodatkowych konfiguracji 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

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 będzie 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 zostanie wyodrębniona i użyta 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 podmiotu certyfikatu pośredniego1 zostanie wyodrębniona jako nazwa wyróżniająca 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 pośredniego3 zostanie 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. Przekazanie wielu łańcuchów certyfikatów w jednym pliku zakończy się scenariuszem czterech lub pięciu i może wystąpić problemy później w dół wiersza, gdy przedstawiony certyfikat klienta nie jest zgodny z wystawcą certyfikatu klienta DN Application Gateway 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 odpowie klientowi kodem stanu HTTP 400 i przyczyną. 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, 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 osoba odpowiadająca OCSP była wysoce dostępna, a łączność sieciowa między usługą Application Gateway a obiektem odpowiadającym jest możliwa. W przypadku, gdy usługa Application Gateway nie może rozpoznać w pełni kwalifikowanej nazwy domeny (FQDN) zdefiniowanego obiektu reagującego lub łączność sieciowa jest zablokowana do/z obiektu odpowiadającego, stan odwołania certyfikatu zakończy się niepowodzeniem, a usługa Application Gateway zwróci odpowiedź HTTP 400 na żądającego klienta.

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.