Настройка аутентификации на прокси через Kerberos в службе каталогов Microsoft AD

В данной инструкции описывается настройка аутентификации пользователей на веб-прокси через протокол Kerberos.

Данный метод аутентификации поддерживается для служб каталогов Mictosoft AD.

Kerberos обеспечивает SSO.

Примечание

SSO-аутентификация избавляет доменного пользователя от повторных запросов на прохождение аутентификации. Пользователь вводит доменный логин / пароль всего один раз - при логоне в операционную систему. При последующем обращении в Интернет через прокси Traffic Inspector Next Generation, аутентификация происходит прозрачно и автоматически.

В нашем примере используется следующая схема сети:

_images/scheme_kerberos.png

Контроллер домена имеет IP-адрес 192.168.137.2 и DNS-имя controller.dom.loc.

Устройство Traffic Inspector Next Generation имеет IP-адрес 192.168.137.8 и DNS-имя tinga.dom.loc.

Теоретически, настройка Kerberos производится в трех местах: клиентский компьютер, сервер с керберизированной службой и Kerberos-сервер.

Клиентский компьютер под управлением ОС Windows уже содержит все компоненты Kerberos и добавлен в домен; на нем остается только правильно указать имя керберизированной службы (веб-прокси TING) в настроках браузера. Kerberos-cервер уже был настроена как результат разворачивания контроллера и домена Active Directory.

В данной инструкции описывается главным образом настройка сервера с керберизированной службой (т.е. веб-прокси службы на устройстве TING). Уже из коробки на устройстве TING установлена среда Kerberos (библиотеки от проекта Heimdal), специально откомпилированная версия Squid с поддержкой Kerberos, дополнительный модуль-хелпер Squid для Kerberos.

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

В качестве DNS-сервера устройство TING должно использовать контроллер домена AD. Также, время на устройстве TING и контроллере домена AD должно быть синхронизировано.

В процессе настройки происходит автогенерация конфигурационного файла для библиотеки Kerberos - krb5.conf. В нем указывается общие параметры работы Kerberos-библиотеки, задается Kerberos-область, указывается IP-адрес Kerberos-сервера для области и прочее.

Также будет сгенерирован keytab-файл. Данный файл содержит SPN-имена керберизированной службы и ключи для шифрования. Информация о керберизированной службе должна быть добавлена на Kerberos-сервер. В нашем случае контроллер домена AD является в том числе и Kerberos-сервером. Утилита msktutil обеспечит создание аккаунта для устройства TING в каталоге на контроллере AD. В одном из полей аккаунта будут прописаны SPN-имена службы веб-прокси. Чтобы утилита msktutil успешно отработала, мы проверяем наличие нужных ресурсных записей A и PTR на доменном DNS-сервере.

Настройка LDAP на устройстве TING может показаться странным требованием. Однако, это необходимо. Дело в том, что регистрация керберизированной службы в домене AD осуществляется с помощью утилиты msktutil, которая сама представляет собой ничто иное, как LDAP-клиент.

Мы также донастраиваем веб-прокси. В конфигурационном файле squid.conf будут выключены прозрачное проксирование HTTP и SSL Bump, включен модуль-хелпер для Kerberos-аутентификации negotiate_kerberos_auth. Данный модуль нужен для того, чтобы браузер пользователя смог по протоколу HTTP передать на веб-прокси тикет Kerberos.

Настройка доменного DNS-сервера

Проверьте существование на доменном DNS-сервере нужных ресурсных записей

  • в прямой доменной зоне - записи типа A, позволяющей осуществлять прямое преобразование DNS-имени контроллера домена в его IP-адрес
_images/dc_a_rec.png
  • в обратной доменной зоне - записи типа PTR, позволяющей осуществлять обратное преобразование IP-адреса контроллера домена в его DNS-имя
_images/dc_ptr_rec.png

Создайте на доменном DNS-сервере нужные ресурсные записи

  • добавьте в прямую доменную зону запись типа A, позволяющую осуществлять прямое преобразование DNS-имени устройства Traffic Inspector Next Generation в его IP-адрес
_images/ting_a_rec.png
  • добавьте в обратную доменную зону запись типа PTR, позваляющую осуществлять обратное преобразование IP-адреса устройства Traffic Inspector Next Generation в его DNS-имя
_images/ting_ptr_rec.png

Настройка устройства Traffic Inspector Next Generation

Настройка общих параметров устройства Traffic Inspector Next Generation

Пройдите в раздел Система -> Настройки -> Общие настройки.

  • В поле Имя хоста укажите PQDN DNS-имя устройства TING (в нашем примере, FQDN-имя - это tinga.dom.loc, а PQDN-имя - это tinga).
  • В поле Домен укажите полное DNS-имя домена (в нашем примере, домен называется dom.loc).
  • В поле DNS-серверы, укажите IP-адрес доменного DNS-сервера. В нашем примере, это IP-адрес 192.168.137.2.
  • В поле Настройки DNS-сервера, установите флаг напротив опции Не используйте перенаправляющий DNS-сервер или DNS-преобразователь в качестве DNS-сервера для межсетевого экрана
