#active-directory #apache2 #kerberos
#active-directory #apache2 #kerberos
Вопрос:
Наша среда выглядит следующим образом:
- у нас есть лес серверов ActiveDirectory, которые доверяют друг другу.
- у нас есть Linux Apache с mod_auth_kerb, который аутентифицируется на «главном» сервере AD.
Для некоторых комбинаций клиентов и доменов мы получаем следующее сообщение об ошибке:
krb5_get_init_creds_password() failed: KRB5 error code 68
Поиск в Google выдает эту ошибку:
is being returned by Active Directory because your users are
attempting to obtain a Kerberos TGT for a realm that
is not hosted on the server to which they are authenticating.
Есть ли способ обойти это?
Ответ №1:
Вы пропустили добавление всех необходимых областей / KDC в ваш krb5.conf. GSSAPI не может получить тикет для неизвестной области. Приведенный выше пример отлично работает с gssapi в нашей лесной среде.
Чтобы упростить настройку, вы можете настроить свой krb5.conf
на запрос DNS для поиска KDC. Это то, что делает Windows.
Комментарии:
1. Но у нас есть только основной AD в нашей конфигурации krb5, а многие другие области работают «из коробки». Я не могу понять, в чем разница между ними. Кроме того, поиск DNS для меня в новинку — есть ли где-нибудь хорошее введение?
2. Предоставьте общий доступ к вашему
krb5.conf
и ко всем именам доменов в лесу. Вы можете запутать их. Обратитесь к этой справочной странице дляdns_lookup_kdc
. Вот как вы можете выполнить поиск KDC для DNS вручную:host -t SRV _kerberos._tcp.DnsDomainName
. Смотрите ссылку Microsoft .