Настройка доменной аутентификации Kerberos
08 ноября 2026
ID 310242
Kaspersky Symphony XDR позволяет использовать доменную аутентификацию по протоколу Kerberos. Доменная аутентификация позволяет вам включить безопасную аутентификацию в Консоли OSMP без повторного ввода пароля в корпоративной сети (единый вход).
Сначала вам нужно настроить контроллер домена для использования Kerberos и создать keytab-файл, содержащий имена субъекта-службы (далее также "SPN"). Подробнее см. документацию к контроллеру домена.
SCRIL (для интерактивного входа требуется смарт-карта) поддерживается для Microsoft Active Directory.
Создание keytab-файла для FreeIPA и AldPro
Keytab-файл создается на сервере контроллера домена FreeIPA/Ald Pro под учетной записью с правами доменного администратора. По умолчанию это учетная запись admin.
Перед созданием keytab-файла следует для каждого SPN убедиться, что он не зарегистрирован в FreeIPA/AldPro. Сделать это можно с помощью команды ipa service-find <SPN>, где <SPN> имеет следующий вид: HTTP/<console_host>.<smp_domain>.
Если службы не найдены, это означает, что этот SPN не зарегистрирован. Если SPN уже зарегистрирован, перед созданием keytab-файла нужно удалить привязку SPN к учетной записи узла и удалить учетную запись узла, к которой был привязан этот SPN.
Пример проверки SPN для сервера control-01.test.local:
|
Чтобы создать keytab-файл:
- Создайте учетную запись пользователя, которая будет использоваться IAM для доступа к контроллеру домена.
- Если Сервер администрирования находится за пределами домена FreeIPA/AldPro, добавьте запись DNS и запись устройства:
ipa dnsrecord-add <zoneName> <recordName> --a-rec <Administration Server IP address>
ipa host-add --password=<password> <Administration Server host address>
- Укажите тип PAC при создании HTTP-сервиса для Сервера администрирования:
ipa service-add HTTP/<console_host>.<smp_domain>@<имя домена в верхнем регистре> --ok-to-auth-as-delegate=true --pac-type PAD
Здесь
<console_host>– это имя устройства службы, а<smp_domain>– это доменное имя. Имя устройства службы и доменное имя являются частью FQDN-службы. Например, если значение переменнойconsole_hostравноconsole, а значение переменнойsmp_domainравноsmp.local, тогда полное имя службы, предоставляющей доступ к Консоли OSMP, принимает значениеconsole.smp.local. - Укажите учетную запись пользователя для аутентификации:
ipa service-allow-retrieve-keytab HTTP/<Administration Server host address>@<имя домена в верхнем регистре> --user=<user>
- Экспортируйте keytab-файл:
ipa-getkeytab -s <domain controller address> -p HTTP/<Administration Server host address>@<имя домена в верхнем регистре> -k /tmp/h.keytab
Создание keytab-файла для Microsoft Active Directory
Keytab-файл создается на сервере контроллера домена или на компьютере под управлением Windows Server, входящем в домен, под учетной записью с правами доменного администратора.
При создании keytab-файла потребуется использовать атрибут для генерации соли (salt, модификатор входа хеш-функции).
Сгенерированную соль необходимо сохранить любым удобным способом для дальнейшего добавления новых SPN в keytab-файл.
Вы также можете создать отдельную учетную запись Active Directory для каждого узла кластера, для которого вы хотите настроить Kerberos-аутентификацию.
Перед созданием keytab-файла следует для каждого SPN убедиться, что он не зарегистрирован в Active Directory. Сделать это можно с помощью команды setspn -Q <SPN>, где <SPN> имеет следующий вид: HTTP/<console_host>.<smp_domain>.
Команда должна вернуть ответ "No such SPN found", что означает, что этот SPN не зарегистрирован. Если SPN уже зарегистрирован, перед созданием keytab-файла нужно удалить привязку SPN к учетной записи или удалить саму учетную запись в Active Directory, к которой был привязан этот SPN.
Пример проверки SPN для сервера control-01.test.local:
|
Чтобы создать keytab-файл для аутентификации на нескольких серверах под одной учетной записью:
- На сервере контроллера домена в оснастке Active Directory Users and Computers создайте учетную запись пользователя (например, с именем
control-user).При создании учетной записи пользователя вы можете установить флажок Password never expires. Опция позволяет задать неограниченный срок действия пароля для учетной записи и тем самым избежать ошибок аутентификации после его истечения, так как криптографические ключи, сформированные на основе пароля и сохраненные в keytab-файле, также станут недействительными..
- Если вы хотите задать неограниченный срок действия пароля для уже существующей учетной записи, то в оснастке Active Directory Users and Computers выполните следующие действия:
- Откройте свойства созданной учетной записи.
- На закладке Account установите флажок Password never expires.
- Если вы хотите использовать алгоритм шифрования AES256-SHA1, то в оснастке Active Directory Users and Computers выполните следующие действия:
- Откройте свойства созданной учетной записи.
- На закладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
- Создайте keytab-файл для пользователя
control-userс помощью утилиты ktpass. Для этого в командной строке выполните следующую команду:C:\Windows\system32\ktpass.exe -princ HTTP/<console_host>.<smp_domain>@<realm имя домена Active Directory в верхнем регистре> -mapuser control-user@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <путь к файлу>\<имя файла>.keytab
Здесь
<console_host>– это имя устройства службы, а<smp_domain>– это доменное имя. Имя устройства службы и доменное имя являются частью FQDN-службы. Например, если значение переменнойconsole_hostравноconsole, а значение переменнойsmp_domainравноsmp.local, тогда полное имя службы, предоставляющей доступ к Консоли OSMP, принимает значениеconsole.smp.local.Утилита запросит пароль пользователя
control-userв процессе выполнения команды.В созданный keytab-файл будет добавлено SPN выбранного сервера. На экране отобразится сгенерированная соль:
Hashing password with salt "<хеш-значение>". - Добавьте в keytab-файл запись SPN для каждого следующего сервера. Для этого выполните следующую команду:
C:\Windows\system32\ktpass.exe -princ HTTP/<console_host>.<smp_domain>@<realm имя домена Active Directory в верхнем регистре> -mapuser control-user@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <путь и имя ранее созданного файла>.keytab -out <путь и новое имя>.keytab -setupn -setpass -rawsalt "<хеш-значение соли, полученное при создании keytab-файла на шаге 4>"
Утилита запросит пароль пользователя
control-userв процессе выполнения команды.
Keytab-файл будет создан. Этот файл будет содержать все добавленные SPN выбранных серверов.
Пример: Например, вам нужно создать keytab-файл, содержащий SPN-имена трех серверов: Чтобы создать в папке C:\keytabs\ файл под названием filename1.keytab, содержащий SPN сервера, требуется выполнить команду:
Допустим, вы получили соль " Для добавления еще одного SPN необходимо выполнить следующую команду:
Для добавления третьего SPN необходимо выполнить следующую команду:
В результате будет создан файл с именем filename3.keytab, содержащий все три добавленные SPN. |
Чтобы создать keytab-файл для аутентификации на каждом сервере под отдельной учетной записью:
- На сервере контроллера домена в оснастке Active Directory Users and Computers создайте отдельную учетную запись пользователя для каждого сервера (например, учетные записи с именами
control-user,secondary1-user,secondary2-userи т.д.).При создании учетной записи пользователя вы можете установить флажок Password never expires. Опция позволяет задать неограниченный срок действия пароля для учетной записи и тем самым избежать ошибок аутентификации после его истечения, так как криптографические ключи, сформированные на основе пароля и сохраненные в keytab-файле, также станут недействительными.
- Если вы хотите задать неограниченный срок действия пароля для уже существующей учетной записи, то в оснастке Active Directory Users and Computers выполните следующие действия:
- Откройте свойства созданной учетной записи.
- На закладке Account установите флажок Password never expires.
- Если вы хотите использовать алгоритм шифрования AES256-SHA1, то в оснастке Active Directory Users and Computers выполните следующие действия:
- Откройте свойства созданной учетной записи.
- На закладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
- Создайте keytab-файл для пользователя
control-userс помощью утилиты ktpass. Для этого в командной строке выполните следующую команду:C:\Windows\system32\ktpass.exe -princ HTTP/<console_host>.<smp_domain>@<realm имя домена Active Directory в верхнем регистре> -mapuser control-user@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <путь к файлу>\<имя файла>.keytab
Здесь
<console_host>– это имя устройства службы, а<smp_domain>– это доменное имя. Имя устройства службы и доменное имя являются частью FQDN-службы. Например, если значение переменнойconsole_hostравноconsole, а значение переменнойsmp_domainравноsmp.local, тогда полное имя службы, предоставляющей доступ к Консоли OSMP, принимает значениеconsole.smp.local.Утилита запросит пароль пользователя
control-userв процессе выполнения команды.В созданный keytab-файл будет добавлено SPN выбранного сервера.
- Добавьте в keytab-файл запись SPN для каждого следующего сервера. Для этого выполните следующую команду:
C:\Windows\system32\ktpass.exe -princ HTTP/<console_host>.<smp_domain>@<realm имя домена Active Directory в верхнем регистре> -mapuser secondary1-user@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <путь и имя ранее созданного файла>.keytab -out <путь и новое имя>.keytab
Утилита запросит пароль пользователя
secondary1-userв процессе выполнения команды.
Keytab-файл будет создан. Этот файл будет содержать все добавленные SPN выбранных серверов.
Пример: Например, вам нужно создать keytab-файл, содержащий SPN-имена трех серверов: Чтобы создать в папке C:\keytabs\ файл под названием filename1.keytab, содержащий SPN сервера, требуется выполнить команду:
Для добавления еще одного SPN необходимо выполнить следующую команду:
Для добавления третьего SPN необходимо выполнить следующую команду:
В результате будет создан файл с именем filename3.keytab, содержащий все три добавленные SPN. |
Создание keytab-файла для Samba
Чтобы создать keytab-файл:
- Создайте учетную запись пользователя, которая будет использоваться IAM для связи с контроллером домена:
samba-tool user add <user>
- Добавьте имя субъекта-службы к учетной записи пользователя:
samba-tool spn add HTTP/<console_host>.<smp_domain> <user>
Здесь
<console_host>– это имя устройства службы, а<smp_domain>– это доменное имя. Имя устройства службы и доменное имя являются частью FQDN-службы. Например, если значение переменнойconsole_hostравноconsole, а значение переменнойsmp_domainравноsmp.local, тогда полное имя службы, предоставляющей доступ к Консоли OSMP, принимает значениеconsole.smp.local. - Экспортируйте keytab-файл:
samba-tool domain exportkeytab /tmp/file.keytab --principal=HTTP/<console_host>.<smp_domain>
Включение доменной аутентификации Kerberos
Чтобы включить доменную аутентификацию Kerberos:
- Выполните опрос контроллеров домена.
- В главном окне приложения перейдите в раздел Параметры → Единый вход.
- Включите параметр Аутентификация Kerberos.
- Загрузите keytab-файл.
- Назначьте доменным пользователям роль, которая предоставляет доступ к Консоли OSMP.
Доменная аутентификация Kerberos включена для доменных пользователей.
