17 votes

Comment stocker les informations d'identification du proxy sur MacOS afin qu'elles soient utilisées par les services système ?

J'utilise MacOS Sierra 10.12.6 derrière un proxy NTLM d'entreprise. Mon navigateur et d'autres applications utilisent les paramètres du proxy système, dans lesquels j'ai enregistré mon nom d'utilisateur et mon mot de passe pour m'authentifier auprès du proxy. Cela fonctionne bien.

Il y a un problème persistant avec les services système qui essaient d'accéder à des informations sur Internet et qui ne semblent pas avoir accès aux informations d'identification du proxy dans mon compte utilisateur. La fenêtre contextuelle suivante s'affiche toutes les deux minutes, et quoi que je fasse (mise à jour de mes informations d'identification dans les Préférences Système, ou appui sur "Pas maintenant"), la fenêtre contextuelle réapparaît sans cesse :

Proxy Authentication Required

Le texte de la fenêtre popup est le suivant :

Authentification du proxy requise

Entrez le mot de passe pour le proxy HTTP http://xxx.xxx.xxx.xxx:yyyy dans les préférences du système.

Que puis-je faire pour empêcher cette pop-up d'apparaître ?

Ce que j'ai essayé jusqu'à présent :

  • J'ai mis à jour mes informations d'identification dans les Préférences Système ( Réseau > Avancé > Proxy )
  • J'ai copié les entrées d'habilitation de mon site Web. connexion au trousseau de clés Système porte-clés, car j'ai lu une recommandation à ce sujet dans un article de blog ou une question de forum.

Aucune de ces mesures n'a fonctionné. Je reçois cette fenêtre contextuelle toutes les deux minutes, et il ne semble pas y avoir de modèle pour le moment où elle apparaît.

Mise à jour 1 :

