Путаница с Kerberos, делегированием и SPN
Я уже публиковал этот вопрос на SO, но его природа заключается в программировании и настройке сервера, поэтому я также опубликую его здесь.
Я пытаюсь написать приложение для проверки концепции, которое выполняет делегирование Kerberos. Я написал весь код, и он, кажется, работает (у меня аутентификация в порядке), но в результирующем контексте безопасности не установлен флаг ISC_REQ_DELEGATE.
Поэтому я думаю, что может быть запрещено делегировать одну из конечных точек (клиент или сервер). Однако я не аутентифицируюсь против SPN. Только один пользователь домена против другого пользователя домена. Как SPN для InitializeSecurityContext()
Я передаю "someuser@mydomain.lan" (это учетная запись пользователя, под которой запущено приложение сервера). Как я понимаю, у пользователей домена делегирование включено по умолчанию. В любом случае, я попросил администратора проверить, и флажок "учетная запись чувствительна и не может быть делегирована" снят.
Я знаю, что если мой сервер работал как СЕТЕВАЯ СЛУЖБА, и я использовал SPN для подключения к нему, то мне понадобилась бы учетная запись компьютера в AD, чтобы установить флажок "Доверять компьютер для делегирования" (по умолчанию отключен), но... это не тот случай, верно? Либо это?
Также - когда установлен флажок в учетной записи компьютера, изменения вступают в силу немедленно, или я должен перезагрузить компьютер сервера или подождать некоторое время?
1 ответ
По моему опыту работы с приложениями и делегированием Kerberos для учетной записи службы (выполняющей приложение) требуется имя участника-службы, настроенное для службы, для которой вы хотите выполнить делегирование, и для него должно быть установлено значение доверенного для делегирования (либо все имена SPN, либо только определенные, в противном случае). известный как ограниченное делегирование).