Авторизация с помощью Kerberos

ID статьи: 15
Последнее обновление: 17 мар, 2023
KnowledgeBase:
Product: UserGate NGFW
Version: 5.x, 6.1.8, 6.1.9

Настройка авторизации Kerberos

Авторизация Kerberos позволяет прозрачно (без запроса имени пользователя и его пароля) авторизовать пользователей домена Active Directory. При авторизации через Kerberos сервер UserGate работает с контроллерами домена. Контроллеры домена выполняют проверку пользователя, который получает доступ в интернет.

Примечание Для авторизации пользователей через Kerberos пользователи должны входить в группу Domain users (пользователи домена) в AD.

Для настройки авторизации Kerberos необходимо выполнить следующие действия (для настройки авторизации Kerberos предварительно был создан домен test1.net).

  1. Создать DNS-записи для сервера UserGate. Необходимо создавать записи типа A, не создавайте записи типа CNAME. В качестве IP-адреса необходимо указать IP-адрес интерфейса UserGate, подключенного в зону Trusted.

image22

  1. Создать пользователя в домене AD, например kerb@test1.net с параметром учётной записи password never expires (срок действия пароля не ограничен). Установить пароль пользователю, например, kerb.

Примечание Не используйте символы национальных алфавитов, например, кириллицу, в именах пользователя kerb или в организационных единицах AD, где вы планируете создать учетную запись kerb. Пользователь для Kerberos и пользователь для LDAP-коннектора должны отличаться. Не используйте одну и ту же учетную запись.
ПримечаниеВ случае, если keytab файл создавался ранее, необходимо удалить учётную запись пользователя, для которого он был создан. 
  1. Создать keytab файл на контроллере домена. Для этого необходимо запустить командную строку от имени администратора и выполнить следующую команду.

Примечание Команда в одну строку. Команда чувствительна к регистру букв.
ktpass.exe /princ HTTP/auth.test1.net@TEST1.NET /mapuser kerb@TEST1.NET /crypto ALL /ptype KRB5_NT_PRINCIPAL /pass * /out C:\utm.keytab

Далее введите пароль пользователя kerb. Keytab файл создан (в корне диска С:\).

В данном примере:

  • auth.test1.net — DNS - запись, созданная для сервера UserGate в пункте 1.

  • TEST1.NET — Kerberos realm domain, обязательно большими буквами.

  • kerb@TEST1.NET — имя пользователя в домене (созданное ранее в пункте 2), имя realm-домена обязательно большими буквами.

После успешного создания keytab файла Имя входа пользователя (Userlogon name) изменилось (можно проверить в свойствах пользователя kerb во вкладке Учётная запись).

  1. Произвести настройку UserGate.

На UserGate-сервере предварительно произведены сетевые настройки, протокол QUIC запрещён (можно запретить, настроив правило межсетевого экрана в разделе Политики сети ➜ Межсетевой экран), включено правило дешифрования всех неизвестных пользователей (раздел Политики безопасности ➜ Инспектирование SSL: можно использовать правило, созданное по умолчанию Decrypt all for unknown users). Это необходимо для авторизации пользователей, которые делают свои запросы по зашифрованному протоколу HTTPS.

Вариант 1. В разделе Сеть ➜ DNS ➜ Системные DNS-серверы укажите IP-адреса контроллеров домена (в данном примере 10.0.0.20).

Настройте синхронизацию времени с контроллером домена: в разделе UserGate ➜ Настройки ➜ Настройка времени сервера необходимо изменить Основной NTP-сервер. Укажите IP-адрес контроллера домена. В качестве запасного - опционально - можно указать IP-адрес другого контроллера домена.

Далее перейдите к пункту 5.

Вариант 2. В разделе Сеть ➜ DNS ➜ Системные DNS-серверы укажите IP-адреса DNS-серверов интернета.

В разделе Сеть -➜ DNS -➜ DNS-прокси ➜ Правила DNS нажмите на кнопку Добавить и укажите домен и IP-адреса контроллеров домена.

image28

Настройте синхронизацию времени в разделе UserGate ➜ Настройки ➜ Настройка времени сервера. Измените основной и запасной NTP-серверы (поля Основной NTP-сервер и Запасной NTP-сервер).

image29

Перейдите в раздел Сеть ➜ Зоны и в настройках зоны внутренней подсети организации (по умолчанию, зона Trusted) во вкладке Контроль доступа разрешите сервисы DNS и NTP сервис.

image30

На серверах контроллеров AD укажите UserGate в качестве корневого сервера DNS и основного сервера NTP.

  1. Изменить адрес домена Auth Captive-портала.

В разделе UserGate ➜ Настройки ➜ Модули измените названия доменов Auth/Logout Captive-портала и страницы блокировки на доменные имена, созданные в пункте 1.

image31

  1. Создать LDAP - коннектор для получения информации о пользователях и группах Active Directory и загрузить keytab-файл.

Для этого перейдите в раздел Пользователи и устройства ➜ Серверы авторизации и добавьте LDAP коннектор, нажав на кнопку Добавить и выбрав Добавить LDAP коннектор.

В свойствах коннектора LDAP во вкладке Настройки необходимо указать:

  • Произвольное название LDAP-коннектора (поле Название).

  • IP-адрес сервера контроллера домена (поле Доменное имя LDAP или IP-адрес).

  • Bind DN («логин») в формате DOMAIN\username или username@domain для подключения к серверу LDAP. Данный пользователь уже должен быть заведен в домене.

  • Пароль пользователя для подключения к домену.