_images/dns_settings1.png

Настройка сетевого времени

Настройка времени на устройстве производится в рамках работы мастера первоначальной настройки, который доступен в разделе Система -> Мастер.

Также, настройки времени доступны в разделе Службы -> Сетевое время -> Общие настройки. В поле Серверы времени укажите ваш предпочитаемый сервер времени, например, time.bakulev.ru. В доменной среде, в качестве NTP-сервера, укажите DNS-имя или IP-адрес контроллера домена, в нашем примере, controller.dom.loc (192.168.137.2).

Примечание

Время на контроллере домена и устройстве TING должно быть синхронизированно.


Настройка LDAP-коннектора

Для успешного подключения к каталогу Active Directory нужно настроить параметры подключения.

Пройдите в раздел Система -> Доступ -> Серверы, в правом верхнем углу нажмите на кнопку Добавить сервер и задайте следующие настройки:

Описательное имя LDAP connector
Тип LDAP
Имя хоста или IP-адрес 192.168.137.2
Значение порта 389
Транспортный протокол TCP
Версия протокола 3
Привязать параметры доступа Имя и пароль
Область поиска Уровень: единичный
Базовый DN DC=dom,DC=loc
Контейнеры для аутентификации CN=Users,DC=dom,DC=loc
Начальный шаблон Microsoft AD
Атрибут присвоения имени пользователю samAccountName

Имя и пароль

Имя доменной учетной записи с правами чтения из домена и пароль для нее

Контейнеры для аутентификации

Выберите контейнеры, в которых располагаются доменные учетные записи (например, CN=Users,DC=dom,DC=loc)


Настройки веб-прокси

В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Основные настройки прокси, установите флаг Включить прокси, если он еще не установлен.

_images/enable_proxy.png

Примечание

Использование механизмов прозрачного HTTP-проксирования или перехвата / дешифровки SSL не совместимо ни с одним методом аутентификации. Чтобы использовать аутенитификацию Kerberos, данные механизмы должны быть выключены.

В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Перенаправляющий прокси, в меню Основные настройки перенаправления снимите флаги Включить прозрачный HTTP-прокси и Включить режим SSL, если они установлены.

_images/disable_interception.png

Пройдите в Службы -> Веб-прокси -> Администрирование, вкладка Перенаправляющий прокси, пункт меню Authentication Settings. В поле Метод аутентификации должен быть выбран метод аутентификации LDAP.

В поле Процесс аутенитификации выберите нужное количество процессов, пораждаемых для нужд аутентификации.

Примечание

При исчерпании ресурсов процессов-аутентификаторов, Squid завершается нештатно. Выставите начальное количество процессов - 10 и увеличивайте с инкрементом 5, если процессов недостаточно.

Настройка Kerberos

Установка плагина os-proxy-sso

Пройдите в раздел Система -> Прошивка -> Обновления. На вкладке Плагины нажмите на кнопку + напротив плагина os-proxy-sso для его установки.

После установки плагина os-proxy-sso, в разделе Службы -> Веб-прокси появляется подраздел Single Sign On.

Генерация конфигурационного файла Kerberos и загрузка хелпера для Squid

В разделе Службы -> Веб-прокси -> Single Sign On, на вкладке Общие настройки, установите флаг Включить Single Sign On.

В поле Реализация AD Kerberos выберите значение Windows 2008 with AES.

_images/kerberos_general_settings.png

Регистрация керберизированной службы в каталоге AD

Пройдите в раздел Службы -> Веб-прокси -> Single Sign On, на вкладку Аутентификация по протоколу Kerberos.

В поле Имя администратора AD, укажите имя учетной записи администратора домена.

Примечание

Нужно указывать именно logon-имя, а не User Principle Name. Т.е. нужно указать administrator, а не administrator@dom.loc.

В поле Пароль администратора AD, укажите пароль для учетной записи администратора домена. Нажмите на кнопку Создать keytab-файл.

_images/generate_keytab.png

Настройка компьютера пользователя

На компьютере пользователя задайте явные настройки на прокси, аналогично тому, как показано на скриншоте:


_images/proxy_settings.png

Примечание

Важно указывать прокси как DNS-имя, а не как IP-адрес!


Проверка Kerberos-аутентификации на прокси

Проверьте возможность аутентификации с помощью Kerberos.

Пройдите в раздел Службы -> Веб-прокси -> Single Sign On, на вкладку Аутентификация по протоколу Kerberos.

Укажите имя и пароль существующего доменного пользователя и нажмите на кнопку Проверить вход через Kerberos.

В поле Результат, вы должны увидеть вывод аналогичный тому, который приведен ниже:

AF oRQwEqADCgEAoQsGCSqGSIb3EgECAg== khilchenko@DOM.LOC
BH quit command