Как настроить для аутентификационного прокси-сервера

Мой прокси-сервер моей работы требует аутентификации с учетными данными пользователя домена Microsoft AD. Все знают, как это работает. Если вы входите на рабочую станцию ​​Windows, ваши запросы интернет-доступа на основе браузера Internet Explorer автоматически аутентифицируются (и идентифицируются), используя учетные данные для входа в домен.

Я обнаружил, что Firefox также может аутентифицироваться на этих прокси-серверах и долго предполагал, что они «делают что-то особенное». Недавно коллега установил Linux Mint в виртуальную машину, и, к моему удивлению, он был занят получением обновлений из Интернета. Когда я спросил, как он получил это, он пожал плечами и сказал: «Это просто сработало»,

Это побудило меня пересмотреть настройки прокси-сервера. Я запускаю Kubuntu (со смешанными приложениями G * и K *, но я использую только приложения GTK, когда я убежден, что они намного лучше, чем что-либо K *)

У меня все еще есть копия гостевой ОС Windows, работающая на виртуальной виртуальной машине VirtualBox, в основном для печати и доступа к внутренним / корпоративным веб-сайтам (для чего требуется аутентификация и идентификация через учетные данные MS-домена), а также для изменения моего пароля домена каждые столько дней ,

Поэтому было бы очень полезно, если бы я мог заставить [некоторые / большинство / всех] моих Linux-приложений работать через прокси-сервер. Мои самые насущные потребности в том, чтобы Akregator и Muon могли работать. Другие приложения, которые могут принести пользу, – это некоторые приложения, которые автоматически обновляют (например, Extensions Virtual Box Extentions) или обертывают себя вокруг браузера (Получить больше тем / Настенные документы / и т. Д. Приходит на ум, а иногда и использование wget)

Клиенты SSH / SCP могут работать через брандмауэр без аутентификации.

Каков правильный способ (инструмент и / или процедура) для его настройки, в идеале в одном месте, потому что необходимость поддерживать мой пароль в нескольких местах – это рецепт для блокировки моей учетной записи: – /

О, и это было бы мечтой, если бы я мог иметь эквивалент прокси-сервера для прокси-сервера Firefox «Quick Proxy», например, один щелчок, чтобы включить или отключить использование прокси-сервера, не вздыхая, чтобы выйти из системы и вернуться обратно, в зависимости от того, в какой сети я нахожусь. На самом деле думать об этом, утилита должна быть тренируема, чтобы посмотреть на ваш IP-адрес и узнать, когда вам нужно использовать прокси-сервер! Но я отвлекся.

Я предполагаю запустить локальный прокси-сервер, который может динамически добавлять аутентификацию и перенаправлять на прокси-сервер вверх по мере необходимости, может быть единственным реальным решением.

3 Solutions collect form web for “Как настроить для аутентификационного прокси-сервера”

С моей рабочей станции Linux единственным приложением, которое может получить доступ к Интернету, являются: а) Firefox (с использованием собственной конфигурации прокси-сервера и аутентификации, хранящейся в Firefox), а также приложений, работающих в виртуальной машине Windows (примечание – виртуальная машина Windows является членом домена и пользователь аутентифицируется в домене при входе в систему)

Вариант решения : запустите веб-прокси на своей виртуальной машине Windows. Установите свою систему, чтобы использовать этот экземпляр в качестве своего прокси.

Поскольку ваша виртуальная машина Windows уже прошла аутентификацию и через нее разрешен трафик, настройка прокси-сервера SOCKS на этом экземпляре виртуальной машины будет централизовать ваши потребности в проверке подлинности. Если это только для вас и ваших ящиков, это должно быть хорошо и, вероятно, довольно просто.

Piggybacking по этой идее состоит в том, чтобы получить демон SSHD, работающий на виртуальной машине Windows, чтобы вы могли делать такие вещи, как туннели SSH SOCKS, из ваших других ящиков через виртуальную машину:

ssh -D 1080 windows-user@windows-vm 

Для тех приложений, которые могут иметь проблемы или где вы не хотите перенастраивать приложения, вы можете использовать sshtunnel , который установит правила iptables для маршрутизации трафика. Работает в системах Linux и Mac.

Если вам нужно избегать установки прокси-сервера в самой виртуальной машине Windows, вы можете настроить прокси-сервер Squid, настроенный для проверки подлинности против окон AD. Руководство по выполнению этого, расположенного здесь:

