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

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

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

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

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

Клиент Kerberos получил от сервера ошибку KRB_AP_ERR_MODIFIED$имя_пользователя$.

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

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

Кто-нибудь видел эту проблему с появлением имени пользователя здесь раньше? Как исправить?

Все серверы работают под управлением Windows 2012 (не R2).

решение1

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

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

решение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$

и это решило проблему

Связанный контент