Użytkownik federacyjny jest wielokrotnie monitowany o poświadczenia podczas logowania do platformy Microsoft 365, platformy Azure lub Intune

Ważna

Ten artykuł zawiera informacje, które pokazują, jak pomóc obniżyć ustawienia zabezpieczeń lub jak wyłączyć funkcje zabezpieczeń na komputerze. Możesz wprowadzić te zmiany, aby obejść określony problem. Przed wprowadzeniem tych zmian zalecamy ocenę ryzyka związanego z zaimplementowaniem tego obejścia w określonym środowisku. Jeśli zaimplementujesz to obejście, wykonaj odpowiednie dodatkowe kroki, aby pomóc w ochronie komputera.

Problem

Użytkownik federacyjny jest wielokrotnie monitowany o poświadczenia, gdy użytkownik próbuje uwierzytelnić się w punkcie końcowym usługi Active Directory Federation Services (AD FS) podczas logowania się do usługi w chmurze firmy Microsoft, takiej jak Microsoft 365, Microsoft Azure lub Microsoft Intune. Gdy użytkownik anuluje, użytkownik otrzymuje komunikat o błędzie Odmowa dostępu .

Przyczyna

Objaw wskazuje na problem ze zintegrowanym uwierzytelnianiem systemu Windows z usługami AD FS. Ten problem może wystąpić, jeśli spełniony jest co najmniej jeden z następujących warunków:

  • Użyto nieprawidłowej nazwy użytkownika lub hasła.

  • Ustawienia uwierzytelniania usług Internet Information Services (IIS) są niepoprawnie skonfigurowane w usługach AD FS.

  • Główna nazwa usługi (SPN) skojarzona z kontem usługi używanym do uruchamiania farmy serwerów federacyjnych usług AD FS zostaje utracona lub uszkodzona.

    Uwaga

    Dzieje się tak tylko wtedy, gdy usługi AD FS są implementowane jako farma serwerów federacyjnych i nie są implementowane w konfiguracji autonomicznej.

  • Co najmniej jeden z następujących elementów jest identyfikowany przez rozszerzoną ochronę uwierzytelniania jako źródło ataku typu man-in-the-middle:

    • Niektóre przeglądarki internetowe innych firm
    • Zapora sieci firmowej, moduł równoważenia obciążenia sieci lub inne urządzenie sieciowe publikuje usługę federacyjną usług AD FS w Internecie w taki sposób, że dane ładunku IP mogą być potencjalnie ponownie zapisywane. Może to dotyczyć następujących rodzajów danych:
      • Mostkowanie protokołu Secure Sockets Layer (SSL)

      • Odciążanie protokołu SSL

      • Filtrowanie pakietów stanowych

        Aby uzyskać więcej informacji, zobacz następujący artykuł bazy wiedzy Microsoft Knowledge Base:

        2510193 obsługiwane scenariusze dotyczące używania usług AD FS do konfigurowania logowania jednokrotnego na platformie Microsoft 365, platformie Azure lub Intune

    • Aplikacja do monitorowania lub odszyfrowywania SSL jest zainstalowana lub jest aktywna na komputerze klienckim
  • Rozpoznawanie punktu końcowego usługi AD FS przez system nazw domen (DNS) zostało wykonane za pośrednictwem wyszukiwania rekordów CNAME zamiast wyszukiwania rekordu A.

  • Program Windows Internet Explorer nie jest skonfigurowany do przekazywania zintegrowanego uwierzytelniania systemu Windows do serwera usług AD FS.

Przed rozpoczęciem rozwiązywania problemów

Sprawdź, czy nazwa użytkownika i hasło nie są przyczyną problemu.

  • Upewnij się, że jest używana poprawna nazwa użytkownika i jest w formacie głównej nazwy użytkownika (UPN). Na przykład johnsmith@contoso.com.

  • Upewnij się, że jest używane poprawne hasło. Aby dokładnie sprawdzić, czy jest używane poprawne hasło, może być konieczne zresetowanie hasła użytkownika. Aby uzyskać więcej informacji, zobacz następujący artykuł w witrynie Microsoft TechNet:

    Resetowanie hasła użytkownika

  • Upewnij się, że konto nie jest zablokowane, wygasłe ani nie jest używane poza wyznaczonymi godzinami logowania. Aby uzyskać więcej informacji, zobacz następujący artykuł w witrynie Microsoft TechNet: Zarządzanie użytkownikami

Weryfikowanie przyczyny