Вариант решения : Squid Proxy, прошедший проверку через AD / NTLM

http://techmiso.com/1934/howto-install-squid-web-proxy-server-with-active-directory-authentication/ ( мертвая ссылка )

Другое прокси-решение NTLM, хотя я думаю, что это действительно работает на компьютере под управлением Windows:

Вариант решения : прокси-сервер NTLM http://cntlm.sourceforge.net/

cntlm предоставляет решение наряду с некоторой конфигурацией.

Основные шаги:

  1. Установите cntlm.
  2. Измените его файл конфигурации в /etc/cntlm.conf, включенные комментарии упрощают его.
  3. Добавьте прокси-сервер (или два).
  4. Укажите имя пользователя и имя домена NT в соответствующих местах и ​​удалите запись пароля.
  5. Запустите службу cntlm, например, через

     $ sudo /etc/init.d/cntlm start 
  6. cntlm предоставляет возможность протестировать прокси-сервер и генерировать хэш из вашего пароля – например, командой (как root)

     $ cntlm -I -M http://www.test.com 
  7. cntlm запросит пароль вашего домена. Затем он проверит различные механизмы аутентификации с настроенным прокси-сервером. Когда найден рабочий метод, он печатает две строки, которые необходимо войти в файл конфигурации.

  8. Остановите сервер cntlm и добавьте линии, полученные на шаге 6 выше, в /etc/cntlm.conf .
  9. Перезапустить cntlm

Теперь cntlm работает и готов к использованию. Ряд мест может использоваться для настройки различных программ для его использования. cntlm затем прозрачно добавит токены аутентификации NT для исходящих пакетов и переадресует их на настроенный прокси-сервер.

Используя Qt / KDE

Для собственных приложений Qt / KDE укажите «Использовать вручную настроенный прокси-сервер» в настройках системы KDE -> Настройки сети -> Настройки прокси . Прокси указывается как http://localhost с портом 3128 (значение по умолчанию для cntlm если вы не изменили его). Эти приложения обновляются динамически с новыми настройками, и для обновления настроек не требуется перезагрузка или выход из системы / логин.

Клиенты Dropbox и Google

Многие приложения могут использовать переменные среды оболочки. Здесь следует отметить клиентов Dropbox и Google Планета Земля. Для этих приложений используются переменные среды оболочки, такие как:

 no_proxy=localhost,127.0.0.0/8,*.local NO_PROXY=localhost,127.0.0.0/8,*.local all_proxy=socks://localhost:3128/ ALL_PROXY=socks://localhost:3128 http_proxy=http://localhost:3128 HTTP_PROXY=http://localhost:3128 ftp_proxy=http://localhost:3128 FTP_PROXY=http://localhost:3128 https_proxy=http://localhost:3128 HTTPS_PROXY=http://localhost:3128 

s3cmd, curl, & wget

Примечание. Некоторые приложения будут использовать только имена в нижнем регистре, другие – только имена верхнего регистра, некоторые сначала попробуют одно, а другое.

s3cmd (клиент Amazon S3), curl и wget могут быть дополнительно настроены через свои собственные файлы конфигурации, если это необходимо. Это удобно, потому что они читают свои собственные файлы конфигурации при каждом вызове. Поскольку эти программы, как правило, недолговечны (один вызов существует после завершения загрузки), что очень полезно.

Формат s3cmd в ~/.s3cfg :

 proxy_host = localhost proxy_port = 3128 

Формат wget в ~/.wgetrc :

 https_proxy = http://localhost:3128 http_proxy = http://localhost:3128 ftp_proxy = http://localhost:3128 

Формат curl в ~/.curlrc :

 proxy = localhost:3128 

С другой стороны, редактирование профиля оболочки или других файлов конфигурации среды обычно требует перезапуска, выхода из системы и т. Д. Стоит исследовать /etc/environment , ~/.pam_environment , ~/.kde/env/proxy.sh т. Д., ~/.kde/env/proxy.sh они являются стандартными местами для установки параметров прокси-сервера, настроенных через переменные среды оболочки, в частности для воздействия на всех пользователей и служб в системе ,

Я также понимаю, что можно изменить настройки среды для каждого приложения, используя их соответствующие файлы .desktop но еще не пробовал (успешно).

VirtualBox

