Product SiteDocumentation Site

8.2. Использование билета Kerberos

FreeIPA использует протокол Kerberos для поддержки единого входа (Single Sign-On). Это позволяет указать имя пользователя и пароль только один раз, после чего можно получить доступ ко всем интегрированным службам без повторного ввода учётных данных.

Важно

Получать билет Kerberos вручную (kinit) нужно только в том случае, если текущий билет отсутствует, уничтожен или истёк.
Если пользователь вошёл в систему как доменный пользователь (например, через SSSD), он автоматически получает Kerberos-билет и может использовать FreeIPA без вызова kinit.
По умолчанию срок действия билета Kerberos составляет 24 часа:
$ ipa krbtpolicy-show
  Максимальный срок жизни: 86400
  Максимальный срок для обновления: 604800
Изменить это значение можно как в веб-интерфейсе, так и в командной строке, например:
$ ipa krbtpolicy-mod --maxlife=43200 --maxrenew=86400
  Максимальный срок жизни: 43200
  Максимальный срок для обновления: 86400
Получение билета вручную:
  • чтобы получить Kerberos-билет для текущего пользователя, следует использовать kinit без указания имени пользователя:
    [ivanov@comp01 ~]$ kinit
    Password for ivanov@EXAMPLE.TEST:
    
  • чтобы получить Kerberos-билет для другого пользователя (например, администратора), следует передать имя пользователя утилите kinit:
    [ivanov@comp01 ~]$ kinit admin
    Password for admin@EXAMPLE.TEST:
    
  • проверка билета:
    [ivanov@comp01 ~]$ klist
    Ticket cache: KEYRING:persistent:1028400003:1028400003
    Default principal: ivanov@EXAMPLE.TEST
    
    Valid starting       Expires              Service principal
    11.09.2025 19:06:30  12.09.2025 19:06:18  krbtgt/EXAMPLE.TEST@EXAMPLE.TEST
    
Если у пользователя есть действительный билет Kerberos и браузер настроен правильно, при открытии https://ipa.example.test произойдёт автоматическая аутентификация без диалогового окна и пользователь получит доступ к веб-интерфейсу.
Если билет истёк, потребуется ввести учётные данные вручную. После успешного входа последующие сеансы (в течение срока действия нового билета) будут автоматическими.
Если у пользователя есть действительный билет Kerberos, но автоматической проверки подлинности не происходит, а при нажатии кнопки Войти появляется ошибка Не удалось выполнить аутентификацию с Kerberos, необходимо убедиться, что браузер настроен для аутентификации Kerberos (см. раздел Настройка браузера для аутентификации Kerberos).
Ошибка: «Не удалось выполнить аутентификацию с Kerberos»

8.2.1. Настройка браузера для аутентификации Kerberos

Перед настройкой необходимо убедиться, что:

8.2.1.1. Mozilla Firefox

Порядок действий:
  1. В настройках браузера на странице Приватность и защита (about:preferences#privacy) нажать кнопку Просмотр сертификатов…:
    Просмотр сертификатов
  2. В открывшемся окне на вкладке Центры сертификации убедиться в наличии сертификата для example.test:
    Сертификат для example.test
  3. Если сертификат отсутствует, загрузить его по ссылке https://ipa.example.test/ipa/config/ca.crt и импортировать полученный сертификат, нажав кнопку Импортировать….

    Примечание

    Для загрузки сертификата также можно щёлкнуть ссылку для настройки браузера на экране входа в веб-интерфейс:
    Ссылка для настройки браузера на странице входа FreeIPA
    И на открывшейся странице нажать кнопку Import Certificate Authority certificate.
  4. В адресной строке ввести about:config, чтобы отобразить список текущих параметров конфигурации (необходимо будет нажать кнопку Принять риск и продолжить).
  5. В поле Фильтр ввести negotiate, чтобы ограничить список параметров.
  6. Найти параметр network.negotiate-auth.trusted-uris.
  7. Указать в этом параметре имя kerberos области (realm), включая предшествующую точку (.). Если нужно добавить несколько доменов, их необходимо указать через запятую.
    Настройка Mozilla Firefox

8.2.1.2. Chromium

Порядок действий:
  1. В настройках браузера на странице Конфиденциальность и безопасность в разделе Безопасность открыть вкладку Настроить сертификаты (chrome://certificate-manager/localcerts/usercerts) и убедиться в наличии сертификата:
    Certificate Authority
  2. Если сертификат отсутствует, загрузить его по ссылке https://ipa.example.test/ipa/config/ca.crt и импортировать полученный сертификат в раздел Доверенные сертификаты, нажав кнопку Импорт:
    Импорт сертификата example.test

    Примечание

    Для загрузки сертификата также можно щёлкнуть ссылку для настройки браузера на экране входа в веб-интерфейс:
    Ссылка для настройки браузера на странице входа FreeIPA
    И на открывшейся странице нажать кнопку Import Certificate Authority certificate.
  3. Создать или отредактировать файл политики /etc/chromium/policies/managed/policies.json, добавив строку:
    {
        "AuthServerAllowlist": "*.example.test"
    }
    
    где .example.test — имя Kerberos-области (realm).
  4. Перезапустить браузер.
  5. Проверить применение политик, указав в адресной строке URL: chrome://policy.

    Примечание

    Для проверки работы аутентификации без изменения настроек браузера можно запустить браузер из командной строки, выполнив команду:
    $ chromium-browser --auth-server-allowlist="*.example.test"
    
    или
    $ chromium --auth-server-allowlist="*.example.test"
    

8.2.1.3. Яндекс.Браузер

Порядок действий:
  1. В настройках браузера на странице Конфиденциальность и безопасность (browser://settings/certificates) на вкладке Центры сертификации убедиться в наличии сертификата:
    Сертификат example.test
  2. Если сертификат отсутствует, загрузить его по ссылке https://ipa.example.test/ipa/config/ca.crt и импортировать полученный сертификат, нажав кнопку Импорт.
  3. Создать или отредактировать файл /etc/opt/yandex/browser/policies/managed/policies.json добавить строку:
    {
        "AuthServerAllowlist": "*.example.test"
    }
    
    где .example.test — имя kerberos области (realm).

    Примечание

    Если каталоги /etc/opt/yandex/browser/policies/managed/ отсутствуют, их необходимо создать заранее:
    # mkdir -p /etc/opt/yandex/browser/policies/managed/
    
  4. Перезапустить браузер.
  5. Проверить применение политик, указав в адресной строке URL: browser://policy.