KerberosAuthenticationLegacy

Материал из RunaWFE
Перейти к навигации Перейти к поиску

Устаревшая инструкция для настройки аутентификации Kerberos сервера

Версия 4.4.1

© 2015-2021, ООО "Процессные технологии", материалы этого документа распространяются свободно на условиях лицензии GNU FDL. RunaWFE Free является системой с открытым кодом и распространяется в соответствии с LGPL лицензией (http://www.gnu.org/licenses/lgpl.html).

В данном разделе для всех имен и принципалов пользователей регистр имеет значение.

Создать доменного пользователя (назовем его 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