image32

Во вкладке Домены LDAP свойств коннектора добавьте доменное имя LDAP.

image33

Далее загрузите созданный в пункте 3 keytab файл во вкладке Kerberos keytab.

После внесения настроек нажмите на кнопку Проверить соединение. В случае, если настройки внесены верно, то вы увидите следующее сообщение.

image34

Сохраните настройки LDAP коннектора.

  1. Создать профиль авторизации Kerberos.

В разделе Пользователи и устройства ➜ Профили авторизации создайте профиль авторизации Kerberos и укажите следующие данные:

  • Во вкладке Общие необходимо указать Название: произвольное название профиля авторизации (допустим kerberos auth).

  • Во вкладке Методы аутентификации добавьте Аутентификация Kerberos.

Сохраните настройки профиля авторизации, нажав на кнопку Сохранить.

  1. Создать Captive-профиль.

Создайте Captive-профиль во вкладке Пользователи и устройства ➜ Captive-профили и заполните необходимые данные и сохраните. Во вкладке Общие укажите:

  • Название Captive — профиля.

  • Профиль авторизации, созданный ранее.

image35

  1. Создать правило Captive-портала для авторизации Kerberos.

Добавьте правило Captive-портала для авторизации Kerberos в разделе Пользователи и устройства ➜ Captive-портал. В свойствах правила Captive-портала во вкладке Общие необходимо указать:

  • Название правила.

  • Captive-профиль.

image36

  1. Разрешить доступ к сервису HTTP(S) для зоны.

В разделе Сеть ➜ Зоны на вкладке Контроль доступа разрешите доступ к сервису HTTP(S)-прокси для зоны, к которой подключены пользователи, использующие авторизацию Kerberos.

image37

  1. Произвести настройки на компьютере пользователя.

Войдите в систему под учётной записью доменного пользователя. Для корректной работы с HTTPS-сайтами установите сертификат, используемый для дешифрования трафика, в доверенный сертификаты.

Стандартный режим авторизации Kerberos.

Для работы в стандартном режиме авторизации Kerberos укажите обязательное использование прокси сервера в виде FQDN-имени UserGate. Перейдите Панель управления ➜ Cеть и Интернет ➜ Свойства браузера Подключения ➜ Настройка сети Прокси-сервер и укажите FQDN и порт интерфейса UserGate, к которому будут подключены пользователи.

image38

Прозрачный режим авторизации Kerberos.

Для работы в прозрачном режиме авторизации перейдите в Панель управления ➜ Cеть и Интернет ➜ Свойства браузера ➜ Безопасность ➜ Интернет. В разделе Уровень безопасности для этой зоны нажмите кнопку Другой и в параметрах безопасности в разделе Проверка подлинности пользователя ➜ Вход установите Автоматический вход в сеть с текущим именем пользователя и паролем.

image39

Проверка авторизации Kerberos.

Для проверки работы авторизации Kerberos в браузере пользователя перейдите на сайт, например, ya.ru. Далее на UserGate перейдите во вкладку Журналы и отчёты в раздел Журналы ➜ Журнал веб-доступа. В журнале видно, что запрос происходит от доменного пользователя.

image40

Проверка корректности выпуска keytab файла для Kerberos авторизации

В случае некорректной работы Keytab файла или Kerberos в целом, необходимо выполнить проверку по следующей инструкции:

  1. Установить Ubuntu версии 14.04.5 или выше.

  2. Выполнить обновления с использованием команды:

sudo apt-get update
  1. Установить необходимый пакет для использования команды kinit - в терминале выполнить:

sudo apt-get install krb5-user
  1. Переименовать созданный на контроллере домена Keytab файл в krb5.keytab

  2. Поместить данный krb5.keytab файл в директорию /etc/

  3. Выполнить проверку Keytab файла следующей командой - в терминале выполнить

kinit -k HTTP/example_utm.entensys.ru

где example_utm.example.ru - DNS-запись сервера UserGate, ошибок быть не должно (пустая строка).

  1. Получить результат можно выполнив команду klist в терминале, пример вывода ниже:

Ticket cache: FILE:/tmp/krb5cc_1000Default principal: HTTP/example_utm.example.loc@EXAMPLE.LOC
Valid starting Expires Service principal08/08/2017 00:53:02 08/08/2017 10:53:02 krbtgt/EXAMPLE.LOC@EXAMPLE.LOC renew until 08/09/2017 00:53:02

На этом проверка закончена: keytab файл создан корректно.

Дополнительно: команда: "setspn.exe -X" проверяет уникальность PRINCIPAL-записей на контроллере домена.

Настройка браузера Firefox для авторизации Kerberos

Для корректной авторизации пользователей, использующих браузер Firefox, с помощью Kerberos необходимо в браузере перейти по адресу about:config и указать значение вашего домена Active Directory в следующих конфигурационных параметрах:

  • network.negotiate-auth.trusted-uris.

  • network.negotiate-auth.delegation-uris.

На картинке ниже показаны измененные значения этих параметров для домена AD test1.net:

image41

В случае использования ОС Ubuntu 22.04 и выше необходимо в файле krb5.conf добавить следующее:

default_ccache_name = FILE:/home/%{username}/krb5cc

Эта статья была:   Полезна | Не полезна
Сообщить об ошибке
ID статьи: 15
Последнее обновление: 17 мар, 2023
Ревизия: 22
Просмотры: 9526
Комментарии: 0
Теги

Также опубликовано в