LINUX.ORG.RU
ФорумAdmin

Авторизация KERBEROS

 , , , ,


0

1

Здравствуйте, уважаемые форумчане! Решил обратиться за помощью и советом.

Задача: настроить почтовый сервер (freebsd+postfix+dovecot+AD) c прозрачной авторизацией KERBEROS в Active Directory, чтобы пользователям, которые авторизовались в AD, не приходилось забивать пароль в почтового клиента (Microsoft Outlook), т.к. пароль в домене периодически подлежит замене.

Контроллер домена: kd.dom.lan (Windows server 2008). Почтовый сервер: mail.dom.lan (freebsd 9.2-RELEASE). DNS работает на контроллере домена. Запись для почтового сервера есть и в прямой и в обратной зоне.

На данном этапе не могу добиться получения почтовым сервером билета kerberos с контроллера домена с помощью файла-keytab. Файл keytab создаю для службы imap, которая работает на почтовом сервере (dovecot).

В ответ на команду:

kinit -k IMAP/mail.dom.lan

получаю ошибку:

kinit: krb5_get_init_creds: Client (IMAP/mail.dom.lan@DOM.LAN) unknown

Если попытаться получить билет для реального пользователя AD командой:

kinit domainuser

то после ввода правильного пароля пользователя domainuser билет получен. Это видно в выводе команды klist.

Обращаюсь за помощью, т.к. больше нет идей для преодоления этой ошибки. Не могу понять, почему «Клиент неизвестен». Все делалось после прочтения и изучения многочисленных статей и обсуждений. Многие смогли увидеть эту долгожданную надпись: «Authenticated to Kerberos v5», у меня пока не выходит.

Файл keytab генерировал двумя способами:

1. С помощью утилиты ktpass, генерировал файл как для фиктивного пользователя AD, так и для учетной записи компьютера - почтового сервера.

----------------------------------------------------------

- в домене (OU=Users) был создан пользователь imap c неустаревающим и неменяющимся паролем 1234.

- сгенерирован keytab командой:

ktpass -princ IMAP/mail.dom.lan@DOM.LAN -mapuser imap@DOM.LAN -crypto RC4-HMAC-NT -pass 1234 -ptype KRB5_NT_PRINCIPAL -out c:\imap.keytab

- файл imap.keytab скопирован на почтовый сервер в папку /tmp

- на почтовом сервере imap.keytab добавлен в /etc/krb5.keytab командой:

ktutil copy /tmp/imap.keytab /etc/krb5.keytab

- проверка добавления командой:

ktutil list

- проверка создания SPN на контроллере домена:

setspn -Q IMAP/mail.dom.lan

CN=imap,CN=Users,DC=dom,DC=lan

IMAP/mail.dom.lan

-----------------------------------------------------

Keytab для учетной записи компьютера.

- проверка отсутствия записей SPN для службы imap на контроллере домена командой setspn.exe

- для учетной записи компьютера почтового сервера сгенерировал файл keytab командой:

ktpass -princ IMAP/mail.dom.lan@DOM.LAN -mapuser mail$@DOM.LAN -crypto RC4-HMAC-NT -pass 1234 -ptype KRB5_NT_PRINCIPAL -out c:\imap.keytab

- дальше все как для генерации keytab для фиктивного пользователя AD.

-----------------------------------------------------------

Результат этих действий одинаковый:

kinit: krb5_get_init_creds: Client (IMAP/mail.dom.lan@DOM.LAN) unknown

---------------------------------------------------------

2. с помощью samba 3.6.18 (установлена на почтовом сервере, который введен в домен dom.lan). Т.к. у меня на почтовом сервере настроена samba (кстати, предоставляет прозрачный доступ к своим ресурсам авторизованным в AD пользователям), вычитал более простой способ генерации файла keytab с одновременным занесением записей в /etc/krb5.keytab

- сначала на конроллере домена с помощью setspn.exe удалил все SPN записи, созданные в п.1

- затем на почтовом сервере выполняю команду:

net ads keytab add IMAP -U Administrator - результат генерации виден командой:

net ads keytab list

- на контроллере домена добавленная SPN запись видна командой:

setspn -Q IMAP/mail.dom.lan

---------------------------------------------------------

В итоге опять эта же ошибка при выполнении kinit -k IMAP/mail.dom.lan : kinit: krb5_get_init_creds: Client (IMAP/mail.dom.lan@DOM.LAN) unknown

Такое впечатление, что все мои манипуляции по генерации keytab не влияют на итоговый результат и ошибка у меня в чем то другом.

/etc/krb5.conf имеет следующий вид:

[libdefaults]

default_realm = DOM.LAN

dns_lookup_realm = false

dns_lookup_kdc = false

[realms]

DOM.LAN = {

kdc = kd.dom.lan

admin_server = kd.dom.lan

default_domain = dom.lan

[domain_realm]

dom.lan = DOM.LAN

.dom.lan = DOM.LAN

Хотя в системе установлен пакет krb5-1.12.2, однако kinit --version говорит: kinit (Heimdal 1.1.0)

Хотел написать покороче, но не получилось. Если что-то нужно будет дополнительно - уточню. Буду рад, если знатоки укажут направление для решения задачи. Спасибо!


А почему пользователь создан в OU, а SPN привязан к CN?

- в домене (OU=Users) был создан пользователь imap c неустаревающим и неменяющимся паролем 1234.

setspn -Q IMAP/mail.dom.lan

CN=imap,CN=Users,DC=dom,DC=lan
menzoberronzan
()
Ответ на: комментарий от menzoberronzan

Это опечатка. Пользователь imap создан в CN=Users.

citmen
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.