KerberosAuthenticationLegacy
Устаревшая инструкция для настройки аутентификации Kerberos сервера
Версия 4.6.0
© 2015-2023, ООО "Процессные технологии"
В данном разделе для всех имен и принципалов пользователей регистр имеет значение.
Создать доменного пользователя (назовем его WorkflowUser).
Для использования типа шифрования DES. Откройте свойства пользователя WorkflowUser установить флажок 'Использовать DES шифрование'. После установки флажка необходимо сменить пользователю WorkflowUser пароль (для того, что бы пароль был зашифрован DES).
Предположим, что мы находимся в домене test.com, сервер находится на компьютере wfserver.test.com, а default_realm в krb5.ini установлен в TEST.COM. На сервере и клиентских машинах необходимо создать/отредактировать файл конфигурации ${windir}/krb5.ini. Детальное описание файла конфигурации Kerberos.
Пример файла krb5.ini
[domain_realm] .test.com = TEST.COM test.com = TEST.COM [libdefaults] default_realm = TEST.COM kdc_timesync = 1 ccache_type = 4 ticket_lifetime = 600 default_tkt_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 default_tgs_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 permitted_enctypes = des-cbc-md5 des-cbc-crc des3-cbc-sha1 [logging] kdc = CONSOLE [realms] TEST.COM = { kdc = 192.168.0.1:88 default_domain = test.com } [appdefaults] autologin = true forward = true forwardable = true encrypt = true
В дальнейшем нам понадобятся утилиты setspn и ktpass, которые могут быть скачаны с сайта microsoft в составе Support tools. Ими нужно воспользоваться на контроллере домена.
Создаем SPN (используется только для аутентификации по Kerberos через web интерфейс):
setspn -A HTTP/wfserver.test.com@TEST.COM TEST\WorkflowUser
ktpass -princ HTTP/wfserver.test.com@TEST.COM -pass пароль для WorkflowUser -mapuser TEST\WorkflowUser
, где TEST — NetBIOS имя.
Последняя команда может вызвать предупреждение «WARNING: pType and account type do not match. This might cause problems», которое можно игнорировать.
На wfserver.test.com необходимо создать keytab файл (с помощью ktab из JAVA_HOME/bin):
ktab -a HTTP/wfserver.test.com@TEST.COM пароль для WorkflowUser -k C:/krb5.keytab
Скопируйте файл https://svn.code.sf.net/p/runawfe/code/RunaWFE-4.x/trunk/projects/wfe/wfe-core/src/main/resources/kerberos.properties.sample и переименуйте его в kerberos.properties. Замените в нем имена на настоящие.
название | описание | значение по умолчанию |
api.auth.enabled | задействовать аутентификацию используя RunaWFE API | true |
http.auth.enabled | задействовать аутентификацию по протоколу HTTP (из веб-интерфейса) | true |
appName | com.sun.security.jgss.accept | |
moduleClassName | com.sun.security.auth.module.Krb5LoginModule | |
storeKey | true | |
useKeyTab | использовать файл ключей | true |
keyTab | использовать файл ключей по указанному пути | C:/krb5.keytab |
doNotPrompt | не запрашивать данные пользователя | true |
debug | режим отладки аутентификации | true |
principal | SPN | HTTP/wfserver.test.com@TEST.COM |
serverPrincipal | SPN - использовался только для оповещателя | HTTP/wfserver.test.com |
jcifs.http.enableNegotiate | true | |
sun.security.krb5.debug | режим отладки аутентификации | true |
jcifs.spnego.servicePrincipal | SPN | HTTP/wfserver.test.com@TEST.COM |
http.auth.preference | Kerberos |