Генерация keytab для AD (Active Directory)

Действия, описанные в данном разделе, производятся на контроллере домена Active Directory (AD) от имени учётной записи с правами администратора домена.

Для генерации файла keytab выполните следующие действия.

  1. Создайте специальную учетную запись пользователя в домене AD, которая будет использована исключительно для получения файла keytab и других служебных операций (например, krbuser)

Примечание. Для служебной учетной записи необходимо активировать опции «Запретить смену пароля пользователем» и «Срок действия пароля не ограничен». В противном случае, если пароль будет изменен, потребуется повторная генерация файла keytab.

      2. Добавьте SPN-запись для созданной учётной записи, используя команды

setspn -A HTTP/{FQDN_сервера_JMS}@{DNS_имя_домена} {служебная_уч._запись}

Пример для машины jmsssv.jms4.local, домена jms4.local и пользователя созданного на первом шаге с именем krbuser:

setspn -A HTTP/jmsssv.jms4.local@JMS4.LOCAL krbuser

      3. Для проверки корректности выполненной настройки, получите список SPN-записей для указанного пользователя

setspn -L {служебная_уч._запись}

      4. Сгенерируйте файл keytab следующей командой:

ktpass -out {путь_для_генерируемого_файла} -princ {имя_субъекта_в_узле} -mapuser {служебная_уч._запись} -pass {пароль_для_файла} -pType KRB5_NT_PRINCIPAL -crypto ALL

где

- {имя_субъекта_в_узле} – указывается в формате: HTTP/{FQDN_сервера_JMS}@{DNS-имя_домена};

- {FQDN_сервера_JMS} – доменный адрес сервера JMS;

- {DNS_имя_домена}, область действия контроллера домена в верхнем регистре (соответствует имени домена);

- {служебная_уч._запись} - специальная учётная запись, созданная на первом шаге (krbuser);

- {пароль_для_файла} - пароль для keytab-файла;

- {путь_для_генерируемого_файла} – путь, куда будет сохранён сформированный keytab-файл.

Например:

ktpass -out c:\users\Administrator\Desktop\krb.keytab -princ HTTP/jmsssv.jms4.local@JMS4.LOCAL -mapuser krbuser -pass P@ssw0rd -pType KRB5_NT_PRINCIPAL -crypto ALL

Примечания:

  1. Для корректной генерации файла keytab необходимо, чтобы его пароль соответствовал политике паролей, установленной в домене.
  2. Если между корнем домена и поддоменами настроено доверие, то требуется сформировать keytab-файл только для корня домена и использовать его во всех каталогах учётных записей, относящихся к корневому домену. Иначе потребуется формировать keytab-файл для каждого домена отдельно.

Генерация keytab для FreeIPA или ALD Pro

Ниже описан порядок генерации файла keytab для прозрачной аутентификации пользователей в JMS из домена FreeIPA или ALD Pro по протоколу Kerberos.

Формирование Keytab-файла для рабочей станции в домене

Для формирования Keytab-файла для рабочей станции в домене выполните следующие действия:

  1. Добавьте HTTP сервис для рабочей станции с помощью команды:
ipa service-add HTTP/{FQDN_сервера_JMS} --force

где,

- {FQDN_сервера_JMS}, доменный адрес сервера JMS

Например:

ipa service-add HTTP/jmsssv.jms4.local --force

      2. Сгенерируйте keytab-файл с помощью команды (требуются root-права):

ipa-getkeytab -s {контроллер_домена} -p HTTP/{FQDN_сервера_JMS} -k {путь_для_генерируемого_файла}

где,

- {контроллер_домена}, адрес контроллера домена;

- {FQDN_сервера_JMS}, доменный адрес сервера JMS;

- {путь_для_генерируемого_файла}, путь, куда будет сохранён сформированный keytab-файл.

Например:

ipa-getkeytab -s dc.jms4.local -p HTTP/jmsssv.jms4.local -k /etc/jms-server.keytab

Формирование Keytab-файла для рабочей станции вне домена

Для формирования keytab-файла для рабочей станции вне домена выполните следующие действия:

  1. Создайте сервисную рабочую станцию с помощью команды:
ipa host-add --force {FQDN_сервера_JMS}

где,

- {FQDN_сервера_JMS}, доменный адрес сервера JMS

Например,

ipa host-add -–force jmsssv.jms4.local

      2. Добавьте HTTP сервис для рабочей станции с помощью команды:

ipa service-add HTTP/{FQDN_сервера_JMS} --force

где,

- {FQDN_сервера_JMS}, доменный адрес сервера JMS

Например,

ipa service-add HTTP/jmsssv.jms4.local --force

      3. Сгенерируйте keytab-файл с помощью команды (требуются ROOT права):

ipa-getkeytab -s {контроллер_домена} -p HTTP/{FQDN_сервера_JMS} -k {путь_для_генерируемого_файла}

где,

- {контроллер_домена}, адрес контроллера домена;

- {FQDN_сервера_JMS}, доменный адрес сервера JMS;

- {путь_для_генерируемого_файла}, путь, куда будет сохранён сформированный keytab-файл.

Например,

ipa-getkeytab -s dc.jms4.local -p HTTP/jmsssv.jms4.local -k /etc/jms-server.keytab