Szczegółowe omówienie uwierzytelniania przekazywanego przez usługę Microsoft Entra

Ten artykuł zawiera bardziej szczegółowy opis sposobu działania uwierzytelniania przekazywanego przez firmę Microsoft. Koncentruje się on na aspektach zabezpieczeń funkcji. Ten artykuł dotyczy zabezpieczeń i administratorów IT, dyrektorów ds. zgodności i zabezpieczeń oraz innych specjalistów IT, którzy są odpowiedzialni za bezpieczeństwo i zgodność IT w organizacjach lub przedsiębiorstwach o dowolnym rozmiarze.

Rozwiązane tematy obejmują:

  • Szczegółowe informacje techniczne dotyczące instalowania i rejestrowania agentów uwierzytelniania.
  • Szczegółowe informacje techniczne dotyczące szyfrowania haseł podczas logowania użytkownika.
  • Zabezpieczenia kanałów między lokalnymi agentami uwierzytelniania i identyfikatorem Entra firmy Microsoft.
  • Szczegółowe informacje techniczne dotyczące sposobu zapewnienia bezpieczeństwa działania agentów uwierzytelniania.

Możliwości zabezpieczeń klucza uwierzytelniania przekazywanego

Uwierzytelnianie przekazywane ma następujące kluczowe możliwości zabezpieczeń:

  • Jest ona oparta na bezpiecznej architekturze wielodostępnej, która zapewnia izolację żądań logowania między dzierżawami.
  • Hasła lokalne nigdy nie są przechowywane w chmurze w żadnej formie.
  • Lokalni agenci uwierzytelniania, którzy nasłuchują żądań weryfikacji haseł i odpowiadają na nie, wysyłają tylko połączenia wychodzące z sieci. Nie ma potrzeby instalowania tych agentów uwierzytelniania w sieci obwodowej (nazywanej również strefą DMZ, strefą zdemilitaryzowaną i podsiecią ekranowaną). Najlepszym rozwiązaniem jest traktowanie wszystkich serwerów z uruchomionymi agentami uwierzytelniania jako systemów warstwy 0 (zobacz dokumentację).
  • Tylko standardowe porty (port 80 i port 443) są używane do komunikacji wychodzącej z agentów uwierzytelniania do identyfikatora Entra firmy Microsoft. Nie musisz otwierać portów przychodzących w zaporze.
    • Port 443 jest używany dla całej uwierzytelnionej komunikacji wychodzącej.
    • Port 80 jest używany tylko do pobierania list odwołania certyfikatów (CRL), aby upewnić się, że żadne z certyfikatów używanych przez tę funkcję nie zostało odwołane.
    • Aby uzyskać pełną listę wymagań sieciowych, zobacz przewodnik Szybki start dotyczący uwierzytelniania przekazywanego firmy Microsoft.
  • Hasła, które użytkownicy udostępniają podczas logowania, są szyfrowane w chmurze przed zaakceptowaniem ich przez lokalnych agentów uwierzytelniania w celu weryfikacji w usłudze Active Directory (Windows Server AD).
  • Kanał HTTPS między identyfikatorem Entra firmy Microsoft i lokalnym agentem uwierzytelniania jest zabezpieczony przy użyciu wzajemnego uwierzytelniania.
  • Uwierzytelnianie przekazywane chroni konta użytkowników przez bezproblemową pracę z zasadami dostępu warunkowego firmy Microsoft Entra, w tym uwierzytelnianiem wieloskładnikowym (MFA), blokowaniem starszego uwierzytelniania i filtrowaniem ataków siłowych na hasła.

Składniki związane z uwierzytelnianiem przekazywanym