Aby sprawdzić, czy problemy z protokołem Kerberos powodują problem, tymczasowo pomiń uwierzytelnianie Kerberos, włączając uwierzytelnianie oparte na formularzach w farmie serwerów federacyjnych usług AD FS. Aby to zrobić, wykonaj następujące kroki.

Krok 1. Edytowanie pliku web.config na każdym serwerze w farmie serwerów federacyjnych usług AD FS

  1. W Eksploratorze Windows znajdź folder C:\inetpub\adfs\ls\, a następnie utwórz kopię zapasową pliku web.config.

  2. Kliknij przycisk Start, kliknij pozycję Wszystkie programy, kliknij pozycję Akcesoria, kliknij prawym przyciskiem myszy Notatnik, a następnie kliknij pozycję Uruchom jako administrator.

  3. W menu Plik kliknij polecenie Otwórz. W polu Nazwa pliku wpisz C:\inetpub\adfs\ls\web.config, a następnie kliknij przycisk Otwórz.

  4. W pliku web.config wykonaj następujące kroki:

    1. Znajdź wiersz zawierający <tryb> uwierzytelniania, a następnie zmień go na <tryb uwierzytelniania="Formularze"/>.

    2. Znajdź sekcję rozpoczynającą < się od localAuthenticationTypes>, a następnie zmień sekcję tak, < aby najpierw była wyświetlana pozycja add name="Forms"> w następujący sposób:

      <localAuthenticationTypes>
      <add name="Forms" page="FormsSignIn.aspx" />
      <add name="Integrated" page="auth/integrated/" />
      <add name="TlsClient" page="auth/sslclient/" />
      <add name="Basic" page="auth/basic/" />
      
  5. W menu Plik kliknij pozycję Zapisz.

  6. W wierszu polecenia z podwyższonym poziomem uprawnień uruchom ponownie usługi IIS przy użyciu polecenia iisresetcommand.

Krok 2. Testowanie funkcji usług AD FS

  1. Na komputerze klienckim, który jest połączony i uwierzytelniony w lokalnym środowisku usług AD DS, zaloguj się do portalu usługi w chmurze.

    Zamiast bezproblemowego uwierzytelniania powinno nastąpić logowanie oparte na formularzach. Jeśli logowanie zakończy się pomyślnie przy użyciu uwierzytelniania opartego na formularzach, potwierdzi to, że w usłudze federacyjnej usług AD FS występuje problem z protokołem Kerberos.

  2. Przed podjęciem kroków opisanych w sekcji "Rozwiązywanie" przywróć konfigurację każdego serwera w farmie serwerów federacyjnych usług AD FS do poprzednich ustawień uwierzytelniania. Aby przywrócić konfigurację każdego serwera w farmie serwerów federacyjnych usług AD FS, wykonaj następujące kroki:

    1. W Eksploratorze Windows znajdź folder C:\inetpub\adfs\ls\, a następnie usuń plik web.config.
    2. Przenieś kopię zapasową pliku web.config utworzonego w sekcji "Krok 1: edytowanie pliku web.config na każdym serwerze w farmie serwerów federacyjnych usług AD FS" do folderu C:\inetpub\adfs\ls\.
  3. W wierszu polecenia z podwyższonym poziomem uprawnień uruchom ponownie usługi IIS przy użyciu polecenia iisresetcommand.

  4. Sprawdź, czy zachowanie uwierzytelniania usług AD FS powraca do pierwotnego problemu.

Rozwiązanie

Aby rozwiązać problem z protokołem Kerberos, który ogranicza uwierzytelnianie usług AD FS, należy użyć co najmniej jednej z następujących metod, stosownie do sytuacji.

Rozwiązanie 1. Resetowanie ustawień uwierzytelniania usług AD FS do wartości domyślnych

Jeśli ustawienia uwierzytelniania usług AD FS IIS są nieprawidłowe lub ustawienia uwierzytelniania usług IIS dla usług federacyjnych usług AD FS i usług proxy są niezgodne, jednym z rozwiązań jest zresetowanie wszystkich ustawień uwierzytelniania usług IIS do domyślnych ustawień usług AD FS.

Domyślne ustawienia uwierzytelniania są wymienione w poniższej tabeli.

Aplikacja wirtualna Poziom uwierzytelniania
Domyślna witryna sieci Web/adfs Uwierzytelnianie anonimowe
Domyślna witryna sieci Web/adfs/ls Uwierzytelnianie anonimowe, uwierzytelnianie systemu Windows

