Создание keytab-файла для сервиса Squid
12 сентября 2024
ID 166438
Вы можете использовать одну учетную запись для аутентификации на всех узлах кластера. Для этого требуется создать keytab-файл, содержащий имена субъекта-службы (далее также "SPN") для каждого из этих узлов. При создании keytab-файла потребуется использовать атрибут для генерации соли (salt, модификатор входа хеш-функции).
Сгенерированную соль необходимо сохранить любым удобным способом для дальнейшего добавления новых SPN в keytab-файл.
Вы также можете создать отдельную учетную запись Active Directory для каждого узла кластера, для которого вы хотите настроить Kerberos-аутентификацию.
Keytab-файл создается на сервере контроллера домена или на компьютере под управлением Windows Server, входящем в домен, под учетной записью с правами доменного администратора.
Чтобы создать keytab-файл для сервиса Squid, используя одну учетную запись:
- В оснастке Active Directory Users and Computers создайте учетную запись пользователя с именем
squid-user
. - Чтобы использовать алгоритм шифрования AES256-SHA1, в оснастке Active Directory Users and Computers выполните следующие действия:
- Откройте свойства созданной учетной записи.
- На закладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
- Создайте 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 "<хеш-значение>".
- Для каждого узла кластера добавьте в 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-файл, содержащий SPN-имена 3 узлов: Чтобы создать в папке C:\keytabs\ файл под названием
Допустим, вы получили соль Для добавления еще одного SPN необходимо выполнить следующую команду:
Для добавления третьего SPN необходимо выполнить следующую команду:
В результате будет создан файл с именем |
Чтобы создать keytab-файл для сервиса Squid, используя отдельную учетную запись для каждого узла:
- В оснастке Active Directory Users and Computers создайте отдельную учетную запись пользователя для каждого узла кластера (например, учетные записи с именами
squid-user
,squid-user2
,squid-user3
и т.д.). - Чтобы использовать алгоритм шифрования AES256-SHA1, в оснастке Active Directory Users and Computers выполните следующие действия:
- Откройте свойства созданной учетной записи.
- На закладке Account установите флажок This account supports Kerberos AES 256 bit encryption.
- Создайте 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 Управляющего узла.
- Для каждого узла кластера добавьте в 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 узлов кластера.
Пример: Например, вам нужно создать keytab-файл, содержащий SPN-имена 3 узлов: Чтобы создать в папке C:\keytabs\ файл под названием
Для добавления еще одного SPN необходимо выполнить следующую команду:
Для добавления третьего SPN необходимо выполнить следующую команду:
В результате будет создан файл с именем |