Aby uzyskać ogólne informacje o zabezpieczeniach operacyjnych, usług i danych dla identyfikatora Entra firmy Microsoft, zobacz Centrum zaufania. Podczas korzystania z uwierzytelniania przekazywanego na potrzeby logowania użytkownika są używane następujące składniki:

  • Microsoft Entra Security Token Service (Microsoft Entra STS): bezstanowy stS, który przetwarza żądania logowania i wystawia tokeny zabezpieczające w przeglądarkach użytkowników, klientach lub usługach zgodnie z potrzebami.
  • Azure Service Bus: zapewnia komunikację z obsługą chmury za pomocą komunikatów i przekaźników przedsiębiorstwa, która ułatwia łączenie rozwiązań lokalnych z chmurą.
  • Microsoft Entra Połączenie Authentication Agent: składnik lokalny, który nasłuchuje żądań weryfikacji haseł i odpowiada na nie.
  • Azure SQL Database: przechowuje informacje o agentach uwierzytelniania dzierżawy, w tym ich metadanych i kluczach szyfrowania.
  • Usługa AD systemu Windows Server: lokalna usługa Active Directory, w której są przechowywane konta użytkowników i ich hasła.

Instalacja i rejestracja agentów uwierzytelniania

Agenci uwierzytelniania są instalowani i zarejestrowani przy użyciu identyfikatora Entra firmy Microsoft podczas wykonywania jednej z następujących akcji:

Uruchomienie agenta uwierzytelniania obejmuje trzy główne fazy:

  • Instalacja
  • Rejestracja
  • Inicjowanie

W poniższych sekcjach szczegółowo omówiono te fazy.

Instalacja agenta uwierzytelniania

Tylko konto usługi Identity hybrydowej Administracja istrator może zainstalować agenta uwierzytelniania (przy użyciu programu Microsoft Entra Połączenie lub wystąpienia autonomicznego) na serwerze lokalnym.

Instalacja dodaje dwa nowe wpisy do listy w programie Panel sterowania> Programy>i funkcje:

  • Sama aplikacja agenta uwierzytelniania. Ta aplikacja jest uruchamiana z uprawnieniami Usługi sieciowej .
  • Aplikacja aktualizatora używana do automatycznego aktualizowania agenta uwierzytelniania. Ta aplikacja działa z uprawnieniami LocalSystem .

Ważne

Z punktu widzenia zabezpieczeń administratorzy powinni traktować serwer z uruchomionym agentem uwierzytelniania przekazywanego tak, jakby był kontrolerem domeny. Serwery agenta uwierzytelniania przekazywanego powinny być wzmacniane zgodnie z opisem w temacie Zabezpieczanie kontrolerów domeny przed atakiem.

Rejestracja agenta uwierzytelniania

Po zainstalowaniu agenta uwierzytelniania rejestruje się w usłudze Microsoft Entra ID. Identyfikator Entra firmy Microsoft przypisuje każdemu agentowi uwierzytelniania unikatowy certyfikat tożsamości cyfrowej, którego może używać do bezpiecznej komunikacji z identyfikatorem Entra firmy Microsoft.

Procedura rejestracji wiąże również agenta uwierzytelniania z dzierżawą. Następnie identyfikator Entra firmy Microsoft wie, że ten konkretny agent uwierzytelniania jest jedynym, który jest autoryzowany do obsługi żądań weryfikacji haseł dla dzierżawy. Ta procedura jest powtarzana dla każdego nowego zarejestrowanego agenta uwierzytelniania.

Agenci uwierzytelniania wykonaj następujące kroki, aby zarejestrować się w usłudze Microsoft Entra ID:

