Настройка доменной аутентификации 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.

Чтобы создать keytab-файл:

  1. Создайте учетную запись пользователя, которая будет использоваться IAM для доступа к контроллеру домена.
  2. Если Сервер администрирования находится за пределами домена FreeIPA/AldPro, добавьте запись DNS и запись устройства:

    ipa dnsrecord-add <zoneName> <recordName> --a-rec <Administration Server IP address>

    ipa host-add --password=<password> <Administration Server host address>

  3. Укажите тип 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.

  4. Укажите учетную запись пользователя для аутентификации:

    ipa service-allow-retrieve-keytab HTTP/<Administration Server host address>@<имя домена в верхнем регистре> --user=<user>

  5. Экспортируйте 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.

Чтобы создать keytab-файл для аутентификации на нескольких серверах под одной учетной записью:

  1. На сервере контроллера домена в оснастке Active Directory Users and Computers создайте учетную запись пользователя (например, с именем control-user).

    При создании учетной записи пользователя вы можете установить флажок Password never expires. Опция позволяет задать неограниченный срок действия пароля для учетной записи и тем самым избежать ошибок аутентификации после его истечения, так как криптографические ключи, сформированные на основе пароля и сохраненные в keytab-файле, также станут недействительными..

  2. Если вы хотите задать неограниченный срок действия пароля для уже существующей учетной записи, то в оснастке Active Directory Users and Computers выполните следующие действия:
    1. Откройте свойства созданной учетной записи.
    2. На закладке Account установите флажок Password never expires.
  3. Если вы хотите использовать алгоритм шифрования AES256-SHA1, то в оснастке Active Directory Users and Computers выполните следующие действия:
    1. Откройте свойства созданной учетной записи.
    2. На закладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
  4. Создайте 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 "<хеш-значение>".

  5. Добавьте в 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-файл для аутентификации на каждом сервере под отдельной учетной записью:

  1. На сервере контроллера домена в оснастке Active Directory Users and Computers создайте отдельную учетную запись пользователя для каждого сервера (например, учетные записи с именами control-user, secondary1-user, secondary2-user и т.д.).

    При создании учетной записи пользователя вы можете установить флажок Password never expires. Опция позволяет задать неограниченный срок действия пароля для учетной записи и тем самым избежать ошибок аутентификации после его истечения, так как криптографические ключи, сформированные на основе пароля и сохраненные в keytab-файле, также станут недействительными.

  2. Если вы хотите задать неограниченный срок действия пароля для уже существующей учетной записи, то в оснастке Active Directory Users and Computers выполните следующие действия:
    1. Откройте свойства созданной учетной записи.
    2. На закладке Account установите флажок Password never expires.
  3. Если вы хотите использовать алгоритм шифрования AES256-SHA1, то в оснастке Active Directory Users and Computers выполните следующие действия:
    1. Откройте свойства созданной учетной записи.
    2. На закладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
  4. Создайте 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 выбранного сервера.

  5. Добавьте в 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-файла для Samba

Чтобы создать keytab-файл:

  1. Создайте учетную запись пользователя, которая будет использоваться IAM для связи с контроллером домена:

    samba-tool user add <user>

  2. Добавьте имя субъекта-службы к учетной записи пользователя:

    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.

  3. Экспортируйте keytab-файл:

    samba-tool domain exportkeytab /tmp/file.keytab --principal=HTTP/<console_host>.<smp_domain>

Включение доменной аутентификации Kerberos

Чтобы включить доменную аутентификацию Kerberos:

  1. Выполните опрос контроллеров домена.
  2. В главном окне приложения перейдите в раздел Параметры → Единый вход.
  3. Включите параметр Аутентификация Kerberos.
  4. Загрузите keytab-файл.
  5. Назначьте доменным пользователям роль, которая предоставляет доступ к Консоли OSMP.

Доменная аутентификация Kerberos включена для доменных пользователей.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!