Имя сервера События 4 Kerberos, показывающее имя пользователя

У нас есть.Net Windows Service, который использует Httplistener и аутентифицирует запросы с помощью Kerberos. Когда пользователи соединяются через их браузер, ошибка в пользовательском журнале событий показывает Идентификатор события Kerberos 4:

Клиент Kerberos получил ошибку KRB_AP_ERR_MODIFIED от $username$ сервера. Целевым используемым именем был HTTP / $servername$. $domain$ .com.au. Это указывает, что целевому серверу не удалось дешифровать билет, предоставленный клиентом. Это может произойти, когда целевое имя принципала сервера (SPN) регистрируется на учетной записи кроме учетной записи, целевой сервис использует. Удостоверьтесь, что целевой SPN только регистрируется на учетной записи, используемой сервером. Эта ошибка может также произойти, если целевой пароль сервисной учетной записи отличается, чем, что настроено на Центре распределения ключей Kerberos для того целевого сервиса. Удостоверьтесь, что сервис на сервер и KDC оба настроен для использования того же пароля. Если имя сервера не полностью определяется, и целевой домен ($domain$.COM.AU) отличается от клиентского домена ($domain$.COM.AU), проверьте, названы ли там тождественно учетными записями сервера в этих двух доменах или используют полностью определенное имя для идентификации сервера.

По некоторым причинам сервер, о котором это сообщает, является пользователем, который выполняет сервис. Первая строка:

Клиент Kerberos получил ошибку KRB_AP_ERR_MODIFIED от $username$ сервера.

Каждый веб-сайт (включая Отказ сервера) имеет, фиксирует для этой ошибки сделать с проблемами SPN, но это всегда имеет имя сервера по ошибке. Я не могу найти вышеупомянутое сообщение с именем пользователя.

Мы судили различных пользователей, и это изменяет вышеупомянутую часть сообщения об ошибке. Все учетные записи домена имеют ту же проблему. Если мы выполняем сервис как локальную системную учетную запись, у нас нет этой проблемы, но это вызывает нас другие проблемы с сервисом (этому нужна учетная запись домена для других полномочий). Мы не имеем, никогда не имели, никакие серверы с тем же именем как имена пользователей, которые мы попробовали.

Кто-либо видел эту проблему с именем пользователя, появляющимся здесь прежде? Какова фиксация?

Все серверы являются Windows 2012 (не R2).

1
задан 25 November 2014 в 07:55
2 ответа

Решение найдено здесь: http://blogs.technet.com/b/dcaro/archive/2013/07/04 /fixing-the-security-kerberos-4-error.aspx

Я выполнил:

setspn -A HTTP/$servername$.$domain$.com.au $username$

и это устранило проблему

2
ответ дан 3 December 2019 в 17:06

Рад, что вы решили свою собственную проблему, но не похоже, что вы понимаете, почему то, что вы запустили, решило проблему.

В итоге, SPN должно быть установлено на соответствующем объекте. Звучит так, как будто у вас SPN установлена на объекте компьютера в AD, на котором запущена служба. Вот почему все заработало, если вы изменили службу на SYSTEM. Но если вы измените ее, чтобы она работала от имени пользователя домена, вам нужно переместить SPN к этому пользователю. И важно, чтобы вы переместили его (читайте: удалите его из учетной записи компьютера), а не просто скопировали его. Дублирование SPN сломает все.

3
ответ дан 3 December 2019 в 17:06

Теги

Похожие вопросы