Dès que j'entre mes informations d'identification en cliquant sur le bouton Préférences du système dans la boîte de dialogue ci-dessus (que je peux forcer, par exemple, en ouvrant Safari et en commençant à taper une URL dans la zone d'emplacement), deux sont créés dans le connexion porte-clés, tous deux avec un contenu identique :

@ xxx.xxx.xxx.xxx (nom d'utilisateur) Internet Password Aujourd'hui, 09:10 -- login

Les deux enregistrements sont identiques, avec le même nom et les mêmes attributs. Les deux montrent que l'application qui a fait la demande est AuthBrokerAgent :

Keychain Access Control

Mise à jour 2 :

J'ai également essayé cette suggestion : https://discussions.apple.com/message/23848961#message23848961 en copiant les entrées d'authentification du connexion au trousseau de clés système le trousseau de clés et le redémarrage, mais cela n'a pas réglé le problème. En fait, la redoutable boîte "Proxy Authentication Required" est réapparue pendant que je tapais ceci...

Mise à jour 3 :

J'ai utilisé Wireshark pour examiner le trafic entre ma machine et notre proxy :

  • Le mandataire revient avec un 407 Proxy Authentication Required y Proxy-Authenticate: NTLM ce qui est conforme à mes attentes, puisque notre proxy utilise NTLM.
  • Certains exemples que j'ai vus dans le trafic (par exemple iCloud) renvoient alors un NTLMSSP_NEGOTIATE réponse.
  • Le proxy revient avec un NTLMSSP_CHALLENGE demande
  • Le service répond par NTLMSSP_AUTH et mon nom d'utilisateur, qu'il a dû récupérer quelque part.
  • Le proxy répond finalement avec un 200 Connection established

Pour moi, cela montre qu'en général l'authentification par proxy fonctionne bien, si le système peut obtenir le nom d'utilisateur et le proxy de quelque part. La question reste de savoir comment/où stocker le nom d'utilisateur/mot de passe pour que tous les services système puissent le trouver. Certains services système (je suppose) n'ont aucun moyen de trouver les informations d'identification du proxy là où je les stocke actuellement.

9voto

Douglas Points 10417

Il s'agit probablement du comportement attendu si votre administrateur système/réseau a configuré le proxy pour forcer une authentification qui nécessite plus qu'un simple schéma d'authentification de base.

Extrait de la page de Microsoft Gestion de l'authentification sous À propos de l'authentification HTTP section :

Il existe deux types généraux de schémas d'authentification :

  • Schéma d'authentification de base, dans lequel le nom d'utilisateur et le mot de passe sont envoyés en clair au serveur. en clair au serveur.
  • Les systèmes de défi-réponse, qui permettent à un format défi-réponse.

Les schémas défi-réponse permettent une authentification plus sûre. Si une demande nécessite une authentification à l'aide d'un schéma défi-réponse, le code d'état et les en-têtes code d'état et les en-têtes Authenticate appropriés sont renvoyés à l'utilisateur de l'application client. Le client doit alors renvoyer la demande avec une négociation. Le serveur renverrait un code d'état approprié avec un défi, et le client doit alors renvoyer la requête avec la réponse appropriée pour obtenir le service demandé.

Si le proxy que vous utilisez utilise l'option l'authentification de base ce qui est enregistré dans votre trousseau suffira à vous authentifier. Si un réponse au défi est utilisé, vous devrez très probablement fournir plus d'informations - dans ce cas, saisir à nouveau votre mot de passe - pour vous authentifier ; et c'est ce que vous voyez.

Processus d'authentification NTLM

C'est bien plus qu'une simple stockage de les lettres de créance. Le client doit générer une réponse basée sur un généré du serveur. Voici un exemple de très abrégé description du processus d'authentification du point de vue client/serveur par La documentation de Microsoft

  • Le client envoie le nom d'utilisateur au serveur (en clair).

  • Le serveur génère un nombre aléatoire de 16 octets, appelé challenge ou nonce, et l'envoie au client.

  • Le client chiffre ce défi avec le hachage du mot de passe de l'utilisateur et renvoie le résultat au serveur. C'est ce qu'on appelle la réponse.

  • Le serveur envoie les trois éléments suivants au contrôleur de domaine :

    • Nom de l'utilisateur
    • Défi envoyé au client
    • Réponse reçue du client
  • Le DC valide le défi et la réponse chiffrés. S'ils sont authentifiés, l'accès est accordé.

La troisième étape ci-dessus, nécessite le client pour hacher un nombre aléatoire qu'il a obtenu du serveur. Cela signifie intrinsèquement qu'il n'y a rien à stocker sur votre client MacOS.

Au minimum, vous devez être joint au domaine Active Directory. Cela signifie que vous devez Kerberos activé et configuré correctement pour votre organisation spécifique.

Il y a une phrase clé dans le document "Handling Authentication" dont j'ai donné le lien ci-dessus :

Si l'authentification est requise, l'indicateur INTERNET_FLAG_KEEP_CONNECTION doit être utilisé dans l'appel à HttpOpenRequest. L'adresse INTERNET_FLAG_KEEP_CONNECTION est nécessaire pour l'authentification NTLM et d'autres types d'authentification afin de maintenir la connexion pendant que le processus d'authentification. Si la connexion n'est pas maintenue, le processus d'authentification doit être redémarré avec le proxy ou le serveur.

(C'est moi qui souligne)

D'après les symptômes présentés, il semble que votre organisation exige une authentification auprès du proxy. Votre nom d'utilisateur et votre mot de passe sont valides, mais le proxy ne cesse de vous (re)demander une authentification. C'est probablement parce que vous perdez l'état de la connexion et que vous devez tout recommencer. Ce qui souligne encore plus le problème....

Pour résoudre ce problème, vous devrez contacter votre administrateur réseau pour qu'il vous aide à résoudre les problèmes d'authentification.

4voto

Rahul Kumar Points 21

Note: check radio button to allow all application to use proxy

par l'authentification de l'application porte-clés modifier le paramètre

-3voto

Exécutez la commande suivante à partir de Console.app :

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

Vous serez interrogé sur l'accès au trousseau de clés. Acceptez d'ajouter l'enregistrement dans le trousseau de clés et vous aurez un accès sans mot de passe en permanence lorsque votre trousseau de clés sera en service. ouvert.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X