VirtualBox можно настроить для использования прокси-сервера (например, для проверки и загрузки обновлений программного обеспечения) с помощью графического интерфейса пользователя или с помощью команды:

 $ VBoxManage setextradata global GUI/ProxySettings \ "proxyEnabled,localhost,3128,authDisabled,," 

Для полноты, чтобы отключить его, используйте:

 $ VBoxManage setextradata global GUI/ProxySettings \ "proxyDisabled,,,authDisabled,," 

Fire Fox

Для Firefox я использую аддон QuickProxy. Сам Firefox, если он настроен вручную для использования прокси-сервера на локальном компьютере, поэтому QuickProxy просто включает / отключает настройку.

APT

APT (используется в фоновом режиме synaptic, muon и friends) использует файл конфигурации в файле /etc/apt/apt.conf.d/ , например 00proxy Включение прокси для APT выполняется с использованием таких строк, как:

 Acquire::http::Proxy "http://localhost:3128"; #Acquire::ftp::proxy "ftp://localhost:3128/"; #Acquire::https::proxy "https://localhost:3128/"; 

Примечание. Add-apt-repository использует корневой профиль, или вы можете настроить sudo, чтобы разрешить все настройки http * _proxy.

Скрипт, чтобы управлять ими всеми

FWIW Я сейчас в процессе написания модульного скрипта, чтобы включить / отключить прокси для многочисленных программ. Я до сих пор написал следующие модули:

 $ ls -lF proxymanager/modules/ total 60 -rwxr-xr-x 1 root root 919 Oct 8 17:27 apt* -rwxr-xr-x 1 root root 1037 Oct 8 13:10 bashrc* -rwxr-xr-x 1 root root 391 Oct 8 12:18 cntlm* -rwxr-xr-x 1 root root 684 Oct 8 12:58 curl* -rwxr-xr-x 1 root root 609 Oct 8 13:02 dropbox* -rwxr-xr-x 1 root root 672 Oct 8 12:18 gnome* -rwxr-xr-x 1 root root 691 Oct 8 12:18 kde* -rwxr-xr-x 1 root root 689 Oct 8 13:03 root_bashrc* -rwxr-xr-x 1 root root 691 Oct 8 13:03 root_curl* -rwxr-xr-x 1 root root 827 Oct 8 13:03 s3cmd* -rwxr-xr-x 1 root root 454 Oct 8 13:03 survive_reboot* -rwxr-xr-x 1 root root 860 Oct 8 13:06 suse-sysproxy* -rwxr-xr-x 1 root root 653 Oct 8 12:46 sysenvironment* -rwxr-xr-x 1 root root 465 Oct 8 13:04 virtualbox* -rwxr-xr-x 1 root root 573 Oct 8 13:04 wgetrc* 

Также как приложение управления. Они, надеюсь, скоро перейдут в github или другой онлайн-дом.

Прокси-аутентификация с помощью ntlm хорошо объясняется в приведенных ниже ссылках.

  • Для Ubuntu 14.04: настройка прокси-сервера в Ubuntu 14.04
  • Для Lubuntu: установочный прокси с аутентификацией в Lubuntu / ubuntu

Но проблема с ntlm заключается в том, что вам нужно обновлять конфигурационный файл cntlm много раз в день. Рассмотрим ситуацию, когда разные пользователи используют общую машину, и они должны обновлять свой пароль AD в cntlm конфигурации cntlm каждом входе в систему. Возможно, существует способ автоматического обновления cntlm конфигурации cntlm всякий раз, когда пользователь входит в систему.

  • Как настроить nginx для динамического чтения папок, учетных записей пользователей / доменов?
  • Прозрачный локальный прокси для многих прокси
  • Linux http_proxy env vars и веб-соединение Firefox
  • Прямой и обратный прокси для туннеля ssh через Apache
  • Есть ли способ установить сетевой прокси в системе?
  • Есть ли способ локализовать DNS при использовании прокси-сервера HTTP?
  • Как отключить аутентификацию сертификата клиента TLS для простого прокси
  • Apache modssl возвращает случайные нежелательные 200, а не 404
  • Истинный HTTPS? Как?
  • pip не использует прокси-сервер, установленный средой
  • Доступ через Интернет через удаленный прокси, доступ к которому осуществляется через SSH
  • Странная проблема с Интернетом
  • Linux и Unix - лучшая ОС в мире.