Мой рабочий прокси-сервер требует аутентификации с учетными данными пользователя домена Microsoft AD. Все знают, как это работает: если вы входите на рабочую станцию Windows, ваши запросы на доступ в Интернет на основе браузера Internet Explorer автоматически аутентифицируются (и идентифицируются) с использованием учетных данных для входа в домен.
Я обнаружил, что Firefox также может проходить аутентификацию на этих прокси-серверах и долго предполагал, что они «делают что-то особенное». Недавно коллега установил Linux Mint в виртуальной машине, и, к моему удивлению, он был занят получением обновлений из Интернета. Когда я спросил, как у него это получилось, он пожал плечами и сказал: «Это сработало».
Это побудило меня пересмотреть настройки прокси. Я запускаю Kubuntu (со смесью приложений G * и K *, но я использую приложения GTK только тогда, когда я убежден, что они намного лучше всего K *)
У меня все еще есть копия гостевой системы Windows, работающая на виртуальной машине VirtualBox, в основном для печати и для доступа к внутренним / корпоративным веб-сайтам (для которых требуется проверка подлинности и идентификация через учетные данные домена MS), а также для смены пароля моего домена каждые много дней ,
Поэтому было бы очень полезно, если бы я мог заставить [некоторые / большинство / все] мои приложения Linux работать через прокси-сервер. Мои самые неотложные потребности - чтобы Акрегатор и Муон могли работать. Другие приложения, которые могут принести пользу, - это некоторые приложения, которые автоматически обновляются (например, Virtual Box Extentions) или обертываются вокруг браузера (приходит на ум больше тем / настенных бумаг / и т. Д., А иногда используется wget)
Клиенты SSH / SCP могут работать через брандмауэр без аутентификации.
Какой правильный способ (инструмент и / или процедура) настроить это, в идеале в одном месте, потому что необходимость хранить мой пароль в нескольких местах - это рецепт для блокировки моего аккаунта: - /
О, и это было бы мечтой, если бы я мог иметь эквивалент утилиты отключения / включения прокси-сервера «Быстрый прокси» Firefox, например, одним щелчком мыши, чтобы включить или отключить использование прокси, без необходимости выходить из системы и обратно, в зависимости от того, в какой сети я нахожусь. На самом деле, если подумать, утилита должна быть способной смотреть на ваш IP-адрес и знать, когда вам нужно использовать прокси! Но я отвлекся.
Я представляю себе, что запуск локального прокси-сервера, который может динамически добавлять аутентификацию и пересылку на вышестоящий прокси-сервер при необходимости, может быть единственным реальным решением.
Ответы:
Вариант решения : Запустите веб-прокси на виртуальной машине Windows. Настройте свою систему на использование этого экземпляра в качестве прокси.
Поскольку ваша виртуальная машина Windows уже аутентифицирована, и через нее разрешен трафик, настройка прокси-сервера SOCKS на этом экземпляре виртуальной машины будет централизовать ваши потребности в аутентификации. Если это только для вас и ваших коробок, это должно быть хорошо и, вероятно, довольно просто.
В основе этой идеи лежит запуск демона SSHD на виртуальной машине Windows, чтобы вы могли делать такие вещи, как туннели SSH SOCKS из других своих блоков через виртуальную машину:
Для тех приложений, у которых могут быть проблемы или где вы не хотите перенастраивать приложения, вы можете использовать sshtunnel , который настроит правила iptables для маршрутизации трафика. Работает для систем Linux и Mac.
Если вам необходимо избежать установки прокси на самой виртуальной машине Windows, вы можете настроить прокси-сервер Squid, настроенный для аутентификации на Windows AD. Руководство по выполнению этого находится здесь:
Вариант решения : прокси-сервер Squid, прошедший проверку подлинности через AD / NTLM
http://techmiso.com/1934/howto-install-squid-web-proxy-server-with-active-directory-authentication/( мертвая ссылка )Другое решение для NTLM-прокси, хотя я думаю, что оно работает на компьютере с Windows:
Вариант решения : прокси NTLM http://cntlm.sourceforge.net/
источник
http://
при настройке прокси)cntlm
предоставляет решение вместе с некоторой конфигурацией.Основные шаги, которые необходимо выполнить:
Запустите службу cntlm, например, через
cntlm предоставляет способ протестировать прокси и сгенерировать хеш из вашего пароля - например, с помощью команды (как root)
cntlm запросит пароль вашего домена. Затем он проверит различные механизмы аутентификации на настроенном прокси-сервере. Когда рабочий метод найден, он печатает две строки, которые должны войти в его файл конфигурации.
/etc/cntlm.conf
.Сейчас
cntlm
работает и готов к использованию. Ряд мест может быть использован для настройки различных программ для его использования.cntlm
Затем прозрачно добавит токены аутентификации домена NT в исходящие пакеты и перенаправит их на настроенный прокси-сервер.Использование Qt / KDE
Для собственных приложений Qt / KDE укажите «Использовать вручную настроенный прокси-сервер» в Системных настройках KDE -> Сетевые настройки -> Настройки прокси . Прокси указан как
http://localhost
порт 3128 (по умолчанию,cntlm
если вы его не меняли). Эти приложения обновляются динамически с новыми настройками, и для их обновления не требуется перезапуск или выход из системы / вход в систему.Dropbox & Google клиенты
Многие приложения могут использовать переменные среды оболочки. Заслуживают внимания клиенты Dropbox и Google Earth. Для этих приложений используйте переменные среды оболочки, подобные этим:
s3cmd, curl, & wget
Примечание. Некоторые приложения будут использовать только имена в нижнем регистре, другие - только имена в верхнем регистре, некоторые сначала попробуют одно, а затем другое.
s3cmd
(Клиент Amazon S3),curl
иwget
может быть дополнительно настроен через свои собственные файлы конфигурации при желании. Это удобно, потому что они читают свои собственные файлы конфигурации при каждом вызове. Поскольку эти программы обычно недолговечны (после завершения загрузки существует один вызов), это очень полезно.Формат для
s3cmd
в~/.s3cfg
это:Формат для Wget в
~/.wgetrc
это:Формат для
curl
в~/.curlrc
это:С другой стороны, редактирование профиля оболочки или других файлов конфигурации среды обычно требует перезагрузки, выхода из системы и повторного входа или чего-либо подобного. Это стоит исследовать
/etc/environment
и т. Д.~/.pam_environment
,~/.kde/env/proxy.sh
Поскольку это стандартные места для настройки параметров прокси-сервера, настроенных с помощью переменных среды оболочки, особенно для воздействия на всех пользователей и служб в системе.Я также понимаю, что можно изменить настройки среды для каждого приложения, используя соответствующие
.desktop
файлы, но еще не попробовал (успешно).VirtualBox
VirtualBox может быть настроен для использования прокси (например, для проверки и загрузки обновлений программного обеспечения) с помощью его графического интерфейса или с помощью команды:
Для полноты, чтобы отключить его, используйте:
Fire Fox
Для Firefox я использую аддон QuickProxy. Сам Firefox, если настроен вручную для использования прокси-сервера на локальном компьютере, поэтому QuickProxy просто включает / отключает настройку.
APT
APT (используется в фоновом режиме synaptic, muon и friends) использует файл конфигурации в
/etc/apt/apt.conf.d/
, например,00proxy
Включение прокси для APT выполняется с помощью таких строк:Примечание: add-apt-repository использует корневой профиль, или вы можете настроить sudo, чтобы разрешить сброс всех настроек http * _proxy.
Скрипт, чтобы управлять ими всеми
FWIW Я сейчас нахожусь в процессе написания модульного скрипта для включения / отключения прокси для многочисленных программ. До сих пор я написал следующие модули:
А также контрольное приложение. Надеемся, что скоро они будут перемещены в GitHub или другой онлайн-дом.
источник
Проверка подлинности прокси с помощью ntlm хорошо объяснена в ссылках ниже.
Но проблема с ntlm в том, что вам приходится обновлять
cntlm
файл конфигурации много раз в день. Рассмотрим ситуацию, когда разные пользователи совместно используют общий компьютер, и им приходится обновлять свой пароль AD вcntlm
файле конфигурации при каждом входе в систему. Возможно, существует метод, позволяющий автоматически обновлятьcntlm
файл конфигурации при каждом входе пользователя в систему.источник