Mon serveur proxy de travail nécessite une authentification avec les informations d'identification de l'utilisateur du domaine Microsoft AD. Tout le monde sait comment cela fonctionne: si vous vous connectez sur un poste de travail Windows, vos demandes d'accès à Internet basées sur un navigateur "Internet Explorer" sont automatiquement authentifiées (et identifiées) à l'aide de vos identifiants de connexion de domaine.
J'ai trouvé que Firefox peut également s'authentifier auprès de ces serveurs proxy et j'ai longtemps supposé qu'ils "faisaient quelque chose de spécial". Récemment, un collègue a installé Linux Mint dans une machine virtuelle et à ma grande surprise, il était occupé à obtenir des mises à jour sur Internet. Quand j'ai demandé comment il l'avait fait fonctionner, il a haussé les épaules et a dit "Ça a juste fonctionné"
Cela m'a incité à revoir les paramètres du proxy. Je lance Kubuntu (avec un mélange d'applications G * et K *, mais je n'utilise les applications GTK que lorsque je suis convaincu qu'elles sont bien meilleures que n'importe quoi K *)
J'ai toujours une copie de l'invité Windows en cours d'exécution dans une machine virtuelle VirtualBox, principalement pour l'impression et pour accéder aux sites Web internes / d'entreprise (ce qui nécessite à la fois une authentification et une identification via les informations d'identification de domaine MS) ainsi que pour changer mon mot de passe de domaine tous les jours .
Il serait donc très utile que je puisse faire fonctionner [certaines / la plupart / toutes] mes applications Linux via le serveur proxy. Mes besoins les plus urgents sont qu'Akregator et Muon puissent travailler. D'autres applications qui peuvent bénéficier sont certaines applications qui se mettent à jour automatiquement (par exemple, les extensions de boîte virtuelle) ou s'enroulent autour d'un navigateur (Get More Themes / Wall Papers / etc vient à l'esprit, et l'utilisation occasionnelle de wget)
Les clients SSH / SCP parviennent à fonctionner via le pare-feu sans authentification.
Quelle est la bonne façon (outil et / ou procédure) de configurer cela, idéalement dans un seul emplacement, car avoir à conserver mon mot de passe dans plusieurs emplacements est une recette pour se verrouiller sur mon compte: - /
Oh, et ce serait un rêve devenu réalité si je pouvais avoir l'équivalent de l'utilitaire de désactivation / activation du proxy "Quick Proxy" de Firefox, par exemple un clic pour activer ou désactiver l'utilisation du proxy, sans avoir besoin de se déconnecter et de se reconnecter, en fonction de quel réseau je suis. En y réfléchissant, un utilitaire devrait pouvoir être formé pour regarder votre adresse IP et savoir quand vous devez utiliser le proxy! Mais je m'égare.
J'imagine que l'exécution d'un serveur proxy local qui peut ajouter dynamiquement l'authentification et transmettre à un serveur proxy en amont en cas de besoin peut être la seule vraie solution.
Réponses:
Option de solution : exécutez un proxy Web sur votre machine virtuelle Windows. Configurez votre système pour utiliser cette instance comme proxy.
Étant donné que votre machine virtuelle Windows est déjà authentifiée et que le trafic y est autorisé, la configuration d'un proxy SOCKS sur cette instance de machine virtuelle centralisera vos besoins d'authentification. Si c'est juste pour vous et vos boîtes, cela devrait être bien et c'est probablement assez simple.
S'appuyer sur cette idée consiste à exécuter un démon SSHD sur la machine virtuelle Windows afin que vous puissiez faire des choses comme les tunnels SSH SOCKS à partir de vos autres boîtes via la machine virtuelle:
Pour les applications qui peuvent rencontrer des problèmes ou pour lesquelles vous ne souhaitez pas reconfigurer les applications, vous pouvez utiliser sshtunnel , qui configurera des règles iptables pour acheminer le trafic. Fonctionne pour les systèmes Linux et Mac.
Si vous devez éviter d'installer un proxy sur la machine virtuelle Windows elle-même, vous pouvez configurer une boîte proxy Squid configurée pour s'authentifier auprès de Windows AD. Un guide pour faire cela situé ici:
Option de solution : Squid Proxy authentifié via AD / NTLM
http://techmiso.com/1934/howto-install-squid-web-proxy-server-with-active-directory-authentication/( lien mort )Une autre solution proxy NTLM, bien que je pense que celle-ci fonctionne réellement sur une machine Windows:
Option de solution : proxy NTLM http://cntlm.sourceforge.net/
la source
http://
lors de la configuration du proxy)cntlm
fournit une solution, ainsi qu'une certaine configuration.Les étapes de base à suivre sont les suivantes:
Démarrez le service cntlm, par exemple via
cntlm fournit un moyen de tester le proxy et de générer un hachage à partir de votre mot de passe - par exemple par la commande (en tant que root)
cntlm vous demandera votre mot de passe de domaine. Il testera ensuite différents mécanismes d'authentification par rapport au serveur proxy configuré. Lorsqu'une méthode de travail est trouvée, elle imprime deux lignes qui doivent aller dans son fichier de configuration.
/etc/cntlm.conf
.Maintenant
cntlm
est en cours d'exécution et prêt à être utilisé. Un certain nombre d'emplacements peuvent être utilisés pour configurer divers programmes pour l'utiliser.cntlm
ajoutera ensuite de manière transparente les jetons d'authentification de domaine NT aux paquets sortants et les transmettra au serveur proxy configuré.Utiliser Qt / KDE
Pour les applications natives Qt / KDE, spécifiez "Utiliser un serveur proxy configuré manuellement" dans Paramètres système KDE -> Paramètres réseau -> Paramètres proxy . Le proxy est spécifié comme
http://localhost
avec le port 3128 (par défautcntlm
sauf si vous l'avez modifié). Ces applications sont mises à jour dynamiquement avec de nouveaux paramètres et aucun redémarrage ou déconnexion / connexion n'est requis pour mettre à jour les paramètres.Clients Dropbox et Google
De nombreuses applications peuvent utiliser des variables d'environnement shell. Il convient de noter ici les clients Dropbox et Google Earth. Pour ces applications, utilisez des variables d'environnement shell comme celles-ci:
s3cmd, curl et wget
Remarque: Certaines applications n'utiliseront que les noms en minuscules, d'autres uniquement les noms en majuscules, certaines essaieront d'abord l'un, puis l'autre.
s3cmd
(Le client Amazon S3),curl
etwget
peut en outre être configuré via leurs propres fichiers de configuration si vous le souhaitez. C'est pratique car ils lisent leurs propres fichiers de configuration à chaque appel. Étant donné que ces programmes sont généralement de courte durée (une seule invocation existe après avoir terminé un téléchargement), cela est très utile.Le format de
s3cmd
in~/.s3cfg
est:Le format de wget in
~/.wgetrc
est:Le format de
curl
in~/.curlrc
est:D'un autre côté, la modification du profil du shell ou d'autres fichiers de configuration d'environnement nécessite généralement un redémarrage, une déconnexion et une reconnexion, ou similaire. Il mérite d' être étudié
/etc/environment
,~/.pam_environment
,~/.kde/env/proxy.sh
etc que ce sont des endroits standard pour définir les paramètres proxy configurés via les variables d'environnement shell, en particulier pour affecter tous les utilisateurs et services sur le système.Je comprends également qu'il est possible de modifier les paramètres d'environnement par application en utilisant leurs
.desktop
fichiers respectifs , mais je ne l'ai pas encore essayé (avec succès).VirtualBox
VirtualBox peut être configuré pour utiliser un proxy (par exemple pour rechercher et télécharger des mises à jour logicielles) en utilisant son interface graphique ou en utilisant la commande:
Par souci d'exhaustivité, pour le désactiver, utilisez:
Firefox
Pour Firefox, j'utilise l'addon QuickProxy. Firefox lui-même s'il est configuré manuellement pour utiliser le serveur proxy sur la machine locale, donc QuickProxy active / désactive simplement le paramètre.
APTE
APT (utilisé en arrière-plan par synaptique, muon et amis) utilise un fichier de configuration dans
/etc/apt/apt.conf.d/
, par exemple l'00proxy
activation du proxy pour APT se fait en utilisant des lignes comme:Remarque: add-apt-repository utilise le profil racine, ou vous pouvez configurer sudo pour autoriser tous les paramètres http * _proxy.
Un script pour les gouverner tous
FWIW Je suis en train d'écrire un script modulaire pour activer / désactiver le proxy pour de nombreux programmes. J'ai jusqu'à présent écrit les modules suivants:
Ainsi qu'une application de contrôle. Nous espérons que ceux-ci seront bientôt déplacés dans un github ou une autre maison en ligne.
la source
L'authentification proxy avec ntlm est bien expliquée dans les liens ci-dessous.
Mais le problème avec ntlm est que vous devez mettre à jour le
cntlm
fichier de configuration plusieurs fois par jour. Considérez une situation où différents utilisateurs partagent une machine commune et doivent mettre à jour leur mot de passe AD dans lecntlm
fichier de configuration chaque fois qu'ils se connectent au système. Il existe peut-être une méthode pour mettre à jour automatiquement lecntlm
fichier de configuration chaque fois qu'un utilisateur est connecté.la source