Получение и добавление файла keytab для Kerberos-аутентификации
Для получения keytab-файла на контроллере домена MS AD нужно:
заранее создать учетную запись (сервисный аккаунт), от имени которой будет работать служба. Для создания учетной записи нужно на контроллере домена перейти в стандартную утилиту «Active Directory - пользователи и компьютеры»; открыть интерфейс командной строки PowerShell и выполнить команду добавления службы для сервисного аккаунта: где: для просмотра списка служб сервисного аккаунта можно воспользоваться командой: создать файл где: Алгоритм преобразования Полученный файл Для передачи файла на целевой узел нужно выполнить команду: где: После передачи файла необходимо выполнить ряд действий в зависимости от выбранного хранилища. При хранении файла в файловой системе узла Termidesk: переместить файл сделать владельцем этого файла пользователя перезапустить службу При хранении файла в хранилище OpenBao: запустить интерпретатор Python: перевести файл в формат base64: где: сохранить результат выполнения команды в хранилище OpenBao: где:setspn -A HTTP/disp.termidesk.local service_account
service_account - наименование сервисного аккаунта;setspn -L service_account
termidesk-msad.keytab для сервисного аккаунта:ktpass -princ HTTP/disp.termidesk.local@TERMIDESK.LOCAL -mapuser service_account@TERMIDESK.LOCAL -pass <пароль_сервисного_аккаунта> -ptype KRB5_NT_PRINCIPAL -out termidesk-msad.keytab -crypto AES256-SHA1
HTTP/disp.termidesk.local - указание ранее созданного субъекта-службы;service_account@TERMIDESK.LOCAL - наименование сервисного аккаунта;-out termidesk-msad.keytab - сохранение в файл termidesk-msad.keytab;-crypto AES256-SHA1 - алгоритм для преобразования keytab-файла.keytab-файла следует выбирать согласно установленным политикам безопасности MS AD.termidesk-msad.keytab следует передать на соответствующий узел для хранения. Файл может быть сохранен в файловой системе узла Termidesk или в хранилище OpenBao.scp C:\Windows\System32\termidesk-msad.keytab localuser@192.0.2.30:termidesk-msad.keytab
C:\Windows\System32\termidesk-msad.keytab - путь к keytab-файлу;localuser - имя пользователя целевого узла;192.0.2.30 - IP-адрес целевого узла.termidesk-msad.keytab в каталог /etc/opt/termidesk-vdi:sudo mv /home/user/termidesk-msad.keytab /etc/opt/termidesk-vdi/
termidesk:sudo chown termidesk:termidesk /etc/opt/termidesk-vdi/termidesk-msad.keytab
termidesk-vdi:sudo systemctl restart termidesk-vdi
sudo python3
import base64 with open('/home/user/termidesk-msad.keytab', 'rb') as file: keytab_bytes = file.read() keytab_base64 = base64.b64encode(keytab_bytes).decode('utf-8') keytab_base64
/home/user/termidesk-msad.keytab - путь к keytab-файлу;bao kv put secret/termidesk/ldap keytab='BQIAAABGAAIAC1VTVVA0MDcuTEFOAARIVFRQABJ0ZXJtaWRlc2subXlkb21h aW4AAAABAAAAAAUAFwAQhKQHwhUvWGEJk92QgI/tNA=='
termidesk - значение переменной SECRETS_OPENBAO_TERMIDESK_PATH, заданной в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf;ldap - путь к хранилищу OpenBao, где следует сохранить результат выполнения команды.
