Pracuję w środowisku, w którym kilku użytkowników uzyskuje dostęp do współdzielonych komputerów iMac (OS X 10.7.4) przy użyciu ogólnych kont współużytkowanych przez wielu użytkowników. Jednak gdy chcą uzyskać dostęp do Internetu, muszą uwierzytelnić się za pomocą serwera proxy, wykorzystując własne unikalne poświadczenia.
Mając to na uwadze, poświadczenia proxy powinny być wyczyszczone przy wylogowaniu, tak że gdy inny użytkownik uzyskuje dostęp do tego samego konta, nadal musi wprowadzać własne poświadczenia proxy podczas uzyskiwania dostępu do Internetu. Firefox robi to dobrze. Safari zapisuje jednak dane uwierzytelniające niezależnie od tego, co się dzieje, i pozostaje wylogowane, co jest kwestią bezpieczeństwa i prywatności.
Próbowałem wyłączyć uwierzytelnianie dla serwera proxy. Spowoduje to ponowne zażądanie poświadczeń, ale zapisze je po ich wprowadzeniu. Breloki do kluczy mają podobne zachowanie, gdy wygasną lub zostaną usunięte. Automatyczne wypełnianie haseł w Safari jest wyłączone i nie ma zapisanych haseł ani innych danych uwierzytelniających.
Jak zatrzymać zapisywanie poświadczeń proxy?
Aktualizacja: Problem wydaje się pochodzić z procesu systemowego o nazwie AuthBrokerAgent, który jest odpowiedzialny za uwierzytelnianie proxy. Gdy poświadczenia proxy są wprowadzane po raz pierwszy, przechowuje je w pęku kluczy logowania użytkownika i automatycznie dodaje się jako dozwolona aplikacja do uzyskiwania dostępu do tych poświadczeń. Obejście można utworzyć, usuwając je z listy dozwolonych aplikacji, zmuszając program do zażądania hasła pęku kluczy podczas uzyskiwania dostępu do tych poświadczeń, a następnie zmieniając hasło pęku kluczy, aby różniło się ono od hasła konta użytkownika, ale jest to bardzo kłopotliwe należy skonfigurować na każdym koncie indywidualnie. Lepsze rozwiązanie musi istnieć.
Usunięcie listy preferencji AuthBrokerAgent całkowicie złamało uwierzytelnianie proxy w Safari.
Odpowiedzi:
W pierwszej kolejności nie wiem, jak zapobiec tworzeniu poświadczeń, ale możesz usunąć elementy z pęku kluczy, używając bezpieczeństwo polecenie, które można łatwo skryptować.
Polecenie, które chcesz, to
security delete-internet-password -s server
, gdzieserver
to nazwa hosta lub adres serwera proxy bez protokołu (to znaczy.192.168.0.1
, niehttps://192.168.0.1
). Alternatywnie możesz użyć-l label
dopasować nazwę elementu pęku kluczy lub różne inne parametry wyszukiwania, które można znaleźć na strona man .Możesz mieć to polecenie uruchomić przy wylogowaniu dla każdego użytkownika przez zapisanie go jako wykonywalnego skryptu w lokalizacji czytelnej dla wszystkich użytkowników (upewnij się, że plik jest również wykonywalny dla wszystkich użytkowników). Następnie uruchomić
sudo defaults write com.apple.loginwindow LogoutHook /path/to/script
.źródło