Авторизация и аутентификация squid (basic, Digest, NTLM, negotiate, Kerberos), SQUID AD, squid auth. Приветствую всех, гостей и постоянных читателей блога. Сегодня попробую изложить информацию о методах аутентификации в squid, а так же интегрировать suid в доменную инфраструктуру Active Directory на Windows Server 2.
R2. То есть заставить squid разрешать доступ к интернету на основе доменных учетных записей. Для понимания происходящего, советую ознакомиться с предыдущими статьями о настройке сети в Linux и вводной статье о squid. Итак, приступим.. Введение. Из прошлой статьи о squid мы знаем, что в прозрачном режиме squid не способен аутентифицировать пользователей. Поэтому придется настроить пользовательские браузеры. Кроме того, мы знаем, что хороший админ - это ленивый админ и ходить пешком по рабочим станциям и настраивать вручную браузеры пользователей он не станет.
Поэтому расскажу как через GPO мы настроим IE (для пользователей бабушек с особо клиническим случаем и для сайтов, использующих Active. X..), Firefox и Google Chrome. Все эти 3 браузера умеют настраиваться через GPO. Squid в части авторизации и аутентификации подобен Web- серверу Apache и поддерживает те же способы аутентификации, что и Apache. На текущий момент существуют четыре основных типа проверки подлинности в HTTP протоколе: Basic - самая первая схема, часто используемая по текущий момент.
NTLM - это первая попытка Microsoft к SSO (single- sign- on) единого входа для ресурсов локальной сети. Digest - она же дайджет аутентификация.
Нужно мне настроить прокси для работы с доменом на Win 2008 R2. Поставил на виртуалку Ubuntu server 12.04, почитал мануальчики. Как установить SAMS2 и Squid на Ubuntu 12.04 LTS с авторизацией через AD. Опубликовал(а): Vasily Alexeev в: June 12, 2012 Оставить комментарий.
Чуть защищенней basic. Negotiate (aka SPNEGO) - она же Kerberos SPN generation - вторая попытка реализации Microsoft SSOВ статье я рассмотрю пример реализации basic аутентификации и Kerberos и кратко опишу NTLM и Digest. Настройка адреса прокси через GPO в Windows Server 2. R2. Настройка Internet Explorer через GPOЖелательно на всех машинах локальной сети обновить Internet Explorer до 7 версии, ибо с IE 6 доменная проверка подлинности не будет работать. Об этом Mictosoft официально заявляет.
Настройка параметров прокси сервера задается в объекте групповой политики в разделе Конфигурация пользователя - Политики - Конфигурация Windows - Настройка Internet Explorer - Подключение - Параметры прокси- сервера: Т. Качаем MSI пакет Front. Motion Firefox Community Edition с http: //www. FMFirefox. CE/download. Оттуда же качаем файлы административных шаблоновmozilla.
Если у Вас сервер AD 2. Распространяем скачанный MSI пакет через объект GPO (как это сделать я описывал в статье установка программ через AD GPO).
Кладем скачанные файлы административных шаблонов..: Если используется централизованное хранилище, то mozilla. Policy. Definitions\, а mozilla. Policy. Definitions\en- US\. Если используется локальное хранилище административных шаблонов, то mozilla. Policy. Definitions\, а mozilla. Policy. Definitions\en- US\.
После этого появиться новый раздел в настройках GPO. Задаем настройки браузера в созданном объекте групповой политики. Настройки прокси- сервера задаются в разделе Конфигурация компьютера - Политики - Административные шаблоны - Mozilla Advanced Options - Locked Settings - network: Т. Кроме настроек прокси, браузер поддерживает еще туеву хучу настроек, о которых можно почитать тут http: //kb. About: config. Качаем MSI пакет Chrome с https: //www.
Поэтому по просьбе трудящихся, напишу еще одну статью про прокси сервер SQUID 3, SAMS 1.0.5 с авторизацией через Думаю все справятся этим, и установят себе Ubuntu Server 12.10.
Качаем файлы административных шаблонов chrome. Распространяем скачанный MSI пакет через объект GPO (как это сделать я описывал в статье установка программ через AD GPO). В скачанном архиве policy.
- По умолчанию в Squid 3.3.8-1ubuntu6.1 не включен хелпер ext
- Блог о Linux и Windows. Записки по настройке Debian Ubuntu и Microsoft Windows. Настраиваем связку SQUID SAMS+REJIK с аунтентификацией по NTLM.
После этого появиться новый раздел в настройках GPO. Задаем настройки браузера в созданном объекте групповой политики. Настройки прокси сервера задаются в разделе Конфигурация пользователя - Политики - Административные шаблоны - Google - Google Chrome - Прокси- сервер: Т. Кроме настроек прокси, браузер Crome поддерживает еще много настроек, о которых можно почитать в скачанном архиве в файле policy. Кроме того, можно ознакомиться с Кратким руководством от гугла http: //support. Методы аутентификации SQUIDНачну с рассмотрения общих принципов организации аутентификации в squid. Если быть точным, то сам squid не выполняет никаких функций аутентификации.
Работа squid по аутентификации заключается в декодировании HTTP заголовка Authorization и передаче декодированной информации - так называемому хелперу. Если предоставленная информация верна, то доступ пользователю предоставляется, если же не верна или отсутствует, то squid возвращает клиенту HTTP код 4.
Более подробно этот процесс будет рассмотрен далее. Расположение этих модулей зависит от дистрибутива и версии SQUID, например в Debian+squid. Red Hat скорее всего их расположение будет в /usr/lib/squid.
Просмотреть, какие методы проверки подлинности поддерживает Ваш сквид, размещение хелперов и многие другие параметры, можно командой squid. Кроме того. имеется множество дополнительных ключей. LDAP,MSNT,NCSA.. Эти процессы согласно своей схемы аутентификации проверяют подлинность пользователя и возвращают положительный результат сквиду либо отрицательный.
Подобная техника позволяет использовать большое количество различных схем аутентификации, однако при подключении возможно использовать только одну схему: squid ~ # pstree - ap 1. YC - f /etc/squid. Клиент будет поочередно пытаться использовать схемы аутентификации в том порядке, в котором они заданы в squid. При этом (ходят слухи, но я с этим не столкнулся), у IE есть баг, который заставляет использовать сначала basic аутентификацию, даже если до basic заданы другие более безопасные схемы. Новая настроенная схема аутентификации вступит в силу только после перезапуска squid, при этом, внесение изменений в уже существующие настроенные схемы может производится без перезапуска демона (достаточно дать команду squid.
Настроенный внешний модуль проверки подлинности еще не означает, что эта проверка будет работать и пускать пользователя в интернет. Для контроля доступа в интернет, необходимо создать acl, который будет задействовать настроенный модуль аутентификации.
Для этого, acl в поле тип. И, естественно, для заданного acl необходимо иметь разрешение на доступ в параметре http.
К каждой схеме аутентификации могут использоваться сколько угодно разные внешние модули, вплоть до использования и самописных скриптов bash. Обычно при установке squid устанавливаются все необходимые модули согласно поддерживаемым схемам аутентификации. Описание их работы и настройки от разработчиков можно найти на этой странице. Для дальнейшей настройки прокси- сервера я буду использовать ?
Basic - метод аутентификации в squid (NCSA)Давайте рассмотрим простейший способ аутентификации, который существовал еще со времен протокола HTTP/1. Basic метод аутентификации основан на предоставлении клиентом (веб- браузером или другой программой) - учетных данных (имени и пароля) при запросе какой- либо страницы. При этом, имя пользователя, объединенное двоеточием с паролем кодируется в кодировку base. Authorization. Например имя пользователя Mc. Sim и пароль 1. 23.
Mc. Sim: 1. 23. 45 будут переданы в кодированном виде: TWMu. U2lt. Oj. Ey. Mz. Q1 . Кодирование текста в кодировку base. Фактически пароль передается в открытом виде!!!
Единственным преимуществом этой схемы является то, что любой браузер? Управление данным файлом удобно осуществлять с помощью утилиты htpasswd.
В Debian/ubuntu данная утилита входит в пакет apache. В squid, по умолчанию, для реализации данного метода аутентификации используется хелпер /usr/lib/squid. Синтаксис команды htpasswd следующий: squid ~ # htpasswd - c /создаваемый/файл/паролей имя. Кроме того, необходимо описать acl содержащий список пользователей, которые могут получить доступ к интернету (эти пользователи должны присутствовать в списке паролей), либо вместо пользователей указать значение REQUIRED, которое . Ну и конечно необходимо разрешить доступ созданному acl с помощью параметра http.
Живой пример: squid ~ # grep - v ^# /etc/squid. Схема работы взаимодействия аналогична basic, за тем лишь исключением, что на 2- ом и последующих шагах в ответ сервера и ответы клиента в поля аутентификации добавляются некоторые дополнительные параметры и случайные значения, которые используются для шифрования пароля. Сам пароль передается в виде хэша, который шифруется и дешифруется с использованием случайного числа. Для создания файла паролей используется утилита htdigest, которая находится в пакете apache. Используется хелпер /usr/lib/squid.
Вообще, этот хелпер поддерживает файл паролей в открытом виде, вроде user: password. Может так же использоваться ldap для извлечения информации о пользователях, но опять же - низкий уровень безопасности. Для LDAP - хелпер /usr/lib/squid. В данной теме особенно делать упор на этот протокол не буду, ибо - небезопасен. Для проверки подлинности используется хелпер /usr/lib/squid. Данный вид аутентификации работает в браузерах IE, Mozilla, Opera, Crome.
Negotiate - метод аутентификации в squid. Теперь перейдем к самому интересному. Итак, Kerberos - аутентификация в squid в домене на Windows 2. R2. Проверять валидность пользователя через Kerberos можно разными путями, например многие советуют использовать SAMBA+Winbind, но нам на сервере лишние службы не нужны, поэтому будем использовать другой способ - пакет krb. Пакет krb. 5- user и его зависимости содержит утилиты, разработанные Massachusetts Institute of Technology (MIT). Существует еще версия, разработанная hedimal, но мне с ней работать не приходилось. Способ аутентификации на основе MIT Kerberos на примере NFS я рассматривал в статье использование AD на Windows 2.
R2 как KDC для NFS, которую очень желательно почитать перед тем как приступать к текущему разделу. Большая часто теории - в указанной статье. Здесь я лишь частично опишу необходимые действия, отличные от NFS. Схема наших действий примерно следующая: 1. Настроить squid и проверить работоспособность без Kerberos с доступом по IP, либо basic- аутентификация. Настроить Kerberos.
Предварительная настройка DNS и контроллера домена.