Na każdym serwerze federacyjnym usług AD FS i na każdym serwerze proxy serwera federacyjnego usług AD FS użyj informacji z następującego artykułu w witrynie Microsoft TechNet, aby zresetować aplikacje wirtualne usług AD FS IIS do domyślnych ustawień uwierzytelniania:

Konfigurowanie uwierzytelniania w usługach IIS 7

Rozwiązanie 2. Popraw nazwę SPN farmy serwerów federacyjnych usług AD FS

Uwaga

Wypróbuj to rozwiązanie tylko wtedy, gdy usługi AD FS są implementowane jako farma serwerów federacyjnych. Nie próbuj tego rozwiązania w autonomicznej konfiguracji usług AD FS.

Aby rozwiązać ten problem, jeśli nazwa SPN dla usługi AD FS została utracona lub uszkodzona na koncie usługi AD FS, wykonaj następujące kroki na jednym serwerze w farmie serwerów federacyjnych usług AD FS:

  1. Otwórz przystawkę Zarządzanie usługami. W tym celu kliknij przycisk Start, kliknij pozycję Wszystkie programy, kliknij pozycję Narzędzia administracyjne, a następnie kliknij pozycję Usługi.

  2. Kliknij dwukrotnie usługę AD FS (2.0) systemu Windows.

  3. Na karcie Logowanie zanotuj konto usługi wyświetlane na tym koncie.

  4. Kliknij przycisk Start, kliknij pozycję Wszystkie programy, kliknij pozycję Akcesoria, kliknij prawym przyciskiem myszy wiersz polecenia, a następnie kliknij pozycję Uruchom jako administrator.

  5. Wpisz następujące polecenie i naciśnij klawisz ENTER.

    SetSPN –f –q host/<AD FS service name>
    

    Uwaga

    W tym poleceniu <nazwa> usługi AD FS reprezentuje w pełni kwalifikowaną nazwę domeny (FQDN) punktu końcowego usługi AD FS. Nie reprezentuje ona nazwy hosta systemu Windows serwera usług AD FS.

    • Jeśli dla polecenia jest zwracany więcej niż jeden wpis, a wynik jest skojarzony z kontem użytkownika innym niż zanotowany w kroku 3, usuń to skojarzenie. Aby to zrobić, uruchom następujące polecenie:

      SetSPN –d host/<AD FS service name><bad_username>
      
    • Jeśli dla polecenia jest zwracany więcej niż jeden wpis, a nazwa SPN używa tej samej nazwy co nazwa komputera serwera usług AD FS w systemie Windows, nazwa federacyjnego punktu końcowego dla usług AD FS jest niepoprawna. Usługi AD FS muszą zostać ponownie zaimplementowane. Nazwa FQDN farmy serwerów federacyjnych usług AD FS nie może być identyczna z nazwą hosta systemu Windows istniejącego serwera.

    • Jeśli nazwa SPN jeszcze nie istnieje, uruchom następujące polecenie:

      SetSPN –a host/<AD FS service name><username of service account>  
      

      Uwaga

      W tym poleceniu <nazwa użytkownika konta> usługi reprezentuje nazwę użytkownika zanotowane w kroku 3.

  6. Po wykonaniu tych kroków na wszystkich serwerach w farmie serwerów federacyjnych usług AD FS kliknij prawym przyciskiem myszy usługĘ AD FS (2.0) systemu Windows w przystawki Zarządzanie usługami, a następnie kliknij przycisk Uruchom ponownie.

Rozwiązanie 3. Rozwiązywanie problemów z rozszerzoną ochroną w przypadku problemów z uwierzytelnianiem

Aby rozwiązać ten problem, jeśli rozszerzona ochrona przed uwierzytelnianiem uniemożliwia pomyślne uwierzytelnianie, użyj jednej z następujących zalecanych metod:

  • Metoda 1. Zaloguj się przy użyciu programu Windows Internet Explorer 8 (lub nowszej wersji programu).
  • Metoda 2. Publikowanie usług AD FS w Internecie w taki sposób, że mostkowanie SSL, odciążanie protokołu SSL lub filtrowanie pakietów stanowych nie powoduje ponownego zapisywania danych ładunku IP. Najlepszym rozwiązaniem w tym celu jest użycie serwera proxy usług AD FS.
  • Metoda 3. Zamykanie lub wyłączanie monitorowania lub odszyfrowywania aplikacji SSL.

Jeśli nie możesz użyć żadnej z tych metod, aby obejść ten problem, rozszerzoną ochronę uwierzytelniania można wyłączyć dla klientów pasywnych i aktywnych.

