Proxy kimlik bilgilerini sistem hizmetleri tarafından kullanılmak üzere macOS'ta nasıl saklayabilirim?


14

Şirket NTLM proxy'sinin arkasında macOS Sierra 10.12.6 kullanıyorum. Tarayıcım ve diğer uygulamalar, proxy ile kimlik doğrulaması için kullanıcı adımı ve şifremi kaydettiğim sistem proxy ayarlarını kullanıyor. Bu iyi çalışıyor.

İnternet üzerindeki bilgilere erişmeye çalışan ve kullanıcı hesabımdaki proxy kimlik bilgilerine erişemeyen sistem hizmetlerinde kalıcı bir sorun var. Her birkaç dakikada bir aşağıdaki açılır pencereyi görüyorum ve ne yaparsam yapayım (Sistem Tercihleri'ndeki kimlik bilgilerimi güncellemek veya "Şimdi Değil" düğmesine basmak), açılır pencere tekrar tekrar görüntüleniyor:

Proxy Kimlik Doğrulaması Gerekiyor

Pop-up'taki metin şu şekildedir:

Proxy Kimlik Doğrulaması Gerekiyor

Http://xxx.xxx.xxx.xxx:yyyy HTTP proxy'sinin şifresini Sistem Tercihleri'ne girin.

Bu pop-up pencerenin görünmesini durdurmak için ne yapabilirim?

Şimdiye kadar denediğim şeyler:

  • Sistem Tercihleri'ndeki kimlik bilgilerim güncellendi ( Ağ> Gelişmiş> Proxy )
  • Benim dan kimlik girdileri Kopyalanan giriş için anahtarlıkta Sistemi Bir blog yazısı veya forum söz konusu olduğu için bir öneri okumak beri, anahtarlık.

Bunların hiçbiri işe yaramadı, her birkaç dakikada bir bu pop-up alıyorum ve ortaya çıktığında bir desen yok gibi görünüyor.

Güncelleme 1:

Yukarıdaki iletişim kutusundaki Sistem Tercihleri düğmesini tıklatarak kimlik bilgilerimi girer girmez (örneğin Safari'yi açıp konum kutusuna bir URL yazmaya başlayarak zorlayabilirim), giriş anahtar zincirinde her ikisi de aynı olan iki kayıt oluşturulur içerik:

@ xxx.xxx.xxx.xxx (kullanıcı adı) Bugün İnternet Şifresi, 09:10 - giriş

Her iki kayıt da aynı ad ve özniteliklerle aynı görünür. Her ikisi de, bunu isteyen uygulamanın AuthBrokerAgent:

Anahtarlık Erişim Kontrolü

Güncelleme 2:

: Ben de bu öneriyi denedim https://discussions.apple.com/message/23848961#message23848961 gelen doğrulama girişlerini kopyalama, giriş için anahtarlıkta sistemi yeniden başlatmayı daha sonra anahtarlık ve ancak sorunu çözmedi. Aslında, bu yazarken korkunç "Proxy Kimlik Doğrulaması Gerekli" kutusu tekrar ortaya çıktı ...

Güncelleme 3:

Makinem ve proxy'imiz arasındaki trafiğe bakmak için Wireshark'ı kullandım:

  • Vekil sunucu NTLM kullandığından, vekil beklenti ile uyumlu bir 407 Proxy Authentication Requiredve ile döner Proxy-Authenticate: NTLM.
  • Trafikte gördüğüm bazı örnekler (örneğin iCloud) daha sonra bir NTLMSSP_NEGOTIATEyanıt gönderir .
  • Proxy bir NTLMSSP_CHALLENGEistekle geri gelir
  • Hizmet yanıt verir NTLMSSP_AUTHve bir yerden almış olması gereken kullanıcı adım.
  • Proxy sonunda bir 200 Connection established

Bana göre, bu, sistem kullanıcı adını ve proxy'yi bir yerden alabiliyorsa, genel olarak proxy kimlik doğrulamasının iyi çalıştığını gösterir. Soru, tüm sistem hizmetlerinin bulabilmesi için kullanıcı adı / parolanın nasıl / nerede saklanacağıdır. Bazı sistem hizmetlerinin (sanırım) şu anda depoladığım proxy kimlik bilgilerini bulmak için herhangi bir yolu yoktur.



Hangi proxy'yi kullanıyorsunuz? Kullandığımız bir proxy'nin şifrelerin saklanmasına izin vermeme yeteneğine sahip olduğunu (böylece her seferinde kullanıcının kimliğini doğrulamaya zorladığını ) hatırlıyorum . Durum böyle olabilir.
Allan

1
Ara sıra aynı sorunla karşılaştığım ve bir Citrix VPN çözümüne bağlandığım için bu sorunu çözdünüz mü? Açılır pencere göründükten sonra tekrar tekrar gerçekleşir ve sonunda AD hesabım kilitlenir. Bunu çözecek bir çözüm bulamadım. Bir MacBook Pro kullandığım ve BT Departmanının çoğunluğu Windows tabanlı olduğu için BT'den herhangi bir yararlı bilgi alamadım. VPN'ye bağlandıktan sonra Solaris SPARC sunucularında çalışan Oracle uygulamaları üzerinde çalışıyorum. Umarım bu sorunu çözmenin bir yolunu bulursunuz. stan
Stan Repetta

Üzgünüz, bunun için henüz bir çözüm bulamadık. Yaptığım şey, herhangi bir düğmeye basmadan ekranın yanına proxy kimlik bilgilerini isteyen pencereyi hareket ettirmektir - en azından sessiz tutan ...
nwinkler

Yanıtlar:


9

Sistem / ağ yöneticiniz yalnızca temel bir kimlik doğrulama düzeninden daha fazlasını gerektiren proxy gücü kimlik doğrulamasını yapılandırdıysa, bu büyük olasılıkla beklenen davranıştır.

Microsoft'un sayfasından Authentication Handling altında HTTP Kimlik Hakkında bölümünde:

İki genel kimlik doğrulama şeması türü vardır:

  • Kullanıcı adı ve parolanın sunucuya açık metin olarak gönderildiği temel kimlik doğrulama şeması.
  • Bir meydan okuma-cevap formatına izin veren meydan okuma-cevap şemaları.

Sınama yanıtı düzenleri daha güvenli kimlik doğrulaması sağlar. Bir istek bir meydan okuma-yanıt şeması kullanarak kimlik doğrulaması gerektiriyorsa, uygun durum kodu ve Kimlik Doğrulama başlıkları istemciye döndürülür. Müşteri daha sonra talebi bir müzakere yoluyla tekrar göndermelidir. Sunucu, uygun bir durum kodunu meydan okuma ile döndürür ve istemcinin, istenen hizmeti almak için isteği uygun yanıtla yeniden göndermesi gerekir.

Kullandığınız proxy temel kimlik doğrulama düzenini kullanıyorsa, anahtar zincirinize kaydedilenler kimlik doğrulaması için yeterli olacaktır. Bir sınama yanıt şeması kullanılıyorsa, kimlik doğrulaması için büyük olasılıkla daha fazla bilgi vermeniz gerekecektir (bu durumda - şifrenizi tekrar girin); ve gördüğünüz şey bu.

NTLM Kimlik Doğrulama Süreci

Bu sadece kimlik bilgilerini depolamaktan çok daha fazlasıdır . İstemci gerekir oluşturmak Bir dayanan bir tepki meydana sunucusundan istek. Aşağıda, Microsoft'un belgelerine göre istemci / sunucu perspektifinden kimlik doğrulama işleminin çok kısaltılmış bir açıklaması yer almaktadır

  • İstemci, kullanıcı adını sunucuya gönderir (düz metin olarak).
  • Sunucu, sınama veya nonce adı verilen 16 baytlık rasgele bir sayı oluşturur ve bunu istemciye gönderir.
  • İstemci bu sorguyu kullanıcının parolasının karmasıyla şifreler ve sonucu sunucuya döndürür. Buna yanıt denir.
  • Sunucu, etki alanı denetleyicisine aşağıdaki üç öğeyi gönderir:

    • Kullanıcı adı
    • Müşteriye gönderilen meydan okuma
    • İstemciden yanıt alındı
  • DC şifrelenmiş sınamayı ve yanıtı doğrular. Kimliği doğrulanırsa erişim izni verilir.

Yukarıdaki üçüncü adım , istemcinin sunucudan aldığı rasgele bir sayıya sahip olmasını gerektirir . Bu, doğası gereği macOS istemcinizde saklanacak hiçbir şey olmadığı anlamına gelir.

En azından Active Directory etki alanına katılmanız gerekir. Bu, kuruluşunuz için Kerberos desteğinin etkinleştirilmiş ve doğru yapılandırılmış olması gerektiği anlamına gelir .

Yukarıda bağladığım "Kimlik Doğrulamayı Kullanma" belgesinde önemli bir ifade var:

Kimlik doğrulaması gerekiyorsa, HttpOpenRequest çağrısında INTERNET_FLAG_KEEP_CONNECTION bayrağı kullanılmalıdır. Kimlik doğrulama işlemini tamamlarken bağlantıyı sürdürmek için NTLM ve diğer kimlik doğrulama türleri için INTERNET_FLAG_KEEP_CONNECTION bayrağı gerekir. Bağlantı korunmazsa, kimlik doğrulama işleminin proxy veya sunucu ile yeniden başlatılması gerekir.

(Vurgu madeni)

Sunulan belirtilere dayanarak, kuruluşunuzun proxy için kimlik doğrulaması gerektirdiği görülüyor; kullanıcı adınız / şifreniz geçerlidir, ancak yine de kimlik doğrulaması istemektedir. Muhtemelen bağlantı durumunu kaybediyorsunuz ve bunu tekrar tekrar yapmak zorundasınız. Hangi noktaya vurgu yapar ....

Bu sorunu çözmek için, kimlik doğrulama sorunları konusunda size yardımcı olması için ağ yöneticinize başvurmanız gerekir.


1
Hangi kimlik doğrulama düzeninin kullanıldığını nasıl öğrenebilirim? Bir uygulama proxy ile konuşurken bakabileceğim bir HTTP başlığı var mı? Bunu Chrome'un ağ konsolunda yapabilir miyim yoksa Wireshark gibi bir şey mi kullanmam gerekir?
nwinkler

Muhtemelen, Wireshark'ı kullanmanız gerekir. Unutmayın, aynı zamanda şifreli trafik de olabilir.
Allan

1
Soruya Wireshark'ta gördüklerimden bazı bilgiler ekledim.
nwinkler

1
Cevabınıza NTLM hakkında daha fazla bilgi eklediğiniz için teşekkür ederiz. NTLM'yi anlıyorum ve Wireshark çıktısından görebildiğim kadarıyla çalışıyor - açıkladığınız zorluk / yanıt, örneğin Dropbox veya iCloud hizmetleri için yapılıyor. Hangi hizmetin tekrarlanan proxy kimlik bilgisi iletişim kutularını açtığından emin değilim. Cevabınız çok fazla bilgi içeriyor, ancak şu ana kadar bana gerçekten yardımcı olmuyor.
nwinkler

1
Connection Established! = Access Granted. Bunun çalıştığını onaylayabilen kişiler BT departmanınızdaki sistem / ağ yöneticinizdir.
Allan


-2

Aşağıdaki komutu çalıştırın Console.app:

networksetup -setwebproxy "Your Interface Name" "web proxy hostname or IP" 
8080 on username password

Anahtarlık erişimi hakkında sorulacaksınız. Kaydı anahtarlığa eklemeyi kabul edin ve anahtarlığınız açıkken her zaman şifre olmadan erişime sahip olacaksınız .


1
Bunu denedim, ancak sorunu çözmez. Komut, kullanıcı için proxy yapılandırmasını ayarlar ve kimlik doğrulamayı kullanıcının loginanahtar zincirinde saklar . Bunu yaptıktan hemen sonra, yukarıda gösterdiğim proxy kimlik doğrulama iletişim kutusu tekrar açıldı. Önerilen düzeltmeniz benim için sorunu çözmüyor.
nwinkler

çünkü giriş anahtarlığınız kilitli veya çift kayıtlarınız var
Siarhei Karatkevich

1
Giriş anahtarlığı kilidi açıldı, bunu iki kez kontrol ettim. Ancak çift kayıtlarla ilgili nokta geçerli olabilir. Giriş ve sistem anahtarlıklarında bulduğum proxy kimlik doğrulaması için tüm kayıtları sildim, ancak orijinal yazımdaki iletişim kutusuna şifremi bir kez yazdığımda, her ikisi de tam olarak giriş anahtarlığında iki kayıtla sonuçlanıyorum aynı veri. Birini silersem, kimlik bilgilerimi tekrar girdiğimde geri gelir.
nwinkler

1
securityListelediğiniz komutu denedim - hiçbir şey bulamıyor. find-generic-passwordKomutu olarak değiştirirsem yapar find-internet-password, çünkü Anahtarlık girişi "İnternet şifresi" olarak listeler.
nwinkler

1
Proxy URL'si xxx.xxx.xxx.xxx olarak ayarlanmıştır , örneğin komut satırından bu şekilde çalışmaktadır. Wireshark kullanarak bir şey yakalamaya çalışacağım.
nwinkler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.