Назад | Перейти на главную страницу

Путаница в отношении Kerberos, делегирования и SPN

я уже разместил этот вопрос на SO, но суть между программированием и настройкой сервера, поэтому я также повторно опубликую его здесь.


Я пытаюсь написать приложение для проверки концепции, которое выполняет делегирование Kerberos. Я написал весь код, и, похоже, он работает (я в порядке аутентификации), но в результирующем контексте безопасности не установлен флаг ISC_REQ_DELEGATE.

Поэтому я думаю, что, возможно, одну из конечных точек (клиент или сервер) запрещено делегировать. Однако я не проверяю подлинность SPN. Только один пользователь домена против другого пользователя домена. Как SPN для InitializeSecurityContext() Я передаю someuser@mydomain.lan (это учетная запись пользователя, под которой запущено серверное приложение). Насколько я понимаю, у пользователей домена по умолчанию включено делегирование. В любом случае, я попросил администратора проверить, а флажок «учетная запись является конфиденциальной и не может быть делегирован» отключен.

Я знаю, что если бы мой сервер работал как СЕТЕВАЯ СЛУЖБА, и я использовал SPN для подключения к нему, тогда мне понадобится учетная запись компьютера в AD, чтобы установить флажок «Доверять компьютеру для делегирования» (по умолчанию отключен), но ... это не так, правда? Либо это?

Также - когда установлен флажок в учетной записи компьютера, изменения вступают в силу немедленно, или я должен перезагрузить серверный компьютер или подождать некоторое время?

По моему опыту работы с приложениями и делегированием Kerberos для учетной записи службы (выполняющей приложение) требуется имя участника-службы, настроенное для службы, из которой вы хотите выполнять делегирование, и для него должно быть установлено значение доверенного для делегирования (либо все имена участников-служб, либо только определенные, в противном случае известное как ограниченное делегирование).