Diagram that depicts authentication agent registration with Azure AD.

  1. Firma Microsoft Entra najpierw żąda, aby administrator tożsamości hybrydowej zalogował się do identyfikatora Entra firmy Microsoft przy użyciu swoich poświadczeń. Podczas logowania agent uwierzytelniania uzyskuje token dostępu, którego może używać w imieniu użytkownika.
  2. Następnie agent uwierzytelniania generuje parę kluczy: klucz publiczny i klucz prywatny.
    • Para kluczy jest generowana za pomocą standardowego szyfrowania RSA 2048-bitowego.
    • Klucz prywatny pozostaje na serwerze lokalnym, na którym znajduje się agent uwierzytelniania.
  3. Agent uwierzytelniania wysyła żądanie rejestracji do identyfikatora Entra firmy Microsoft za pośrednictwem protokołu HTTPS, z następującymi składnikami zawartymi w żądaniu:
    • Token dostępu uzyskany przez agenta.
    • Wygenerowany klucz publiczny.
    • Żądanie podpisania certyfikatu (żądanie CSR lub certyfikatu). To żądanie dotyczy certyfikatu tożsamości cyfrowej z identyfikatorem Entra firmy Microsoft jako urzędem certyfikacji.
  4. Microsoft Entra ID weryfikuje token dostępu w żądaniu rejestracji i sprawdza, czy żądanie pochodzi od administratora tożsamości hybrydowej.
  5. Identyfikator Entra firmy Microsoft podpisuje następnie certyfikat tożsamości cyfrowej i wysyła go z powrotem do agenta uwierzytelniania.
    • Główny urząd certyfikacji w identyfikatorze Entra firmy Microsoft jest używany do podpisywania certyfikatu.

      Uwaga

      Ten urząd certyfikacji nie znajduje się w magazynie zaufanych głównych urzędów certyfikacji systemu Windows.

    • Urząd certyfikacji jest używany tylko przez funkcję uwierzytelniania przekazywanego. Urząd certyfikacji jest używany tylko do podpisywania urzędów certyfikacji podczas rejestracji agenta uwierzytelniania.

    • Żadna inna usługa Firmy Microsoft Entra nie używa tego urzędu certyfikacji.

    • Podmiot certyfikatu (nazywany również nazwą wyróżniającą lub dnem) jest ustawiony na identyfikator dzierżawy. Ta nazwa wyróżniająca jest identyfikatorem GUID, który jednoznacznie identyfikuje dzierżawę. Ten identyfikator DN określa zakres certyfikatu do użycia tylko z dzierżawą.

  6. Identyfikator Entra firmy Microsoft przechowuje klucz publiczny agenta uwierzytelniania w bazie danych w usłudze Azure SQL Database. Tylko identyfikator Entra firmy Microsoft może uzyskać dostęp do bazy danych.
  7. Wystawiony certyfikat jest przechowywany na serwerze lokalnym w magazynie certyfikatów systemu Windows (w szczególności w CERT_SYSTEM_STORE_LOCAL_MACHINE). Certyfikat jest używany zarówno przez agenta uwierzytelniania, jak i aplikację aktualizatora.

Inicjowanie agenta uwierzytelniania

Po uruchomieniu agenta uwierzytelniania po raz pierwszy po rejestracji lub po ponownym uruchomieniu serwera potrzebuje sposobu bezpiecznego komunikowania się z usługą Microsoft Entra, aby można było rozpocząć akceptowanie żądań weryfikacji haseł.

Diagram that depicts authentication agent initialization.

Poniżej przedstawiono sposób inicjowania agentów uwierzytelniania:

  1. Agent uwierzytelniania wysyła żądanie bootstrap ruchu wychodzącego do identyfikatora Entra firmy Microsoft.

    To żądanie jest wykonywane za pośrednictwem portu 443 i odbywa się za pośrednictwem wzajemnie uwierzytelnionego kanału HTTPS. Żądanie używa tego samego certyfikatu, który został wystawiony podczas rejestracji agenta uwierzytelniania.

  2. Identyfikator entra firmy Microsoft odpowiada na żądanie, podając klucz dostępu do kolejki usługi Service Bus, która jest unikatowa dla Twojej dzierżawy i która jest identyfikowana przez identyfikator dzierżawy.

  3. Agent uwierzytelniania wykonuje trwałe wychodzące połączenie HTTPS (za pośrednictwem portu 443) do kolejki.

