Настройка Kerberos-аутентификации для Linux
Необходимые пакеты
Настройки kerberos-аутентификации под Linux отличаются в зависимости от дистрибутива. В таблице представлены пакеты, которые необходимо установить для настройки аутентификации.
RHEL/ CentOS/ Fedora | Debian/ Ubuntu/ Astra | Alt |
---|---|---|
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»:
- В секции [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
)
- Если на сервере Kerberos включено другое шифрование, тогда его нужно указать вместо rc4-hmac.
- Если это шифрование относится к стойким, то параметр allow_weak_crypto можно поставить в false.
- В секции [realms] необходимо создать набор параметров для домена, например:
Примечания: Параметры admin_server и default_domain необязательны, параметр kdc задает доменное имя сервера Kerberos.V2016.TESTINFOMAXIMUM.COM = { kdc = base2016.v2016.testinfomaximum.com admin_server = base2016.v2016.testinfomaximum.com default_domain = v2016.testinfomaximum.com }
- В секции [domain_realm] укажите:
имя_домена = имя_домена_в_верхнем_регистре
имя_домена_с_сточкой_впереди = имя_домена_в_верхнем_регистре
[domain_realm]
v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
.v2016.testinfomaximum.com = V2016.TESTINFOMAXIMUM.COM
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:
- На вкладке about:config найдите все параметры со словом negotiate.
- Установите в true:
network.negotiate-auth.allow-non-fqdn
;network.negotiate-auth.allow-proxies
;network.negotiate-auth.using-native-gsslib
.
- В параметрах 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).