Создание keytab-файла для сервиса Squid

21 сентября 2026

ID 166438

Вы можете использовать одну учетную запись для аутентификации на всех узлах кластера. Для этого требуется создать keytab-файл, содержащий имена субъекта-службы (далее также "SPN") для каждого из этих узлов. При создании keytab-файла потребуется использовать атрибут для генерации соли (salt, модификатор входа хеш-функции).

Сгенерированную соль необходимо сохранить любым удобным способом для дальнейшего добавления новых SPN в keytab-файл.

Вы также можете создать отдельную учетную запись Active Directory для каждого узла кластера, для которого вы хотите настроить Kerberos-аутентификацию.

Keytab-файл создается на сервере контроллера домена или на компьютере под управлением Windows Server, входящем в домен, под учетной записью с правами доменного администратора.

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

  1. В оснастке Active Directory Users and Computers создайте учетную запись пользователя с именем squid-user.
  2. Чтобы использовать алгоритм шифрования AES256-SHA1, в оснастке Active Directory Users and Computers выполните следующие действия:
    1. Откройте свойства созданной учетной записи.
    2. На вкладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
  3. Создайте keytab-файл для пользователя squid-user с помощью утилиты ktpass. Для этого в командной строке выполните следующую команду:

    C:\Windows\system32\ktpass.exe -princ HTTP/<имя сервера с сервисом Squid>@<realm имя домена Active Directory в верхнем регистре> -mapuser squid-user@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * +dumpsalt -out <путь к файлу>\<имя файла>.keytab

    Имя сервера с сервисом Squid требуется указывать в нижнем регистре (например, proxy.company.com).

    Утилита запросит пароль пользователя squid-user в процессе выполнения команды.

    В созданный keytab-файл будет добавлена запись SPN Управляющего узла. На экране отобразится сгенерированная соль: Hashing password with salt "<хеш-значение>".

  4. Для каждого узла кластера добавьте в keytab-файл запись SPN. Для этого выполните следующую команду:

    C:\Windows\system32\ktpass.exe -princ HTTP/<полное доменное имя (FQDN) узла>@<realm имя домена Active Directory в верхнем регистре> -mapuser squid-user@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <путь и имя ранее созданного файла>.keytab -out <путь и новое имя>.keytab -setupn -setpass -rawsalt "<хеш-значение соли, полученное при создании keytab-файла на шаге 3>"

    Утилита запросит пароль пользователя squid-user в процессе выполнения команды.

Keytab-файл для сервиса Squid будет создан. Этот файл будет содержать все добавленные SPN узлов кластера.

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

  1. В оснастке Active Directory Users and Computers создайте отдельную учетную запись пользователя для каждого узла кластера (например, учетные записи с именами squid-user, squid-user2, squid-user3 и т.д.).
  2. Чтобы использовать алгоритм шифрования AES256-SHA1, в оснастке Active Directory Users and Computers выполните следующие действия:
    1. Откройте свойства созданной учетной записи.
    2. На вкладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
  3. Создайте keytab-файл для пользователя squid-user с помощью утилиты ktpass. Для этого в командной строке выполните следующую команду:

    C:\Windows\system32\ktpass.exe -princ HTTP/<имя сервера с сервисом Squid в нижнем регистре>@<realm имя домена Active Directory в верхнем регистре> -mapuser squid-user@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out <путь к файлу>\<имя файла>.keytab

    Имя сервера с сервисом Squid требуется указывать в нижнем регистре (например, proxy.company.com).

    Утилита запросит пароль пользователя squid-user в процессе выполнения команды.

    В созданный keytab-файл будет добавлена запись SPN Управляющего узла.

  4. Для каждого узла кластера добавьте в keytab-файл запись SPN. Для этого выполните следующую команду:

    C:\Windows\system32\ktpass.exe -princ HTTP/<полное доменное имя (FQDN) узла>@<realm имя домена Active Directory в верхнем регистре> -mapuser squid-user2@<realm имя домена Active Directory в верхнем регистре> -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -in <путь и имя ранее созданного файла>.keytab -out <путь и новое имя>.keytab

    Утилита запросит пароль пользователя squid-user2 в процессе выполнения команды.

Keytab-файл для сервиса Squid будет создан. Этот файл будет содержать все добавленные SPN узлов кластера.

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