Agent uwierzytelniania jest teraz gotowy do pobierania i obsługi żądań weryfikacji haseł.

Jeśli masz wielu agentów uwierzytelniania zarejestrowanych w dzierżawie, procedura inicjowania gwarantuje, że każdy agent łączy się z tą samą kolejką usługi Service Bus.

Jak uwierzytelnianie przekazywane przetwarza żądania logowania

Na poniższym diagramie pokazano, jak uwierzytelnianie przekazywane przetwarza żądania logowania użytkownika:

Diagram that depicts how pass-through authentication processes user sign-in requests.

Jak uwierzytelnianie przekazywane obsługuje żądanie logowania użytkownika:

  1. Użytkownik próbuje uzyskać dostęp do aplikacji, na przykład aplikacji Outlook Web App.

  2. Jeśli użytkownik nie jest jeszcze zalogowany, aplikacja przekierowuje przeglądarkę do strony logowania microsoft Entra.

  3. Usługa Microsoft Entra STS odpowiada z powrotem na stronę logowania użytkownika.

  4. Użytkownik wprowadza swoją nazwę użytkownika na stronie logowania użytkownika, a następnie wybiera przycisk Dalej .

  5. Użytkownik wprowadza swoje hasło na stronie logowania użytkownika, a następnie wybiera przycisk Zaloguj się .

  6. Nazwa użytkownika i hasło są przesyłane do usługi Microsoft Entra STS w żądaniu HTTPS POST.

  7. Usługa Microsoft Entra STS pobiera klucze publiczne dla wszystkich agentów uwierzytelniania zarejestrowanych w dzierżawie z usługi Azure SQL Database i szyfruje hasło przy użyciu kluczy.

    Tworzy jedną zaszyfrowaną wartość hasła dla każdego agenta uwierzytelniania zarejestrowanego w dzierżawie.

  8. Usługa Microsoft Entra STS umieszcza żądanie weryfikacji hasła, które składa się z nazwy użytkownika i zaszyfrowanych wartości haseł w kolejce usługi Service Bus, która jest specyficzna dla twojej dzierżawy.

  9. Ponieważ zainicjowani agenci uwierzytelniania są trwale połączeni z kolejką usługi Service Bus, jeden z dostępnych agentów uwierzytelniania pobiera żądanie weryfikacji hasła.

  10. Agent uwierzytelniania używa identyfikatora do lokalizowania zaszyfrowanej wartości hasła specyficznej dla klucza publicznego. Odszyfrowuje klucz publiczny przy użyciu jego klucza prywatnego.

  11. Agent uwierzytelniania próbuje zweryfikować nazwę użytkownika i hasło względem usługi AD systemu Windows Server przy użyciu interfejsu API LognUser Win32 z parametrem ustawionym dwLogonType na LOGON32_LOGON_NETWORK.

    • Ten interfejs API jest tym samym interfejsem API, który jest używany przez usługi Active Directory Federation Services (AD FS) do logowania użytkowników w scenariuszu logowania federacyjnego.
    • Ten interfejs API opiera się na standardowym procesie rozpoznawania w systemie Windows Server w celu zlokalizowania kontrolera domeny.
  12. Agent uwierzytelniania otrzymuje wynik z usługi AD systemu Windows Server, takich jak powodzenie, nazwa użytkownika lub hasło jest niepoprawne lub hasło wygasło.

    Uwaga

    Jeśli agent uwierzytelniania zakończy się niepowodzeniem podczas procesu logowania, całe żądanie logowania zostanie porzucone. Żądania logowania nie są przekazywane z jednego lokalnego agenta uwierzytelniania do innego lokalnego agenta uwierzytelniania. Ci agenci komunikują się tylko z chmurą, a nie ze sobą.

  13. Agent uwierzytelniania przekazuje wynik z powrotem do usługi Microsoft Entra STS za pośrednictwem wychodzącego wzajemnie uwierzytelnionego kanału HTTPS za pośrednictwem portu 443. Wzajemne uwierzytelnianie używa certyfikatu wystawionego dla agenta uwierzytelniania podczas rejestracji.

  14. Firma Microsoft Entra STS sprawdza, czy ten wynik jest skorelowany z określonym żądaniem logowania w dzierżawie.

  15. Usługa Microsoft Entra STS kontynuuje procedurę logowania zgodnie z konfiguracją. Jeśli na przykład weryfikacja hasła zakończyła się pomyślnie, użytkownik może zostać zakwestionowany dla uwierzytelniania wieloskładnikowego lub przekierowany z powrotem do aplikacji.

