<< Click to Display Table of Contents >> Администрирование (Linux) > Общесистемные настройки > Настройка аутентификации > Пример настройки сквозной аутентификации по протоколу Kerberos Настройка протокола Kerberos |
1.Создайте служебного пользователя
2.Настройте синхронизацию времени на клиенте и сервере
3.Установите клиентский пакет Kerberos, если используется операционная система Astra Linux
4.Настройте конфигурационный файл Kerberos
6.Проверьте keytab-файл и аутентификацию по протоколу Kerberos
Создание служебного пользователя
На сервере с Active Directory создайте служебного пользователя, от имени которого будет работать система:
1.На контроллере домена откройте оснастку «Active Directory – пользователи и компьютеры».
2.Создайте нового пользователя. Далее в разделе для примеров используется пользователь directum_rx.
Настройка синхронизации времени
Для работы по протоколу Kerberos требуется, чтобы время на клиенте совпадало со временем на сервере. Иначе аутентификация не будет работать. Для настройки синхронизации времени используйте сервис Network Time Protocol (NTP). Подробнее порядок настройки см. в справочном центре Astra Linux статью «Службы синхронизации времени в Astra Linux».
Установка пакетов на Astra Linux
Клиентский пакет Kerberos krb5-user входит в дистрибутив Astra Linux, но по умолчанию не устанавливается. Выполните команду, чтобы установить пакет:
sudo apt install krb5-user
В результате вместе с krb5-user устанавливается пакет krb5-config для настройки клиента.
Примечание. На ALT Linux необходимые пакеты входят в состав пакета с установкой task-auth-ad-sssd. Отдельно устанавливать пакеты не нужно.
Настройка конфигурационного файла
1.Внесите изменения в файл конфигурации Kerberos /etc/krb5.conf. Далее в примере вместо значений, выделенных жирным шрифтом, укажите свои значения.
Важно. Обязательно соблюдайте регистр символов и отступы в файле.
Пример настройки:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
[libdefaults]
default_realm = EXAMPLE.COM #имя домена в верхнем регистре
forwardable = true
kdc_timesync = 1
ccache_type = 4
proxiable = true
default_tkt_enctypes = aes256-cts
default_tgs_enctypes = aes256-cts
permitted_enctypes = aes256-cts
fcc-mit-ticketflags = true
[realms]
EXAMPLE.COM = {
kdc = dc.example.com # fqdn контроллера домена
admin_server = dc.example.com # fqdn контроллера домена
default_domain = EXAMPLE.COM
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
2.В файле /etc/krb5.conf проверьте параметры, которые отвечают за поддерживаемые типы шифрования. Например, на ALT Linux поддерживаются только определенные типы шифрования со значениями:
default_tgs_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
default_tkt_enctypes = arcfour-hmac-md5 des-cbc-crc des-cbc-md5
3.Убедитесь, что в файле /etc/krb5.conf нет директив импорта, то есть нет строк, которые начинаются с include и includedir. Удалите строки, если они есть.
Сгенерируйте keytab-файл и поместите его на сервер с Directum RX:
1.На сервере с Active Directory запустите командную строку и выполните:
Ktpass –princ HTTP/directum@EXAMPLE.COM –mapuser EXAMPLE\directum_rx -pass "directum_rxPassword" -crypto All -ptype KRB5_NT_PRINCIPAL –out C:\keytab\krb5.keytab
Где:
•directum – полное доменное имя сервера (FQDN), на котором развернута система Directum RX;
•EXAMPLE.COM – имя домена, указывается в верхнем регистре символов;
•directum_rx – имя служебного пользователя, который был создан ранее;
•directum_rxPassword – пароль служебного пользователя.
Примечание. При выполнении команды пользователю автоматически добавляется SPN.
2.В папке C:\keytab будет создан файл krb5.keytab. Скопируйте его на сервер с Directum RX в директорию /etc.
3.Выдайте права на чтение файла. Для этого выполните команду:
sudo chmod 644 /etc/krb5.keytab
4.Перезапустите веб-сервер и сервисы Directum RX, чтобы keytab-файл добавился в контейнеры с сервисами:
./do.sh all up
Проверка keytab-файла и Kerberos-аутентификации
1.На сервере с Directum RX выполните команду:
klist –ke
В результате отобразится содержимое keytab-файла:
keytab name: FILE:/etc/krb5.keytab
KVNO Principal
--------------------------------------------------------------------------
3 HTTP/directum@EXAMPLE.COM (des-cbc-crc)
3 HTTP/directum@EXAMPLE.COM (des-cbc-md5)
3 HTTP/directum@EXAMPLE.COM (arcfour-hmac)
3 HTTP/directum@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
3 HTTP/directum@EXAMPLE.COM (aes128-cts-hmac-sha1-96)
Проверьте, что файл krb5.keytab содержит все нужные принципалы со всеми методами шифрования и номер KVNO у всех записей одинаковый.
ВАЖНО. Если в дальнейшем у доменной служебной учетной записи сменится пароль, то номер KVNO изменится и нужно сгенерировать новый keytab-файл.
2.Зарегистрируйтесь с помощью keytab-файла:
kinit -Vk "HTTP/directum@EXAMPLE.COM" -t /etc/krb5.keytab
В результате будет выведена информация:
Using default cache: persistent:0:0
Using principal: HTTP/directum.example.com@EXAMPLE.COM
Using keytab: /etc/krb5.keytab
Authenticated to Kerberos v5
При возникновении проблем очистите кэш с помощью команды:
kdestroy
© Компания Directum, 2024 |