Obejście: Wyłączanie rozszerzonej ochrony na potrzeby uwierzytelniania

Ostrzeżenie

Nie zalecamy używania tej procedury jako rozwiązania długoterminowego. Wyłączenie rozszerzonej ochrony uwierzytelniania osłabia profil zabezpieczeń usługi AD FS, nie wykrywając niektórych ataków typu man-in-the-middle na zintegrowane punkty końcowe uwierzytelniania systemu Windows.

Uwaga

Jeśli to obejście jest stosowane do funkcji aplikacji innych firm, należy również odinstalować poprawki w systemie operacyjnym klienta na potrzeby rozszerzonej ochrony na potrzeby uwierzytelniania.

W przypadku klientów pasywnych

Aby wyłączyć rozszerzoną ochronę uwierzytelniania dla klientów pasywnych, wykonaj następującą procedurę dla następujących aplikacji wirtualnych usług IIS na wszystkich serwerach w farmie serwerów federacyjnych usług AD FS:

  • Domyślna witryna sieci Web/adfs
  • Domyślna witryna sieci Web/adfs/ls

Aby to zrobić, wykonaj następujące kroki.

  1. Otwórz Menedżera usług IIS i przejdź do poziomu, który chcesz zarządzać. Aby uzyskać informacje na temat otwierania Menedżera usług IIS, zobacz Open IIS Manager (IIS 7).
  2. W widoku funkcji kliknij dwukrotnie pozycję Uwierzytelnianie.
  3. Na stronie Uwierzytelnianie wybierz pozycję Uwierzytelnianie systemu Windows.
  4. W okienku Akcje kliknij pozycję Ustawienia zaawansowane.
  5. Po wyświetleniu okna dialogowego Ustawienia zaawansowane wybierz pozycję Wył. z menu rozwijanego Rozszerzona ochrona .

Dla aktywnych klientów

Aby wyłączyć rozszerzoną ochronę uwierzytelniania dla aktywnych klientów, wykonaj następującą procedurę na podstawowym serwerze usług AD FS:

  1. Otwórz Windows PowerShell.

  2. Uruchom następujące polecenie, aby załadować Windows PowerShell przystawki usług AD FS:

    Add-PsSnapIn Microsoft.Adfs.Powershell
    
  3. Uruchom następujące polecenie, aby wyłączyć rozszerzoną ochronę na potrzeby uwierzytelniania:

    Set-ADFSProperties –ExtendedProtectionTokenCheck "None"
    

Ponowne włączanie rozszerzonej ochrony na potrzeby uwierzytelniania

W przypadku klientów pasywnych

Aby ponownie włączyć rozszerzoną ochronę przed uwierzytelnianiem dla klientów pasywnych, wykonaj następującą procedurę dla następujących aplikacji wirtualnych usług IIS na wszystkich serwerach w farmie serwerów federacyjnych usług AD FS:

  • Domyślna witryna sieci Web/adfs
  • Domyślna witryna sieci Web/adfs/ls

Aby to zrobić, wykonaj następujące kroki.

  1. Otwórz Menedżera usług IIS i przejdź do poziomu, który chcesz zarządzać. Aby uzyskać informacje na temat otwierania Menedżera usług IIS, zobacz Open IIS Manager (IIS 7).
  2. W widoku funkcji kliknij dwukrotnie pozycję Uwierzytelnianie.
  3. Na stronie Uwierzytelnianie wybierz pozycję Uwierzytelnianie systemu Windows.
  4. W okienku Akcje kliknij pozycję Ustawienia zaawansowane.
  5. Po wyświetleniu okna dialogowego Ustawienia zaawansowane wybierz pozycję Akceptuj z menu rozwijanego Rozszerzona ochrona .

Dla aktywnych klientów

Aby ponownie włączyć rozszerzoną ochronę uwierzytelniania dla aktywnych klientów, wykonaj następującą procedurę na podstawowym serwerze usług AD FS:

  1. Otwórz Windows PowerShell.

  2. Uruchom następujące polecenie, aby załadować Windows PowerShell przystawki usług AD FS:

    Add-PsSnapIn Microsoft.Adfs.Powershell
    
  3. Uruchom następujące polecenie, aby włączyć rozszerzoną ochronę na potrzeby uwierzytelniania:

    Set-ADFSProperties –ExtendedProtectionTokenCheck "Allow"
    

Rozwiązanie 4. Zastępowanie rekordów CNAME rekordami A dla usług AD FS