Zabezpieczenia operacyjne agenta uwierzytelniania

Aby zapewnić bezpieczeństwo uwierzytelniania przekazywanego, identyfikator Entra firmy Microsoft okresowo odnawia certyfikaty agenta uwierzytelniania. Identyfikator Entra firmy Microsoft wyzwala odnawianie. Odnawianie nie podlega samodzielnie agentom uwierzytelniania.

Diagram that depicts how operational security works with pass-through authentication.

Aby odnowić zaufanie agenta uwierzytelniania za pomocą identyfikatora Entra firmy Microsoft:

  1. Agent uwierzytelniania wysyła polecenie ping do firmy Microsoft Entra co kilka godzin, aby sprawdzić, czy nadszedł czas na odnowienie certyfikatu. Certyfikat zostanie odnowiony przez 30 dni, zanim wygaśnie.

    Ta kontrola odbywa się za pośrednictwem wzajemnie uwierzytelnionego kanału HTTPS i używa tego samego certyfikatu, który został wystawiony podczas rejestracji.

  2. Jeśli usługa wskazuje, że nadszedł czas na odnowienie, agent uwierzytelniania generuje nową parę kluczy: klucz publiczny i klucz prywatny.

    • Te klucze są generowane za pomocą standardowego szyfrowania RSA 2048-bitowego.
    • Klucz prywatny nigdy nie opuszcza serwera lokalnego.
  3. Następnie agent uwierzytelniania wysyła żądanie odnowienia certyfikatu do identyfikatora Entra firmy Microsoft za pośrednictwem protokołu HTTPS. W żądaniu znajdują się następujące składniki:

    • Istniejący certyfikat pobrany z lokalizacji CERT_SYSTEM_STORE_LOCAL_MACHINE w magazynie certyfikatów systemu Windows. Żaden administrator globalny nie jest zaangażowany w tę procedurę, więc żaden token dostępu nie jest wymagany dla administratora globalnego.
    • Klucz publiczny wygenerowany w kroku 2.
    • A CSR. To żądanie dotyczy nowego certyfikatu tożsamości cyfrowej z identyfikatorem Entra firmy Microsoft jako jego urzędem certyfikacji.
  4. Identyfikator entra firmy Microsoft weryfikuje istniejący certyfikat w żądaniu odnowienia certyfikatu. Następnie sprawdza, czy żądanie pochodzi z agenta uwierzytelniania zarejestrowanego w dzierżawie.

  5. Jeśli istniejący certyfikat jest nadal ważny, identyfikator entra firmy Microsoft podpisuje nowy certyfikat tożsamości cyfrowej i wystawia nowy certyfikat z powrotem do agenta uwierzytelniania.

  6. Jeśli istniejący certyfikat wygasł, identyfikator entra firmy Microsoft usuwa agenta uwierzytelniania z listy zarejestrowanych agentów uwierzytelniania dzierżawy. Następnie administrator globalny lub administrator tożsamości hybrydowej musi ręcznie zainstalować i zarejestrować nowego agenta uwierzytelniania.

    • Użyj głównego urzędu certyfikacji Microsoft Entra ID, aby podpisać certyfikat.
    • Ustaw identyfikator DN certyfikatu na identyfikator dzierżawy, identyfikator GUID, który jednoznacznie identyfikuje dzierżawę. Nazwa wyróżniająca określa zakres certyfikatu tylko dla dzierżawy.
  7. Microsoft Entra ID przechowuje nowy klucz publiczny agenta uwierzytelniania w bazie danych w usłudze Azure SQL Database, do którego ma dostęp. Unieważnia również stary klucz publiczny skojarzony z agentem uwierzytelniania.

  8. Nowy certyfikat (wystawiony w kroku 5) jest następnie przechowywany na serwerze w magazynie certyfikatów systemu Windows (w szczególności w lokalizacji CERT_SYSTEM_STORE_CURRENT_USER ).

    Ponieważ procedura odnawiania zaufania odbywa się nieinterakcyjne (bez obecności administratora globalnego lub administratora tożsamości hybrydowej), agent uwierzytelniania nie ma już dostępu do aktualizowania istniejącego certyfikatu w lokalizacji CERT_SYSTEM_STORE_LOCAL_MACHINE.

    Uwaga

    Ta procedura nie powoduje usunięcia certyfikatu z lokalizacji CERT_SYSTEM_STORE_LOCAL_MACHINE.

  9. Od tego momentu nowy certyfikat jest używany do uwierzytelniania. Każde kolejne odnawianie certyfikatu zastępuje certyfikat w lokalizacji CERT_SYSTEM_STORE_LOCAL_MACHINE.

