Результаты поиска :

×

Настройка единого входа NTLM/Kerberos SSO для UBUNTU/RHEL/CentOS

Расширение Kerberos SSO упрощает получение билета Kerberos для предоставления доступа (TGT) из Active Directory вашей организации или другого домена поставщика идентификации, позволяя пользователям аутентифицироваться при доступе к таким ресурсам, как веб-сайты, приложения и файловые серверы.


Для UBUNTU:

  • Для установки клиентских библиотек Kerberos используйте следующую команду в терминале.
  • sudo apt-get install krb5-user

Для RHEL/CentOS:

  • Для установки клиентских библиотек Kerberos используйте следующую команду в терминале.
  • yum install krb5-workstation krb5-libs krb5-auth-dialog

Для настройки доменов Active Directory в конфигурационном файле Kerberos используются следующие шаги:

  • Откройте и отредактируйте файл /etc/krb5.conf.
  • Добавьте следующий фрагмент конфигурации в файл krb5.conf.
  • EXAMPLE.ORG= { kdc = <AD DOMAIN CONTROLLER IP/DNS> :88 }

    ПРИМЕЧАНИЕ: Заменить КОНТРОЛЛЕР ДОМЕНА AD IP/DNS с вашим IP-адресом/DNS-адресом. Убедитесь EXAMPLE.ORG Должно быть написано заглавными буквами.

    Заменить EXAMPLE.ORG с именем домена Active Directory.

    И убедитесь, что порт 88 на контроллере домена Active Directory доступен с этого сервера.


  • Сохраните файл.

Для UBUNTU:

  • Для установки модуля auth_kerb для Apache используйте следующую команду.
  • sudo apt-get install libapache2-mod-auth-kerb
  • После установки модуля auth_kerb его необходимо включить с помощью следующей команды.
  • a2enmod auth_kerb
  • После включения перезапустите Apache, чтобы изменения вступили в силу.

Для RHEL/CentOS:

  • Для установки модуля auth_kerb для Apache используйте следующую команду.
  • yum install mod_auth_kerb
  • Для вступления изменений в силу перезапустите Apache.
  • На контроллере домена Active Directory выполните следующую команду для создания файла Keytab.
  • ktpass -princ HTTP/<Server Host Name>@EXAMPLE.ORG -pass PASSWORD -mapuser <svc@EXAMPLE.ORG> -Ptype KRB5_NT_PRINCIPAL -out "<PATH>\spn.keytab"

    ПРИМЕЧАНИЕ: Убедитесь, что EXAMPLE.ORG написано заглавными буквами.


Имя хоста сервера: Это имя хоста сайта, размещенного на сервере.
Имя хоста сервера: Это имя хоста сайта, размещенного на сервере.
EXAMPLE.ORG: Это доменное имя Active Directory.
ПАРОЛЬ: Это пароль от учетной записи службы, указанной выше.
svc@EXAMPLE.ORG: Это служебная учетная запись в Active Directory.
Путь: Путь к локальному расположению, где будет храниться файл keytab.

    ПРИМЕЧАНИЕ: Приведённая выше команда создаёт файл keytab. Его необходимо разместить на сервере. Пользователь, запускающий Apache, должен иметь полный доступ к этому файлу. Пользователь должен иметь права доступа к файлу keytab.


  • Для создания учетной записи службы необходимо выполнить несколько предварительных условий:
    • Для пароля учетной записи необходимо установить следующий пароль: Срок действия не истёк.
    • Для делегирования полномочий этому аккаунту следует доверять.
  • Скопируйте Книга файл с контроллера домена Active Directory на веб-сервер, размещенный на Apache.

Для UBUNTU:

  • Отредактируйте файл /etc/apache2/sites-enabled/000-default.conf.
  • Добавьте следующий раздел в каталог сайта.
  • <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

Для RHEL/CentOS:

  • Отредактируйте конфигурационный файл auth_kerb.conf в папке /etc/httpd/conf.d/.
  • Добавьте следующий раздел в каталог сайта.
  • LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_kerb.so <Directory "/placeholder"> AuthType Kerberos KrbAuthRealms EXAMPLE.ORG KrbServiceName HTTP Krb5Keytab <PATH TO KEYTAB> KrbMethodNegotiate on KrbMethodK5Passwd on require valid-user </Directory>

    ПРИМЕЧАНИЕ: Убедитесь, что EXAMPLE.ORG написано заглавными буквами.


Ниже перечислены компоненты указанной выше конфигурации:

EXAMPLE.ORG: Это домен Active Directory, настроенный в файле krb5.conf.
ПУТЬ К KEYTAB: Доступный путь к файлу keytab на этом сервере.
  • После выполнения этих настроек для вступления изменений в силу необходимо перезапустить Apache.

Вот наиболее распространенные сообщения об ошибках:

    gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Permission denied).
  • Неверные права доступа к файлу /etc/krb5.keytab в файловой системе, то есть он недоступен для чтения пользователем Linux веб-сервера.
  • Для изменения прав доступа к файловой системе используйте $ chmod 400 filename.
  • gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, Key table entry not found).
  • Отсутствует субъект службы (возможно, HTTP/webserver.yourdomain.com@YOURDOMAIN.COM) в файле /etc/krb5.keytab.
  • Warning: received token seems to be NTLM, which isn't supported by the Kerberos module. Check your IE configuration. gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)
  • Веб-сайт не находится в зоне «Локальная интранет» в Internet Explorer, или же Internet Explorer настроен неправильно. См. раздел «Используется NTLM для аутентификации вместо Kerberos».
  • gss_accept_sec_context() failed: Unspecified GSS failure. Minor code may provide more information (, ).
  • Неверный kvno или пароль машины в файле /etc/krb5.keytab → пересоздайте keytab, используя правильную информацию.
  • Если у вас возникла проблема с локальным кэшем билетов Kerberos на вашем рабочем компьютере, используйте Kerbtray.exe для очистки кэша билетов и снова откройте веб-сайт в Internet Explorer.

ADFS_sso ×
Привет!

Нужна помощь? Мы здесь!

поддержка