Użyj narzędzi do zarządzania DNS, aby zastąpić każdy rekord aliasu DNS (CNAME) używany dla usługi federacyjnej rekordem adresu DNS (A). Ponadto sprawdź lub rozważ ustawienia firmowego systemu DNS, gdy zostanie zaimplementowana konfiguracja DNS z podziałem mózgów. Aby uzyskać więcej informacji na temat zarządzania rekordami DNS, zobacz Zarządzanie rekordami DNS.

Rozwiązanie 5. Konfigurowanie programu Internet Explorer jako klienta usług AD FS na potrzeby logowania jednokrotnego

Aby uzyskać więcej informacji na temat konfigurowania programu Internet Explorer na potrzeby dostępu do usług AD FS, zobacz Nieoczekiwane monitowanie użytkownika federacyjnego o wprowadzenie poświadczeń konta służbowego.

Więcej informacji

Aby chronić sieć, usługi AD FS używają rozszerzonej ochrony na potrzeby uwierzytelniania. Rozszerzona ochrona uwierzytelniania może pomóc w zapobieganiu atakom typu man-in-the-middle, w których osoba atakująca przechwytuje poświadczenia klienta i przekazuje je do serwera. Ochrona przed takimi atakami jest możliwa za pomocą funkcji Channel Binding Works (CBT). Funkcja CBT może być wymagana, dozwolona lub nie jest wymagana przez serwer podczas nawiązywania komunikacji z klientami.

Ustawienie ExtendedProtectionTokenCheck AD FS określa poziom rozszerzonej ochrony uwierzytelniania obsługiwanego przez serwer federacyjny. Są to dostępne wartości dla tego ustawienia:

  • Wymagaj: serwer jest w pełni wzmocniony. Wymuszana jest rozszerzona ochrona.
  • Zezwalaj: jest to ustawienie domyślne. Serwer jest częściowo wzmocniony. Rozszerzona ochrona jest wymuszana dla zaangażowanych systemów, które zostały zmienione w celu obsługi tej funkcji.
  • Brak: serwer jest narażony na ataki. Rozszerzona ochrona nie jest wymuszana.

W poniższych tabelach opisano sposób działania uwierzytelniania dla trzech systemów operacyjnych i przeglądarek w zależności od różnych opcji ochrony rozszerzonej dostępnych w usługach AD FS z usługami IIS.

Uwaga

Systemy operacyjne klienta systemu Windows muszą mieć zainstalowane określone aktualizacje, aby efektywnie korzystać z funkcji ochrony rozszerzonej. Domyślnie funkcje są włączone w usługach AD FS.

Domyślnie system Windows 7 zawiera odpowiednie pliki binarne do korzystania z ochrony rozszerzonej.

Windows 7 (lub odpowiednio zaktualizowane wersje systemu Windows Vista lub Windows XP)

Ustawienie Wymagają Zezwalaj (wartość domyślna) Brak
Klient usługi Windows Communication Foundation (WCF) (wszystkie punkty końcowe) Działa Działa Działa
Internet Explorer 8 i nowsze wersje Działa Działa Działa
Firefox 3.6 Nie powiedzie się Nie powiedzie się Działa
Safari 4.0.4 Nie powiedzie się Nie powiedzie się Działa

Windows Vista bez odpowiednich aktualizacji

Ustawienie Wymagają Zezwalaj (wartość domyślna) Brak
Klient WCF (wszystkie punkty końcowe) Nie powiedzie się Działa Działa
Internet Explorer 8 i nowsze wersje Działa Działa Działa
Firefox 3.6 Nie powiedzie się Działa Działa
Safari 4.0.4 Nie powiedzie się Działa Działa

System Windows XP bez odpowiednich aktualizacji

Ustawienie Wymagają Zezwalaj (wartość domyślna) Brak
Internet Explorer 8 i nowsze wersje Działa Działa Działa
Firefox 3.6 Nie powiedzie się Działa Działa
Safari 4.0.4 Nie powiedzie się Działa Działa

Aby uzyskać więcej informacji na temat rozszerzonej ochrony na potrzeby uwierzytelniania, zobacz następujący zasób firmy Microsoft:

Konfigurowanie opcji zaawansowanych dla usług AD FS 2.0

Aby uzyskać więcej informacji na temat polecenia cmdlet Set-ADFSProperties, przejdź do następującej witryny internetowej firmy Microsoft:

Set-ADFSProperties

Nadal potrzebujesz pomocy? Przejdź do witryny microsoft community lub witryny internetowej forów Microsoft Entra.

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.