Automatyczna aktualizacja agenta uwierzytelniania

Aplikacja aktualizatora automatycznie aktualizuje agenta uwierzytelniania po wydaniu nowej wersji (z poprawkami błędów lub ulepszeniami wydajności). Aplikacja aktualizatora nie obsługuje żadnych żądań weryfikacji haseł dla dzierżawy.

Microsoft Entra ID hostuje nową wersję oprogramowania jako podpisany pakiet Instalatora Windows (MSI). Tożsamość usługi zarządzanej jest podpisana przy użyciu rozwiązania Microsoft Authenticode z algorytmem SHA-256 jako algorytmem skrótu.

Diagram that shows how an authentication agent is auto updated.

Aby automatycznie zaktualizować agenta uwierzytelniania:

  1. Aplikacja aktualizatora wysyła polecenie ping do firmy Microsoft co godzinę, aby sprawdzić, czy jest dostępna nowa wersja agenta uwierzytelniania.

    Ta kontrola odbywa się za pośrednictwem wzajemnie uwierzytelnionego kanału HTTPS przy użyciu tego samego certyfikatu, który został wystawiony podczas rejestracji. Agent uwierzytelniania i aktualizator współużytkuje certyfikat przechowywany na serwerze.

  2. Jeśli jest dostępna nowa wersja, identyfikator Entra firmy Microsoft zwraca podpisany plik MSI z powrotem do aktualizatora.

  3. Aktualizator sprawdza, czy tożsamość usługi zarządzanej jest podpisana przez firmę Microsoft.

  4. Aktualizator uruchamia plik MSI. W tym procesie aplikacja aktualizatora:

    Uwaga

    Aktualizator działa z uprawnieniami systemu lokalnego.

    1. Zatrzymuje usługę agenta uwierzytelniania.
    2. Instaluje nową wersję agenta uwierzytelniania na serwerze.
    3. Uruchamia ponownie usługę agenta uwierzytelniania.

Uwaga

Jeśli masz wielu agentów uwierzytelniania zarejestrowanych w dzierżawie, identyfikator Entra firmy Microsoft nie odnawia swoich certyfikatów ani nie aktualizuje ich w tym samym czasie. Zamiast tego identyfikator Entra firmy Microsoft odnawia certyfikaty pojedynczo, aby zapewnić wysoką dostępność żądań logowania.

Następne kroki