Настройка SSO аутентификации в интегрированной системе проверки подлинности FreeIPA.
SSO аутентификация - технология, позволяющая использовать различные информационные системы без необходимости повторной аутентификации.
В данной статье мы рассмотрим использование SSO при аутентификации на веб-прокси.
В качестве интегрированной системы проверки подлинности мы будем использовать FreeIPA .
Настройка SSO аутентификации в интегрированной системе проверки подлинности FreeIPA состоит из нескольких этапов:
Настройка SSO аутентификации в интегрированной системе проверки подлинности FreeIPA перекликается с настройкой аутентификации в Active Directory через Kerberos .
Для дальнейшей настроки примем следующие значения:
локальная сеть |
192.168.1.0/24 |
домен FreeIPA |
freeipa.local |
контроллер домена FreeIPA |
dc.freeipa.local |
IP адрес контроллера домена FreeIPA |
192.168.1.4 |
имя устройства TING |
ting.freeipa.local |
IP адрес устройства TING |
192.168.1.2 |
Примечание
Установка и настройка сервера и клиента, разворачивание на них системы FreeIPA выходит за рамки данной статьи и должно осуществляться компетентными специалистами согласно документации. Мы предполагаем, что такая настройка уже выполнена согласно предоставленных выше данных.
Настройка FreeIPA.
С помощью веб-браузера подключитесь к консоли управления FreeIPA по адресу: https://dc.freeipa.local
, где dc.freeipa.local - адрес вашего контроллера домена.
Залогиньтесь в консоль управления, используя учетные данные с правами администратора созданного домена.
Примечание
Если у вас не создана обратная зона DNS 192.168.1.0/24
- создайте ее и проверьте, чтобы в ней содержалась запись для ip адреса контроллера домена FreeIPA.
Создайте учетную запись компьютера (узла) для устройства TING.
Для этого перейдите в меню Идентификация -> Узлы и нажмите кнопку Добавить.
Перейдите в раздел Сетевые службы -> DNS -> Зоны DNS
Проверьте, что запись появилась в прямой freeipa.local
и обратной 1.168.192.in-addr.arpa
зоне. Если нет - добавьте эти записи вручную.
Добавьте принципал (службу) HTTP к созданной учетной записи компьютера устройства TING.
Для этого перейдите в раздел Идентификация -> Службы и нажмите кнопку Добавить
где:
Служба |
HTTP |
Имя узла |
имя устройства TING |
Настройка устройства TING.
Настройка имени устройства и DNS
Пройдите в раздел Система -> Настройки -> Общие настройки
Проверьте, чтоб следующие системные настройки были выполнены корректно:
Имя хоста
ting
Домен
freeipa.local
В случае, если вы не используете встроенный сервер DNS, такой как Unbound DNS, вам необходимо:
Установить флаг Не используйте локальную службу DNS в качестве сервера имен для этой системы
В поле DNS-серверы прописать IP адрес контроллера домена FreeIPA (
192.168.1.4
)
В случае, если вы используете встроенный сервер DNS, такой как Unbound DNS, вам необходимо согласно документации настроить переадресацию либо всех запросов DNS, либо только прямой и обратной зоны созданного вами домена.
Настройка сетевого времени
Перейдите в раздел Службы -> Сетевое время -> Общие.
В поле Серверы времени укажите имя контроллера домена FreeIPA
dc.freeipa.local
либо IP адрес контроллера домена FreeIPA192.168.1.4
.Примечание
Время на контроллере домена и устройстве TING должно быть синхронизированно.
Настройка LDAP коннектора
Пройдите в раздел Система -> Доступ -> Серверы, в правом верхнем углу нажмите на кнопку Добавить сервер и задайте следующие настройки:
Описательное имя
freeipa
Тип
LDAP
Имя хоста или IP-адрес
192.168.1.4
Значение порта
389
Транспортный протокол
TCP
Версия протокола
3
Привязать параметры доступа
пусто [1]
Область поиска
Уровень: Целое поддерево
Базовый DN
DC=freeipa,DC=local
Контейнеры для аутентификации
cn=users,cn=accounts,dc=freeipa,dc=local
Начальный шаблон
FreeIPA
Атрибут присвоения имени пользователю
uid
Проверка LDAP коннектора
Пройдите в раздел Система -> Доступ -> Средство проверки
Выберите в списке созданный нами сервер, введите имя и пароль учетной записи домена.
Результатом должно быть сообщение об успешной проверке:
| Пользователь: admin аутентификация прошла успешно | Этот пользователь состоит в этих группах: | Атрибуты, полученные от сервера: | dn => uid=admin,cn=users,cn=accounts,dc=freeipa,dc=local
Настройки веб-прокси
В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Основные настройки прокси, установите флаг Включить прокси, если он еще не установлен.
В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Перенаправляющий прокси -> Настройка Аутентификации, в поле Метод аутентификации укажите ваш настроенный LDAP-коннектор.
В разделе Службы -> Веб-прокси -> Администрирование, на вкладке Перенаправляющий прокси, в меню Основные настройки перенаправления снимите флаг Включить прозрачный HTTP-прокси, если он установлен.
Примечание
Использование механизма прозрачного HTTP-проксирования не совместимо ни с одним методом аутентификации. Чтобы использовать аутенитификацию Kerberos, данный механизм должен быть выключен.
Установка плагина os-proxy-sso
Пройдите в раздел Система -> Прошивка -> Обновления. На вкладке Плагины нажмите на кнопку + напротив плагина os-proxy-sso для его установки.
После установки плагина os-proxy-sso, в разделе Службы -> Веб-прокси появляется подраздел Технология единого входа (SSO).
Настройка аутентификации по протоколу Kerberos
7.1 Включите Single Sign On
В разделе Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладке Общие настройки, установите флаг Включить Single Sign On.
В поле Реализация 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 должны быть отмечены зеленым.
Если это не так - перепроверьте все шаги.
Запустите терминал на контроллере домена FreeIPA (лобо воспользуйтесь удаленным подключением с помощью ssh - поключения)
Получите билет Kerberos, используя учетную запись администратора домена
kinit admin
Экспортируйте принципал HTTP в keytab файл:
/usr/sbin/ipa-getkeytab -p HTTP/ting.freeipa.local -k /tmp/squid.keytab
Cкопируйте keytab-файл на устройство TING:
scp /tmp/squid.keytab root@192.168.1.2:/usr/local/etc/squid/
Залогиньтесь терминалом на устройство TING
Измените владельца keytab файла:
chown root:squid /usr/local/etc/squid/squid.keytab
Измените права доступа к keytab файлу:
chmod 640 /usr/local/etc/squid/squid.keytab
Перейдите в раздел Службы -> Веб-прокси -> Технология единого входа (SSO) -> Аутентификация по протоколу Kerberos и нажмите кнопку Обновить.
Все пункты должны быть отмечены зеленым.
Если это не так - перепроверьте все шаги.
Нажмите кнопку Показать keytab-файл
Результат должен быть такой:
Vno Type Principal Aliases 1 aes256-cts-hmac-sha1-96 HTTP/ting.freeipa.local@FREEIPA.LOCAL 1 aes128-cts-hmac-sha1-96 HTTP/ting.freeipa.local@FREEIPA.LOCAL
7.3 Проверьте правильность настроек.
Для этого введите Имя пользователя и Пароль пользователя домена в соответствующие поля и нажмите Проверить вход через Kerberos
В случае, если все настройки были сделаны верно, вы увидите положительный результат проверки, подобный, как на изображении выше.
7.4 Примените настройки.
Для этого либо в разделе Службы -> Веб-прокси -> Технология единого входа (SSO), на вкладке Общие настройки, либо в разделе Службы->Веб-прокси->Администрирование нажмите кнопку Применить
Настройка компьютера пользователя.
На компьютере пользователя, подключенном к домену, в браузере, к примеру Mozilla Firefox, откройте Настройки -> Параметры сети и задайте ручные
[2] настройки прокси-сервера согласно изображения:
Примечание
Важно указывать прокси как DNS-имя, а не как IP-адрес!
Кроме ручной настройки в можете настроить автоматическую настройку прокси-сервера, обратившись к соответствующим разделам документации.
Настройка других веб-браузеров проводится аналогичным способом.
Проверка результата.
Откройте в настроенном веб-браузере какую-либо страницу интернет.
Если все предварительные настройки были выполнены корректно, запрошенная страница должна отобразиться.
На устройстве TING перейдите в раздел Службы-> Веб-прокси-> Журнал доступа
В журнале доступа вы должны будете увидеть записи, подобные следующим:
1600165495.695 212 192.168.1.115 TCP_TUNNEL/200 4557 CONNECT counter.yadro.ru:443 testuser@FREEIPA.LOCAL HIER_DIRECT/88.212.201.204 -
1600165505.215 198 192.168.1.115 TCP_TUNNEL/200 28810 CONNECT www.mozilla.org:443 testuser@FREEIPA.LOCAL HIER_DIRECT/104.18.164.34 -
1600165512.907 17145 192.168.1.115 TCP_TUNNEL/200 4502 CONNECT counter.yadro.ru:443 testuser@FREEIPA.LOCAL HIER_DIRECT/88.212.201.204 -
что будет свидетельствовать о корректно настроенной SSO аутентификации с использованием Kerberos в среде FreeIPA.