Настройка SSO аутентификации в Active Directory на прокси-сервере.
Настройка SSO аутентификации в Active Directory на прокси-сервере.
В данной инструкции описывается настройка аутентификации пользователей на веб-прокси через протокол Kerberos.
Данный функционал особенно актуален в доменной среде Active Directory (AD), где данная технология позволяет реализовать аутентификацию в стиле Single Sign On (SSO).
Примечание
SSO-аутентификация избавляет доменного пользователя от повторных запросов на прохождение аутентификации. Пользователь вводит доменный логин / пароль всего один раз - при логоне в операционную систему. При последующем обращении в Интернет через прокси-сервер, аутентификация происходит прозрачно и автоматически.
Настройка SSO аутентификации в Active Directory состоит из нескольких этапов:
Для дальнейшей настроки примем следующие значения:
локальная сеть
192.168.1.0/24
домен Active Directory
ztest.int
контроллер домена Active Directory
dc.ztest.int (Windows Server 2016)
IP адрес контроллера домена Active Directory
192.168.1.3
имя устройства TING
ting.ztest.int
IP адрес устройства TING
192.168.1.2
Примечание
Установка, настройка контроллера домена, а также разворачивание домена Active Directory должна осуществляться компетентными специалистами согласно документации. Мы предполагаем, что такая настройка уже выполнена согласно предоставленных выше данных.
Проверьте, чтоб следующие системные настройки были выполнены корректно:
Имя хоста
ting
Домен
ztest.int
Снять флаг Позволить переопределить список DNS-серверов DHCP/PPP на WAN
Установить флаг Не используйте локальную службу DNS в качестве сервера имен для этой системы
В поле DNS-серверы прописать IP адрес контроллера домена (192.168.1.3)
В случае, если вы используете встроенный сервер DNS, такой как Unbound DNS, вам необходимо согласно документации настроить переадресацию всех запросов DNS, а так же прямой и обратной зоны созданного вами домена.
В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Основные настройки прокси, установите флаг Включить прокси, если он еще не установлен.
В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Перенаправляющий прокси -> Настройка Аутентификации, в поле Метод аутентификации укажите ваш настроенный LDAP-коннектор.
В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Перенаправляющий прокси, в меню Основные настройки перенаправления снимите флаг Включить прозрачный HTTP-прокси, если он установлен.
Примечание
Использование механизма прозрачного HTTP-проксирования не совместимо ни с одним методом аутентификации. Чтобы использовать аутенитификацию Kerberos, данный механизм должен быть выключен.
Пройдите в раздел Система -> Прошивка -> Обновления. На вкладке Плагины нажмите на кнопку + напротив плагина os-proxy-sso для его установки.
После установки плагина os-proxy-sso, в разделе Службы -> Веб-прокси появляется подраздел Технология единого входа (SSO).
Примечание
Настройка аутентификации по протоколу Kerberos может быть осуществлена как вручную, так и автоматически.
Предпочтительным является автоматический способ настройки, рассмотренный в п.7.
Ручной способ настройки аутентификации по протоколу Kerberos рассматривается в п.8.
7. Автоматическая настройка аутентификации по протоколу Kerberos
7.1 Включите Single Sign On
В разделе Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладке Общие настройки, установите флаг Включить единый вход для прокси-сервера.
При необходимости вы можете включить/выключить использование Basic аутентификации, установив/сняв соответствующий флажок Basic Autentification[3]
В поле Реализация AD Kerberos выберите значение Windows 2008 with AES.
Примечание
При нажатии на кнопку Применить будут произведены следующие действия:
происходит автогенерация конфигурационного файла krb5.conf для библиотеки Kerberos
модифицируется конфигурационный файл Squid /usr/local/sbin/squid.conf для загрузки хелпера Kerberos-аутентификации negotiate_kerberos_auth
производится перезапуск веб-прокси сервера Squid
7.2 Настройте аутентификацию по протоколу Kerberos
Перейдите в раздел Службы -> Веб-прокси -> Технология единого входа (SSO) -> Аутентификация по протоколу Kerberos и нажмите кнопку Обновить
Все пункты, кроме Файл keytab должны быть отмечены зеленым.
Если это не так - перепроверьте все шаги.
Создайте учетную запись компьютера с необходимыми SPN в Active Directory:
В поле Имя администратора AD, укажите имя учетной записи администратора домена.
В поле Пароль администратора AD, укажите пароль для учетной записи администратора домена.
Нажмите на кнопку Создать keytab-файл.
Примечание
В поле Результат выводится информация об осуществляемых действиях:
создается учетная запись компьютера с именем, указанным на закладке Общие
прописываются необходимые SPN-имена
генерируется keytab-файл /usr/local/etc/squid/squid.keytab на устройстве TING c SPN-именами / ключами для керберизированной службы
Предупреждение
Для пользователей DC Windows 2003:
Перед созданием keytab файла на контроллере домена не должно быть учетной записи компьютера для устройства TING!!! Иначе при создании keytab будет ошибка.
Если по какой-то причине необходимо пересоздать keytab, то перед его созданием учетную запись компьютера для TING нужно удалить.
Для этого введите Имя пользователя и Пароль пользователя домена в соответствующие поля и нажмите Проверить вход через Kerberos
В случае, если все настройки были сделаны верно, вы увидите положительный результат проверки, подобный, как на изображении выше.
7.4 Примените настройки.
Для этого либо в разделе Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладке Общие настройки, либо в разделе Службы->Веб-прокси->Администрирование нажмите кнопку Применить
8. Ручная настройка аутентификации в Active Directory через Kerberos
Иногда возникает ситуация, когда по определенным причинам у вас нет доступа к учетной записи администратора домена (к примеру, политики безопасности предприятия).
В таком случае вам необходимо на контроллере домена создать keytab файл, перенести его на устройство TING и выпонить конфигурацию устройства.
8.1. Пройдите в раздел Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладку Аутентификация по протоколу Kerberos, нажмите кнопку Обновить - и убедитесь, что все пункты, за исключением Файл keytab отмечены зеленым. Если это не так, то необходимо проверить настройки.
8.2. Создайте в домене учетную запись компьютера с именем, совпадающим в поле Kerberos-аккаунт этой машины в AD на вкладке Службы -> Веб-прокси -> Технология единого входа (SSO) -> Общие настройки
Примечание
Использование учетной записи компьютера предпочтительнее, так-как на учетную запись пользователя групповой политикой может накладываться ограничение на время действия пароля.
8.3. На контроллере домена добавьте SPN HTTP к учетной записи созданного компьютера (в нашем случае TING) и одновременно экспортируйте keytab-файл.
8.5. Скопируйте с помощью SSH-клиента (например, Putty) файл c:/tmp/squid.keytab на устройство TING в папку /usr/local/etc/squid/
8.6. Измените владельца keytab файла:
chownroot:squid/usr/local/etc/squid/squid.keytab
8.7. Измените права доступа к keytab файлу:
chmod640/usr/local/etc/squid/squid.keytab
Примечание
Данные операции должны выполняться пользователем, с достаточными правами.
8.8. Пройдите в раздел Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладку Аутентификация по протоколу Kerberos, нажмите кнопку Обновить - и убедитесь, что все пункты отмечены зеленым.
8.9. Пройдите в раздел Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладку Общие, нажмите кнопку Применить для применения настроек и перезапуска веб-прокси SQUID.
На компьютере пользователя, подключенном к домену, в браузере Internet Explorer откройте Настройки -> Подключения -> Параметры сети и задайте настройки прокси-сервера [4] согласно изображения:
Примечание
Важно указывать прокси как DNS-имя, а не как IP-адрес!
Примечание
Многие сторонние веб-браузеры (Firefox/Chrome) могут использовать системные настройки прокси-сервера из Internet Explorer.
Настройка DNS аналогична настройке при работе с одним контроллером домена.
Создайте на доменном DNS-сервере нужные ресурсные записи для узла TING.
tingaINA192.168.140.8 в прямой зоне mod.loc
8.140.168.192.in-addr.arpaINPTRtinga.mod.loc. в обратной зоне 140.168.192.in-addr.arpa
На устройстве TING необходимо добавить переопределение домена MOD.LOC на соответствующий DNS сервер, обслуживающий данные зоны.
При использовании на устройстве TING DNS сервера Unbound DNS, необходимо в меню Службы -> Unbound DNS -> Переопределение в секции Переопределение домена добавить переопределение прямой и обратной зоны для второго домена домена:
Удостоверьтесь, что время на устройстве TING и обоих контроллерах домена синхонизировано. Для этого лучше всего настроить синхронизацию времени, как устройства TING, так и контроллеров доменов из одного источника.
В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Перенаправляющий прокси -> Настройка Аутентификации, в поле Метод аутентификации укажите ldap-коннектор для домена mod.loc
Пройдите в раздел Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладку домена mod.locАутентификация по протоколу Kerberos:MOD-LOC.
По аналогии со схемой с одним доменом выполните автоматическую настройку и проверку аутентификации по протоколу Kerberos второго домена mod.loc