Настройки SSO

Настройка SSO аутентификации через Kerberos/SPNEGO

Этот документ описывает параметры конфигурации для единого входа (SSO) через Kerberos/SPNEGO в Active Directory окружении.

Пример конфигурации

sso:
  enabled: true
  keytab_spn: "HTTP/web.bimarkit.com@CUSTOMER.LOC"
  keytab_path: "/etc/krb5.keytab"

Обязательные параметры

sso.enabled

  • Тип: boolean
  • По умолчанию: false
  • Описание: Включает/выключает SSO аутентификацию через Kerberos
  • Пример: true

keytab_spn

  • Тип: string
  • Формат: HTTP/hostname@REALM
  • Описание: Service Principal Name для вашего веб-приложения
  • Примеры:
    • HTTP/webapp.customer.loc@CUSTOMER.LOC
    • HTTP/web.bimarkit.com@CUSTOMER.LOC

⚠️ Важно: SPN должен совпадать с DNS именем вашего приложения

keytab_path

  • Тип: string
  • Формат: Абсолютный путь к файлу keytab
  • Описание: Путь к keytab файлу с ключами сервиса
  • Примеры:
    • /etc/krb5.keytab

Проверка подключения

Тестирование keytab файла

# Проверить содержимое keytab
klist -ket /path/to/krb5.keytab

# Проверить аутентификацию
kinit -kt /path/to/krb5.keytab HTTP/webapp.customer.loc

# Проверить билет
klist

Решение частых проблем

1. Ошибка “Key table entry not found”

Причина: Неправильный SPN в keytab Решение:

  • Проверьте SPN: setspn -L webapp-service
  • Убедитесь, что keytab_spn совпадает с SPN в keytab
  • Пересоздайте keytab с правильным SPN

2. Ошибка “Cannot contact KDC”

Причина: Проблемы с DNS или KDC Решение:

  • Проверьте DNS: nslookup dc.customer.loc
  • Проверьте доступность KDC: telnet dc.customer.loc 88
  • Убедитесь, что krb5.conf настроен правильно

3. Ошибка “GSSAPI authentication failed”

Причина: Неправильное время или версия протокола Решение:

  • Синхронизируйте время: ntpdate dc.customer.loc
  • Проверьте версию протокола в keytab
  • Используйте современные алгоритмы (AES256)

4. Браузер не предлагает SSO

Причина: Сайт не в зоне доверия Решение:

  • Добавьте сайт в “Local Intranet” зону
  • Убедитесь, что URL использует FQDN
  • Проверьте настройки IE/Chrome для Integrated Windows Authentication