8 800 555-89-02
Войти
Infomaximum/Документация
12.2022

Настройка Kerberos-аутентификации для Linux

Необходимые пакеты

Настройки kerberos-аутентификации под Linux отличаются в зависимости от дистрибутива. В таблице представлены пакеты, которые необходимо установить для настройки аутентификации.

RHEL/ CentOS/ FedoraDebian/ Ubuntu/ AstraAlt
krb5-workstation
krb5-libs
krb5-pkinit
pam_krb5
sssd-krb5
sssd-krb5-common
gssntlmssp
krb5-user
krb5-config
krb5-pkinit
sssd-krb5
sssd-krb5-common
gss-ntlmssp
krb5-kinit
pam_krb5
sssd-krb5
sssd-krb5-common
gssntlmssp

Настройка подключения к серверу Kerberos

Чтобы настроить подключение к серверу Kerberos, внесите изменения в файл «/etc/krb5.conf»:

  1. В секции [libdefaults] укажите:
    • allow_weak_crypto = true
    • default_ccache_name = FILE:/home/%{username}/krb5cc
    • default_tgs_enctypes = rc4-hmac
    • default_tkt_enctypes = rc4-hmac
    • permitted_enctypes = rc4-hmac
    • default_realm = название_домена_в_котором_находится_сервер_Kerberos_в_верхнем_регистре (например, default_realm = V2016.TESTINFOMAXIMUM.COM)
    Примечания:
    1. Если на сервере Kerberos включено другое шифрование, тогда его нужно указать вместо rc4-hmac.
    2. Если это шифрование относится к стойким, то параметр allow_weak_crypto можно поставить в false.
  2. В секции [realms] необходимо создать набор параметров для домена, например:
    V2016.TESTINFOMAXIMUM.COM = {
    kdc = base2016.v2016.testinfomaximum.com
    admin_server = base2016.v2016.testinfomaximum.com
    default_domain = v2016.testinfomaximum.com
    }
    
    Примечания: Параметры admin_server и default_domain необязательны, параметр kdc задает доменное имя сервера Kerberos.
  3. В секции [domain_realm] укажите:
    • имя_домена = имя_домена_в_верхнем_регистре
    • имя_домена_с_сточкой_впереди = имя_домена_в_верхнем_регистре
    Например:
    • [domain_realm]
    • v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
    • .v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
    После изменений «krb5.conf» выполните команду:
    • kinit пользователь_под_которым_будем_входить_в_систему@домен_в_верхнем_регистре
    Например:
    • kinit SuperUser@V2016.TESTINFOMAXIMUM.COM

После ввода пароля создается билет Kerberos, по которому можно будет входить в систему. Билет имеет время жизни, которое можно установить в «krb5.conf» в секции [libdefaults] (например, ticket_lifetime = 24h) или при вызове kinit (добавив перед именем пользователя ключ -l от времени жизни). После истечения времени жизни билет необходимо пересоздавать командой kinit.

Важно:

При использовании стойких шифров сервер Kerberos (KDC) добавляет к паролю дополнительные символы («соль»). В качестве «соли» Kerberos использует имя домена, объединённое с именем сервера. Клиент Kerberos под Linux в качестве «соли» по умолчанию использует имя домена, объединённое с именем сотрудника, под которым необходимо залогиниться. Таким образом, при использовании стойкого шифрования не удаётся наладить связь между KDC и клиентом, так как пароли оказываются разными. Чтобы избежать данной проблемы, мы советуем задать в клиенте Kerberos шифрование rca4-hmac.

Настройки браузеров

Firefox

Чтобы настроить браузер Firefox:

  1. На вкладке about:config найдите все параметры со словом negotiate.
  2. Установите в true:
    • network.negotiate-auth.allow-non-fqdn;
    • network.negotiate-auth.allow-proxies;
    • network.negotiate-auth.using-native-gsslib.
  3. В параметрах network.negotiate-auth.delegation-uris и network.negotiate-auth.trusted-uris введите имя компьютера, на котором запущен сервер, с точкой вначале. Например:
    • .base2016.v2016.testinfomaximum.com

Важно:

Active Directory в браузере FireFox не работает со встроенной библиотекой обработки GSS-API. Инструкция по решению данной проблемы представлена на странице Настройка Kerberos-аутентификации для Firefox.

Chrome/Chromium

Чтобы настроить браузеры Chrome/Chromium, в директории /etc/chromium/policies/managed (или /etc/chromium-browser/policies/managed) создайте json-файл с произвольным именем (например, kerberos.json):

{
"AuthServerWhitelist": "*",
"AuthSchemes": "ntlm,negotiate",
"AuthServerAllowlist": "*",
"DisableAuthNegotiateCnameLookup": true
}

Этот файл настроен на принятие любых адресов для использования Kerberos. Можно заменить «*» на конкретное доменное имя сервера.

Например:

  • base2016.v2016.testinfomaximum.com

Вход в систему

После создания билета и настройки браузера вход в систему осуществляется через нажатие кнопки Войти с помощью Active Directory. При этом ни имя, ни пароль дополнительно не запрашиваются (запрос пароля происходит в процессе создания билета Kerberos).

Предыдущая
Создание keytab-файла для Kerberos аутентификации в Active Directory
Следующая
Настройка Kerberos-аутентификации для Firefox
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнесаПродуктРешенияКейсыТехнологии
© 2010–2023. ООО «Инфомаксимум»Политика обработки персональных данных
Мы используем файлы cookies, чтобы сайт был лучше для вас.