Używam macOS Sierra 10.12.6 za korporacyjnym proxy NTLM. Moja przeglądarka i inne aplikacje używają systemowych ustawień serwera proxy, w których zapisałem swoją nazwę użytkownika i hasło do uwierzytelnienia się na serwerze proxy. To działa dobrze.
Istnieje stały problem z usługami systemowymi, które próbują uzyskać dostęp do informacji w Internecie i nie widzą dostępu do poświadczeń proxy na moim koncie użytkownika. Co kilka minut widzę następujące okienko wyskakujące i bez względu na to, co robię (aktualizuję swoje poświadczenia w Preferencjach systemowych lub naciskając „Nie teraz”), okienko wyskakuje ciągle i ponownie:
Tekst w wyskakującym okienku brzmi:
Wymagane uwierzytelnienie serwera proxy
Wprowadź hasło do proxy HTTP http://xxx.xxx.xxx.xxx:rrrr w Preferencjach systemowych.
Co mogę zrobić, aby to okno się nie pojawiło?
Rzeczy, których do tej pory próbowałem:
- Zaktualizowałem moje dane uwierzytelniające w Preferencjach systemowych ( Sieć> Zaawansowane> Serwer proxy )
- Skopiowałem wpisy poświadczeń z mojego pęku kluczy logowania do pęku kluczy Systemu , ponieważ przeczytałem o tym zalecenie w poście na blogu lub na forum.
Żaden z nich nie zadziałał, otrzymuję to okienko co kilka minut i wydaje się, że nie ma wzorca kiedy pojawia się.
Aktualizacja 1:
Jak tylko wprowadzę swoje dane uwierzytelniające, klikając przycisk Preferencje systemowe w powyższym oknie dialogowym (które mogę wymusić, np. Otwierając Safari i wpisując adres URL w polu lokalizacji), w pęku kluczy logowania tworzone są dwa rekordy , oba o identycznym charakterze zawartość:
@ xxx.xxx.xxx.xxx (nazwa użytkownika) Hasło internetowe Dzisiaj, 09:10 - logowanie
Oba rekordy wyglądają identycznie, z taką samą nazwą i atrybutami. Oba pokazują, że aplikacja, która tego zażądała, to AuthBrokerAgent
:
Aktualizacja 2:
Wypróbowałem również tę sugestię: https://discussions.apple.com/message/23848961#message23848961 , kopiując wpisy uwierzytelnienia z pęku kluczy logowania do pęku kluczy systemowych, a następnie ponownie uruchamiając system, ale to nie naprawiło. W rzeczywistości przerażające pole „Wymagane uwierzytelnienie proxy” pojawiło się ponownie podczas wpisywania tego ...
Aktualizacja 3:
Użyłem Wireshark, aby spojrzeć na ruch między moją maszyną a naszym serwerem proxy:
- Serwer proxy zwraca znak „
407 Proxy Authentication Required
a”Proxy-Authenticate: NTLM
, co jest zgodne z moimi oczekiwaniami, ponieważ nasz serwer proxy używa NTLM. - Niektóre przykłady, które widziałem w ruchu (np. ICloud), a następnie wysyłają
NTLMSSP_NEGOTIATE
odpowiedź. - Serwer proxy powraca z
NTLMSSP_CHALLENGE
żądaniem - Usługa odpowiada za pomocą
NTLMSSP_AUTH
i mojej nazwy użytkownika, którą musiał skądś uzyskać. - Serwer proxy w końcu odpowiada komunikatem „
200 Connection established
Dla mnie to pokazuje, że ogólnie uwierzytelnianie proxy działa poprawnie, jeśli system może skądś uzyskać nazwę użytkownika i proxy. Pozostaje pytanie, jak / gdzie przechowywać nazwę użytkownika / hasło, aby wszystkie usługi systemowe mogły je znaleźć. Niektóre usługi systemowe (zakładam, że) nie mają żadnych środków, aby znaleźć poświadczenia proxy, w których obecnie je przechowuję.
Odpowiedzi:
Jest to najbardziej prawdopodobne zachowanie, jeśli administrator systemu / sieci skonfigurował uwierzytelnianie wymuszające proxy, które wymaga czegoś więcej niż tylko podstawowego schematu uwierzytelniania.
Ze strony Microsoft Obsługa uwierzytelniania w sekcji Informacje o uwierzytelnianiu HTTP :
Jeśli używany serwer proxy korzysta z podstawowego schematu uwierzytelniania , dane zapisane w pęku kluczy wystarczą do uwierzytelnienia użytkownika. Jeśli używany jest schemat odpowiedzi na wyzwanie , najprawdopodobniej będziesz musiał podać więcej informacji - w tym przypadku - ponownie wprowadź hasło - w celu uwierzytelnienia; i to właśnie widzicie.
Proces uwierzytelniania NTLM
To znacznie więcej niż tylko przechowywanie poświadczeń. Klient musi wygenerować odpowiedź na podstawie wygenerowanego żądania z serwera. Poniżej znajduje się bardzo skrócony opis procesu uwierzytelniania z perspektywy klienta / serwera zgodnie z dokumentacją Microsoft
Trzeci krok powyżej wymaga od klienta haszowania losowej liczby uzyskanej z serwera. To z natury oznacza, że na kliencie macOS nie ma nic do przechowywania.
Przynajmniej musisz dołączyć do domeny Active Directory. Oznacza to, że potrzebujesz włączonej obsługi protokołu Kerberos i skonfigurowanej odpowiednio dla konkretnej organizacji.
Istnieje kluczowa fraza w dokumencie „Obsługa uwierzytelniania”, do którego odsyłam powyżej:
(Moje podkreślenie)
Na podstawie przedstawionych objawów wydaje się, że Twoja organizacja wymaga uwierzytelnienia w proxy; Twoja nazwa użytkownika / hasło są prawidłowe, ale nadal (ponownie) prosi o uwierzytelnienie. Prawdopodobnie dlatego, że tracisz stan połączenia i musisz to zrobić od nowa. Co dodatkowo podkreśla punkt ....
Aby rozwiązać ten problem, musisz skontaktować się z administratorem sieci, aby pomóc w problemach z uwierzytelnianiem.
źródło
Connection Established
! =Access Granted
. Osoby, które mogą potwierdzić, że to działa, to administratorzy systemu / sieci w dziale IT.przez uwierzytelnienie aplikacji łańcucha kluczy zmodyfikuj ustawienia
źródło
Uruchom następujące polecenie z
Console.app
:Zostaniesz zapytany o dostęp do pęku kluczy. Zgadzam się, aby dodać rekord do pęku kluczy, a będziesz mieć dostęp bez hasła przez cały czas, gdy Twój pęku kluczy jest otwarty.
źródło
login
pęku kluczy mojego użytkownika . Zaraz po tym ponownie pojawiło się okno dialogowe uwierzytelniania proxy, które pokazałem powyżej. Sugerowana naprawa nie rozwiązuje problemu.security
polecenie, które wymieniłeś - nic nie znajduje. Dzieje się tak, jeśli zmienięfind-generic-password
polecenie nafind-internet-password
, ponieważ Brelok wyświetla wpis jako rodzaj „hasła internetowego”.