Ошибка в аутентификации в домене

В этой статье мы рассмотрим проблему нарушения доверительных отношений между рабочей станцией и доменом Active Directory, из-за которой пользователь не может авторизоваться на компьютере. Рассмотрим причину проблемы и простой способ восстановления доверительных отношений компьютера с контроллером домена по безопасному каналу без перезагрузки компьютера.

Содержание:

  • Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом
  • Пароль учетной записи компьютера в домене Active Directory
  • Проверка и восстановление доверительного отношения компьютера с доменом с помощью PowerShell
  • Восстановления доверия с помощью утилиты Netdom

Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом

Как проявляется проблема: пользователь пытается авторизоваться на рабочей станции или сервере под своей учетной запись и после ввода пароля появляется ошибка:

The trust relationship between this workstation and the primary domain failed.
Не удалось восстановить доверительные отношения между рабочей станцией и доменом.

Не удалось восстановить доверительные отношения между рабочей станцией и доменом

Также ошибка может выглядеть так:

The security database on the server does not have a computer account for this workstation trust relationship.
База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станцией.

База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станцией.

Пароль учетной записи компьютера в домене Active Directory

Когда компьютер вводится в домен Active Directory, для него создается отдельная учетная запись типа computer. У каждого компьютера в домене, как и у пользователей есть свой пароль, который необходим для аутентификации компьютера в домене и установления доверенного подключения к контроллеру домена. Однако, в отличии от паролей пользователя, пароли компьютеров задаются и меняются автоматически.

Несколько важных моментов, касающихся паролей компьютеров в AD:

  • Компьютеры должны регулярно (по-умолчанию раз в 30 дней) менять свои пароли в AD.

    Совет. Максимальный срок жизни пароля может быть настроен с помощью политики Domain member: Maximum machine account password age, которая находится в разделе: Computer Configuration-> Windows Settings-> Security Settings-> Local Policies-> Security Options. Срок действия пароля компьютера может быть от 0 до 999 (по умолчанию 30 дней). Maximum machine account password age

  • Срок действия пароля компьютера не истекает в отличии от паролей пользователей. Смену пароля инициирует компьютер, а не контроллер домена. На пароль компьютера не распространяется доменная политика паролей для пользователей.

    Даже если компьютер был выключен более 30 дней, его можно включить, он нормально аутентифицируется на DC со старым паролем, и только после этого локальная служба
    Netlogon
    изменит пароль компьютера в своей локальной базе (пароль хранится в ветке реестра HKLMSECURITYPolicySecrets$machine.ACC) и затем в аккаунте компьютера в Active Directory.

  • Пароль компьютера меняется на ближайшем DC, эти изменения не отправляются на контроллера домена с FSMO ролью эмулятора PDC (т.е. если компьютер сменил пароль на одном DC, то он не сможет авторизоваться на другом DC, до момента выполнения репликации изменений в AD).

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

Почему это может произойти:

  1. Самая частая проблема. Компьютер был восстановлен из старой точки восстановления или снапшота (если это виртуальная машина), созданной раньше, чем был изменен пароль компьютера в AD. Т.е. пароль в снапшоте отличается от пароля компьютера в AD. Если вы откатите такой компьютер на предыдущее состояние, это компьютер попытается аутентифицироваться на DC со старым паролем.
  2. В AD создан новый компьютер с тем же именем, или кто-то сбросил аккаунт компьютера в домене через консоль ADUC;сброс пароля учтеной записи компьтера в AD
  3. Учетная запись компьютера в домене заблокирована администраторам (например, во время регулярной процедуры отключения неактивных объектов AD);
  4. Довольно редкий случай, когда сбилось системное время на компьютере.

Классический способ восстановить доверительных отношений компьютера с доменом в этом случае:

  1. Сбросить аккаунт компьютера в AD;
  2. Под локальным админом перевести компьютер из домена в рабочую группу;
  3. Перезагрузить компьютер;
  4. Перезагнать компьютер в домен;
  5. Еще раз перезагрузить компьютер.

Этот метод кажется простым, но слишком топорный и требует, как минимум двух перезагрузок компьютера, и 10-30 минут времени. Кроме того, могут возникнуть проблемы с использованием старых локальных профилей пользователей.

Есть более элегантный способ восстановить доверительные отношения с помощью PowerShell без перевключения в домен и без перезагрузок компьютера.

Проверка и восстановление доверительного отношения компьютера с доменом с помощью PowerShell

Если вы не можете аутентифицироваться на компьютере под доменной учетной записью с ошибкой “Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом”, вам нужно войти на компьютер под локальной учетной записью с правами администратора. Также можно отключить сетевой кабель и авторизоваться на компьютере под доменной учетной записью, которая недавно заходила на этот компьютер, с помощью кэшированных учетных данных (Cached Credentials).

Откройте консоль PowerShell и с помощью командлета Test-ComputerSecureChannel проверьте соответствует ли локальный пароль компьютера паролю, хранящемуся в AD.

Test-ComputerSecureChannel –verbose

Test-ComputerSecureChannel проверка доверительных отошений компьютера с доменом из powershell

Если пароли не совпадают и компьютер не может установить доверительные отношения с доменом, команда вернет значение False
The Secure channel between the local computer and the domain winitpro.ru is broken
.

Чтобы принудительно сбросить пароль учётной записи данного компьютера в AD, нужно выполнить команду:

Test-ComputerSecureChannel –Repair –Credential (Get-Credential)

Test-ComputerSecureChannel repair восстановить доверительные отношения компьютера с AD, сброс и синхронизация пароля компьютера

Для выполнения операции сброса пароля нужно указать учетную запись и пароль пользователя, у которого достаточно полномочий на сброс пароля учетной записи компьютера. Этому пользователя должны быть делегированы права на компьютеры в Active Directory (можно использовать и члена группы Domain Admins, но это не комильфо).

После этого нужно еще раз выполнить команду
Test-ComputerSecureChannel
и убедится, что она возвращает True (
The Secure channel between the local computer and the domain winitpro.ru is in good condition
).

Итак, пароль компьютера сброшен без перезагрузки и без ручного перевоода в домен. Теперь вы можете аутентифицировать на компьютере под доменной учетной записью.

Также для принудительной смены пароля можно использовать командлет Reset-ComputerMachinePassword.

Reset-ComputerMachinePassword -Server dc01.corp.winitpro.ru -Credential corpdomain_admin

dc01.corp.winitpro.ru
– имя ближайшего DC, на котором нужно сменить пароль компьютера.

Имеет смысл сбрасывать пароль компьютера каждый раз, перед тем как вы создаете снапшот виртуальной машины или точку восстановления компьютера. Это упростит вам жизнь при откате к предыдущему состоянию компьютера.

Если у вас есть среда разработки или тестирования, где приходится часто восстанавливать предыдущее состояние ВМ из снапшотов, возможно стоит с помощью GPO точечно отключить смену пароля в домене для таких компьютеров. Для этого используется политика Domain member: Disable machine account password changes из секции Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options. Можно нацелить политики на OU с тестовыми компьютерам или воспользоваться WMI фильтрами GPO.

С помощью командлета Get-ADComputer (из модуля Active Directory Windows PowerShell) можно проверить время последней смены пароля компьютера в AD:

Get-ADComputer –Identity spb-pc22121 -Properties PasswordLastSet

Также можно проверить наличие безопасного канала между компьютером и DC командой:

nltest /sc_verify:corp.winitpro.ru

Следующие строки подтверждают, что доверительные отношения были успешно восстановлены:

nltest /sc_verify

Trusted DC Connection Status Status = 0 0x0 NERR_Success
Trust Verification Status = 0 0x0 NERR_Success

Восстановления доверия с помощью утилиты Netdom

В Windows 7/2008R2 и предыдущих версиях Windows, на которых отсутствует PowerShell 3.0, не получится использовать командлеты Test-ComputerSecureChannel и Reset-ComputerMachinePassword для сброса пароля компьютера и восстановления доверительных отношений с доменом. В этом случае для восстановления безопасного канала с контроллером домена нужно воспользоваться утилитой
netdom.exe
.

Утилита Netdom включена в состав Windows Server начиная с 2008, а на компьютерах пользователей может быть установлена из RSAT (Remote Server Administration Tools). Чтобы восстановить доверительные отношения, нужно войти в систему под локальным администратором (набрав “.Administrator” на экране входа в систему) и выполнить такую команду:

Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password

Netdom resetpwd

  • Server – имя любого доступного контроллера домена;
  • UserD – имя пользователя с правами администратора домена или делегированными правами на компьютеры в OU с учетной записью компьютера;
  • PasswordD – пароль пользователя.

Netdom resetpwd /Server:spb-dc01 /UserD:aapetrov /PasswordD:Pa@@w0rd

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

Как вы видите, восстановить доверительные отношения междду компьютером и доменом довольно просто.

Здравствуйте уважаемые коллеги

У нас в домене уже долгое время существует одна проблема:

Домен поднят на 4 серверах по два в двух офисах соединеных оптикой, т.к. к скорости нареканий нет все сделано в одном сайте. Рабочих станций около 130 winxp.

Суть проблемы — на какойто части машин (на XP, на 2003 нет (возможно просто по тому что на этих машинах работают под учетками администраторов, на XP если пользователь админ вроде как тоже этого глюка нет)) теряется авторизация в домене у сервисов (служба времени, применение политик и т.
д.), у части пользователей отсутствует доступ к сетевым ресурсам, причем
часть пользователей с такими же ошибками продолжают нормально работать т.е. практически не заметно что что произошло.
Раньше для исправления использовали сначала перезагрузка, если не помогло 
вывод-ввод из домена, очень часто симптомы пропадали сами.  Сейчас ошибки
регистрируются на подавляющем большинстве рабочих станций.

т.е. рабочая станция например перестает применять политики и не выполняются стартовые скрипты.  В журналах системы есть записи

Тип события: Предупреждение
Источник события: LSASRV
Категория события: SPNEGO (согласователь)
Код события: 40961
Дата:  13.09.2007
Время:  13:02:34
Пользователь:  Н/Д
Компьютер: xxx-01
Описание:
Системе безопасности не удалось установить безопасное подключение к
серверу ldap/xxx@xxx.com. Отсутствуют
доступные протоколы проверки подлинности.

Тип события: Предупреждение
Источник события: Tcpip
Категория события: Отсутствует
Код события: 4226
Дата:  12.09.2007
Время:  17:44:20
Пользователь:  Н/Д
Компьютер: xxx-01

Описание:
Достигнут предел безопасности для TCP/IP, налагаемый  на количество
попыток одновременных TCP-подключений.
Данные:
0000: 00 00 00 00 01 00 54 00   ……T.
0008: 00 00 00 00 82 10 00 80   ….?..?
0010: 01 00 00 00 00 00 00 00   ……..
0018: 00 00 00 00 00 00 00 00   ……..
0020: 00 00 00 00 00 00 00 00   ……..

Тип события: Ошибка
Источник события: Userenv
Категория события: Отсутствует
Код события: 1030
Дата:  13.09.2007
Время:  7:52:03
Пользователь:  XXXXXX
Компьютер: xxx-01
Описание:
Не удалось запросить данный список объектов групповой политики. Сообщение,
описывающее причину, уже было помещено в журнал обработчиком политики.

Тип события: Ошибка
Источник события: Userenv
Категория события: Отсутствует
Код события: 1058
Дата:  12.09.2007
Время:  21:19:25
Пользователь:  NT AUTHORITYSYSTEM
Компьютер: xxx-01
Описание:
Windows не удалось получить доступ к файлу GPT.INI для объекта групповой
политики
CN={AD6E10C0-86F2-4600-9187-BE37006241D5},CN=Policies,CN=System,DC=XXX,DC
=XXX,DC=ru. Этот файл должен находиться в
<\XXXX.XXX.XXSysVolXXX.XXX.XXXPolicies{AD6E10C0-86F2-4600-9187-BE370
06241D5}gpt.ini>. (Попытка выполнить операцию для несуществующего
сетевого подключения. ). Обработка групповой политики прекращена.

В результате наших изысканий мы предполагаем, что по неизвестной нам
причине  после истечения TTL тикета Kerberos новый тикет не выдается что
регистриуется в виде приведенных выше ошибок и как следствие все сервисы
требующие авторизации перестают работать. Что в свою очередь приводит к
тормозам, отсутствию доступа к сетевым ресурсам, невозможности наката
обновлений и групповых политик.

Плюс к этому в окружении в соответвии с корпоративной политикой стоит Altiris, к которому доступа м ы не имеем.

С ним наблюдается вот такая проблема

С периодичностью примерно раз в две недели  в начале недели пользователи
начинают жаловаться что у них долго открываются документы офиса, при
замерах получаются следующие результаты от клика на файле до открытия
оболочки например excel 30-40 сек  и от открытия оболочки до загрузки
документа тоже 30-40 сек. Причем от размера файла и загрузки машины ничего
не зависит. Если смотреть запущенные процессы TCPView видим что процессы
Aclient.exe AclntUsr.Exe открывают про 10-20 соединений и забивают tcp-ip
стек соединений (в xp ограничение 10 одновременных сессий)

Если завершить эти процессы  проблемы с офисом сразу же исчезают, машина
начинает работать  ощутимо быстрее. Т.К. эти процессы принадлежат
Альтирису можно сделать вывод что он некорректно работает.

От администраторов альтириса пока никаких ответов нет но я предполагаю что возможно он забивает стек соединений и рабочие станции не могут авторизоваться либо наоборот от потери авторизации и начинается беспорядочное открытие сессий с их зависанием. (это одна из вероятных версий)

Вообще в процессе поиска решений было перепробовано кучу советов с различных форумах, перечитано с десяток KB но пока нет никакого решения. В домене все в норме DCdiag никаких проблем не показывает, все явные функции Ad работают в норме. Складывается впечатление что это проблема только рабочих станций.

Не встречал ли кто либо подобных проблем у себя?

При проблемах с авторизацией в домене стоит проверить сетевые настройки, а так же дельту времени между клиентом и контроллером домена. При грамотном развёртывании доменной структуры, контроллеры берут мировое время по протоколу NTP с доступных серверов времени в Интернете, а клиентские ПК с контроллеров домена. В любом случае время у всех должно течь одинаково и дельта должна стремиться к нулю, так как в противном случае не избежать проблем с Kerberos.

Проблема

При попытке авторизации доменного пользователя возникает ошибка входа.

Диагностика

Проверить состояние службы network-manager с помощью команды: sudo systemctl status network-manager

Проверить корректность настроек сети в файле /etc/network/interfaces

Проверить в файле /var/log/auth.log наличие сообщений об ошибке вида:

pam_unix(fly-dm:auth): authentication failure
pam_sss(fly-dm:auth): authentication failure

Вам поможет команда: grep -F "authentication failure" /var/log/auth.log

Возможные причины

Некорректная настройка сети

Окружение
* Astra Linux Special Edition 1.7 Update 1 (№ 2021-1126SE17)
* ALD Pro 1.0.0

Диагностика
Проверить состояние службы network-manager с помощью команды: sudo systemctl status network-manager

Проверить корректность настроек сети в файле /etc/network/interfaces

Решение
В случае состояния службы network-manager active (running) остановить и отключить её автозапуск с помощью команд:
sudo systemctl stop network-manager
sudo systemctl disable network-manager

Привести настройки сетевого интерфейса в файле /etc/network/interfaces к виду:

auto eth0
iface eth0 inet static
  address IP-адрес_контроллера_домена
  netmask маска_подсети
  gateway ip-адрес_шлюза
  dns-nameservers IP-адрес_dns_сервера
  dns-search домен

Причина
Некорректные настройки сети и активная служба network-manager.


Не синхронизировано время с контроллером домена

Окружение
* Astra Linux Special Edition 1.7 Update 1 (№ 2021-1126SE17)
* ALD Pro 1.x.x

Диагностика
Проверить в файле /var/log/auth.log наличие сообщений об ошибке вида:

pam_unix(fly-dm:auth): authentication failure
pam_sss(fly-dm:auth): authentication failure

Решение
Синхронизировать время компьютера с контроллером домена: sudo ntpdate IP-адрес_контроллера_домена

Причина
Время на компьютере не синхронизировано со временем на контроллере домена.

Дополнительные материалы:
ALD Pro — Astra Domain
Как получить информацию о проблемах в работе ALD Pro?

Дата последней правки: 2023-04-06 09:44:42

  • Remove From My Forums
  • Question

  • I’ve been trying to solve this problem for a little while now.  I am unable to join a domain (Windows Server 2008) from a Vista Ultimate computer.  Whenever I try, I receive the error: «Logon failure: unknown user name or bad password».  The username I’m using is a domain admin (amongst many other things).  I have tried disabling the firewall on both the server and the workstation (just for testing obviously).  I’ve tried to joing the computer from a Windows 7 computer as well with the same results. And, just to clarify, nothing is on the domain besides the DC, so it is possible that it is a configuration issue. 

    I have run:
    nltest /dcname:<domain> — it finds the correct dc
    nltest /server:<server> — command completed successfully
    nltest /server:<server> /user:<username> — Cannot connect to registry on <server> Status = 53 0x35 ERROR_BAD_NETPATH

    I don’t know if the last test is indicative of my problem or not.  I am really at a loss.  Any help debugging the issue is greatly appreciated. 
    Thank you much,
    Mike

Answers

  • Hi there,

    I went though the netsetup.log that you post.

    I found these lines:

    04/29/2009 10:19:45:981 NetpDsGetDcName: found DC ‘\CHRISTINA.omniacs.com’ in the specified domain

    04/29/2009 10:19:46:300 NetUseAdd to

    \CHRISTINA.omniacs.comIPC$ returned 1326

    Note: DC CHRISTINA.omniacs.com can be located, however after the domain controller was found, an attempt was made to connect to it by using the credentials that are supplied. This attempt failed with error code 1326 (ERROR_LOGON_FAILURE), which indicates that the credentials that you use do not have sufficient access rights for connecting to the domain controller.

    Root cause:

    This is properly a domain join authentication issue

    Solution:

    1. Please check the user account (Account: omniacsmdaniels) that you use to join domain is valid in the domain. Also, please also verify that the password you input is correct.

    2. If possbile, please try to use omniacsadministrator user account to join the machine to the domain.

    Reference:
    http://technet.microsoft.com/en-us/library/cc961817.aspx

    10.7 » Failure to connect to a domain controller » Error Codes

    Description

    Actual Error

    Error Code

    Bad credentials.

    ERROR_LOGON_FAILURE

    1326

    Time skew that can cause failure of Kerberos authentication.

    ERROR_TIME_SKEW

    1398

    Failure to connect to a domain controller.

    ERROR_ACESS_DENIED

    5

    No domain controller found.

    ERROR_NO_LOGON_SERVERS

    1311

    Hope this can be helpful to resolve the issue.

    Thanks and Regards,
    Scorprio


    MCTS: Windows Vista | Exchange Server 2007 MCITP: Enterpise Support Technician | Server & Enterprise Admin

    • Proposed as answer by

      Wednesday, April 29, 2009 3:16 PM

    • Unproposed as answer by
      fyathyrio8
      Wednesday, April 29, 2009 11:06 PM
    • Marked as answer by
      Sainath IRP_MJ_CREATE
      Friday, May 1, 2009 4:37 AM

  • Another suggestion for something that happened to me recently…

    If you are using the DOMAINUsername format for your credentials, make sure you are entering the Pre-Windows 2000 logon name, if it is different that the regular account logon name (Username@domain.com). I accidentally changed the Pre-Windows 2000 logon name on my account to something different than the regular logon name and Windows would not accept the credentials, while using the DOMAINUsername format. When I noticed that the Pre-Windows 2000 name was different, I entered that in and it worked. I then changed the Pre-Windows 2000 name to match the regular logon name and everything was fine.

    • Marked as answer by
      Sainath IRP_MJ_CREATE
      Friday, May 1, 2009 4:37 AM

  • Ok, Here are the issues in your domain… You are using external DNS 65.32.5.111 and 65.32.5.112 but your Domain Controller does not have a valid DNS configured. You can either manually set your Domain Controller Pri and Sec DNS as 65.32.5.111 and 65.32.5.112 respectively. (Just for your info, Domain Controller MUST have a static IP configuration) OR

    The preferred and possible best option is
     to Install Active-Directory Integrated DNS on your Domain Controller (Go to Manage Server and Add DNS), Make the DC to point to itself for DNS (192.168.1.222, Pri and 65.32.5.111, sec) and have all the other Machines, Vista etc have their DNS change to 192.168.1.222 (pri) and 65.32.5.111 (sec)


    Isaac Oben MCITP:EA, MCSE

    • Marked as answer by
      Sainath IRP_MJ_CREATE
      Thursday, April 30, 2009 6:37 PM
    • Unmarked as answer by
      Sainath IRP_MJ_CREATE
      Thursday, April 30, 2009 6:37 PM
    • Marked as answer by
      fyathyrio8
      Thursday, April 30, 2009 9:13 PM

Содержание

  1. Ошибка: сбой проверки подлинности Kerberos
  2. Для проверки того, что DNS на целевом компьютере правильно распознает имя главного компьютера:
  3. Проблемы с проверкой подлинности Kerberos, когда пользователь принадлежит к многим группам
  4. Симптомы
  5. Причина
  6. Решение
  7. Вычисление максимального размера маркера
  8. Известные проблемы, влияющие на MaxTokenSize
  9. Ошибка «Неподтверченный etype» при доступе к ресурсу в надежном домене
  10. Симптомы
  11. Причина
  12. Типы шифрования Kerberos
  13. Проверка подлинности NTLM
  14. Решение
  15. Метод 1. Настройка доверия для поддержки шифрования AES128 и AES 256 в дополнение к шифрованию RC4
  16. Метод 2. Настройка клиента для поддержки шифрования RC4 в дополнение к шифрованию AES128 и AES256
  17. Метод 3. Настройка доверия для поддержки шифрования AES128 и AES 256 вместо шифрования RC4
  18. Дополнительная информация
  19. Ошибка проверки подлинности kerberos windows server 2019
  20. Идентификация и доступ в Active Directory
  21. Протокол аутентификации kerberos
  22. Детальная проверка kerberos от начала логирования
  23. Ошибка проверки подлинности kerberos windows server 2019
  24. Спрашивающий
  25. Общие обсуждения
  26. Все ответы

Ошибка: сбой проверки подлинности Kerberos

В ходе удаленной отладки может возникнуть следующее сообщение об ошибке:

Эта ошибка возникает, когда монитор удаленной отладки Visual Studio выполняется от имени учетной записи локальной системы (LocalSystem) или учетной записи сетевой службы (NetworkService). Работая под одной из этих учетных записей, удаленный отладчик должен установить соединение с аутентификацией на основе Kerberos, чтобы иметь возможность возвращать данные главному компьютеру отладчика Visual Studio.

Проверка подлинности Kerberos невозможна при следующих условиях:

Удаленный компьютер или ведущий компьютер с отладчиком включен в рабочую группу, а не в домен.

Служба Kerberos на контроллере домена была отключена.

Если аутентификация на основе Kerberos недоступна, следует сменить учетную запись, от имени которой выполняется монитор удаленной отладки Visual Studio. Инструкции см. в статье Ошибка: службе удаленного отладчика Visual Studio не удается подключиться к этому компьютеру.

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

Для проверки того, что DNS на целевом компьютере правильно распознает имя главного компьютера:

На целевом компьютере войдите в меню Пуск и выберите в меню Стандартные пункт Командная строка.

В окне командной строки введите:

В первой строке ответа ping будет выведено полное имя компьютера и IP-адрес, возвращаемый службой DNS для указанного компьютера.

Источник

Проблемы с проверкой подлинности Kerberos, когда пользователь принадлежит к многим группам

Эта статья поможет вам решить проблемы с ошибкой проверки подлинности Kerberos, когда пользователь принадлежит к многим группам.

Применяется к: Windows 10 — все выпуски, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Исходный номер КБ: 327825

Симптомы

Дополнительные сведения о контексте ошибки см. в ссылке HTTP 400 Bad Request (Запросзагона слишком долго) ответов на запросы HTTP.

В аналогичных условиях Windows проверки подлинности NTLM работает, как и ожидалось. Проблема проверки подлинности Kerberos может возникнуть только при анализе Windows поведения. Однако в таких сценариях Windows не удастся обновить параметры групповой политики.

Такое поведение происходит в любой из поддерживаемых в настоящее время Windows версиях. Сведения о поддерживаемых версиях Windows см. в Windows.

Причина

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

В рамках службы проверки подлинности ExchangeWindows создает маркер для представления пользователя для целей авторизации. Этот маркер (также называемый контекстом авторизации) включает идентификаторы безопасности (SID) пользователя и siD-коды всех групп, к которой принадлежит пользователь. Он также включает все SID-данные, хранимые в атрибуте учетной sIDHistory записи пользователя. Kerberos хранит этот маркер в структуре данных сертификата атрибута привилегий (PAC) в билете Kerberos Ticket-Getting (TGT). Начиная с Windows Server 2012, Kerberos также сохраняет маркер в структуре данных Active Directory Claims (Dynamic Access Control) в билете Kerberos. Если пользователь является членом большого количества групп, и если существует много утверждений для пользователя или используемого устройства, эти поля могут занимать много пробелов в билете.

Маркер имеет фиксированный максимальный размер MaxTokenSize (). Транспортные протоколы, такие как удаленный вызов процедуры (RPC) и HTTP, зависят от значения при выделении буферов MaxTokenSize для операций проверки подлинности. MaxTokenSize имеет следующее значение по умолчанию в зависимости от версии Windows, которая создает маркер:

Как правило, если пользователь принадлежит к более чем 120 универсальным группам, значение по умолчанию не создает достаточно большого буфера для MaxTokenSize удержания информации. Пользователь не может проверить подлинность и может получить сообщение из памяти. Кроме того, Windows не сможет применить параметры групповой политики для пользователя.

Другие факторы также влияют на максимальное число групп. Например, УАИ для глобальных и локальных доменных групп имеют меньшие требования к пространству. Windows Server 2012 и более поздние версии добавляют сведения о претензиях в билет Kerberos, а также сжимаются SID-данные ресурсов. Обе функции изменяют требования к пространству.

Решение

Чтобы устранить эту проблему, обновим реестр на каждом компьютере, который участвует в процессе проверки подлинности Kerberos, включая клиентские компьютеры. Рекомендуется обновить все системы на Windows, особенно если пользователям необходимо войти в несколько доменов или лесов.

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

На каждом из этих компьютеров установите запись реестра для MaxTokenSize большего значения. Эту запись можно найти в HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaKerberosParameters подкайке. Компьютеры должны перезапустить после внести это изменение.

Дополнительные сведения об определении нового значения см. в разделе Вычисление максимального размера маркера MaxTokenSize в этой статье.

Например, рассмотрим пользователя, используюшего веб-приложение, которое опирается на SQL Server клиента. В рамках процесса проверки подлинности клиент SQL Server передает маркер пользователя в SQL Server базу данных. В этом случае необходимо настроить запись реестра на каждом MaxTokenSize из следующих компьютеров:

В Windows Server 2012 (и более поздних версиях) Windows можно войти в журнал события (Event ID 31), если размер маркера преодолеет определенный порог. Чтобы включить такое поведение, необходимо настроить параметр групповой политики Конфигурация компьютераАдминистративные шаблоныSystemKDCWarning для больших билетов Kerberos.

Вычисление максимального размера маркера

TokenSize = 1200 + 40d + 8s

Для Windows Server 2012 (и более поздних версий) эта формула определяет свои компоненты следующим образом:

Windows Сервер 2008 R2 и более ранние версии используют ту же формулу. Тем не менее, в этих версиях число членов группы домена и локальной группы является частью значения d, а не значения s.

Если у вас есть значение 0x0000FFFF (64K), вы можете быть в состоянии буферить примерно MaxTokenSize 1600 D-класса SID или примерно 8000 S-class SIDs. Однако на значение, которое можно безопасно использовать, влияет ряд других факторов, в том числе MaxTokenSize следующие:

Если вы используете доверенные учетные записи делегирования, каждый SID требует в два раза больше места.

Если у вас несколько трастов, настройте эти траста для фильтрации siD-систем. Эта конфигурация снижает влияние размера билета Kerberos.

Если вы используете Windows Server 2012 или более поздний вариант, на требования к пространству SID также влияют следующие факторы:

В 2019 г. Корпорация Майкрософт отправила обновления в Windows, которые изменили конфигурацию неподготовленного делегирования для Kerberos на отключенную. Дополнительные сведения см. в статью Updates to TGT delegation across incoming trusts in Windows Server.

Так как сжатие SID ресурсов широко используется и неконтентированное делегированное число неограниченно, 48000 или больше должны стать достаточными для MaxTokenSize всех сценариев.

Известные проблемы, влияющие на MaxTokenSize

Для большинства реализаций должно быть достаточно значения в MaxTokenSize 48 000 bytes. Это значение по умолчанию в Windows Server 2012 и более поздних версиях. Однако, если вы решите использовать большее значение, просмотрите известные проблемы в этом разделе.

Ограничение размера в 1010 групповых SID для маркера доступа к LSA

Эта проблема аналогична тому, что пользователь, у которого слишком много членов группы, не может проверить подлинность, но расчеты и условия, которые регулируют проблему, отличаются. Например, пользователь может столкнуться с этой проблемой при использовании проверки подлинности Kerberos или Windows проверки подлинности NTLM. Дополнительные сведения см. в статью Ведение журнала учетной записи пользователя, в которую входит более 1010групп, на компьютере на Windows сервере.

Известная проблема при использовании значений MaxTokenSize более 48 000

Для смягчения вектора атаки на службу internet Information Server (IIS) использует ограниченный размер буфера http-запроса в 64 КБ. Билет Kerberos, который является частью http-запроса, закодирован как Base64 (6 битов, расширенный до 8 битов). Таким образом, билет Kerberos использует 133 процента от первоначального размера. Поэтому, если максимальный размер буфера в IIS составляет 64 КБ, билет Kerberos может использовать 48 000 битов.

Если задать запись реестра значению, которое превышает 48000 bytes, и буферное пространство используется для siDs, может возникнуть ошибка MaxTokenSize IIS. Однако если вы установите запись реестра до 48 000 бит и используете пространство для SID-файлов и утверждений, возникает ошибка MaxTokenSize Kerberos.

Известные проблемы при использовании значений MaxTokenSize больше 65 535

Мы также определили, что протокол IKE IPSEC не позволяет BLOB-адресу безопасности быть больше 66 536 битов, и он также не будет иметь значения, когда задавалось большее MaxTokenSize значение.

Источник

Ошибка «Неподтверченный etype» при доступе к ресурсу в надежном домене

Применяется к: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Исходный номер КБ: 4492348

Симптомы

Компьютер в детском домене леса Службы домена Active Directory (AD DS) не может получить доступ к службе, которая находится в другом домене в одном лесу. При запуске сетевого следа на сообщениях на клиентском компьютере и с клиентского компьютера этот след содержит следующие сообщения Kerberos:

На контроллере домена детского домена viewer событий записи следующую запись события 14:

Причина

Эта проблема возникает при настройке домена ребенка (или только клиента) следующим образом:

Типы шифрования Kerberos

Шифрование RC4 считается менее безопасным, чем более новые типы шифрования, AES128-CTS-HMAC-SHA1-96 и AES256-CTS-HMAC-SHA1-96. Руководства по безопасности, такие как руководство по технической реализации Windows 10 безопасности, предоставляют инструкции по повышению безопасности компьютера, настроив его на использование только шифрования AES128 и/или AES256 (см. типы шифрования Kerberos, чтобы предотвратить использование наборов шифрования DES и RC4).

Такой клиент может продолжать подключаться к службам в собственном домене, которые используют шифрование AES128 или AES256. Однако другие факторы могут помешать клиенту подключиться к аналогичным службам в другом доверяемом домене, даже если эти службы также используют шифрование AES128 или AES256.

На очень высоком уровне контроллер домена (DC) отвечает за управление запросами доступа в собственном домене. В рамках процесса проверки подлинности Kerberos dc проверяет, что клиент и служба могут использовать один и тот же тип шифрования Kerberos. Однако, когда клиент запрашивает доступ к службе в другом доверяемом домене, dc клиента должен «передать» клиенту dc в домен службы. Когда dc создает билет на передачу, вместо сравнения типов шифрования клиента и службы, он сравнивает типы шифрования клиента и доверия.

Проблема возникает из-за конфигурации самого доверия. В Active Directory объект домена имеет связанные доверенные объекты домена (TDOs), которые представляют каждый домен, которому он доверяет. Атрибуты TDO описывают отношения доверия, включая типы шифрования Kerberos, поддерживаемые доверием. Связь по умолчанию между детским доменом и родительским доменом — это двунаружное транзитное доверие, которое поддерживает тип шифрования RC4. Оба родительского и детского домена имеют TDOs, которые описывают эту связь, в том числе тип шифрования.

Проверка подлинности NTLM

После сбоя проверки подлинности Kerberos клиент пытается вернуться к проверке подлинности NTLM. Однако если проверка подлинности NTLM отключена, у клиента нет других альтернатив. Поэтому попытка подключения сбой.

Решение

Чтобы устранить эту проблему, используйте один из следующих методов:

Выбор зависит от ваших потребностей в безопасности и необходимости свести к минимуму нарушения или поддерживать обратную совместимость.

Метод 1. Настройка доверия для поддержки шифрования AES128 и AES 256 в дополнение к шифрованию RC4

Этот метод добавляет новые типы шифрования в конфигурацию доверия и не требует изменений для клиента или службы. В этом методе для настройки доверия используется средство командной ksetup строки.

Чтобы настроить тип доверия шифрования Kerberos, откройте окно командной подсказки на домене DC в доверенного домена и введите следующую команду:

В этой команде представлено полностью квалифицированное доменное имя (FQDN) доверяемого домена.

В примере, в котором находится корневой домен (где находится служба) и это детский домен (где находится клиент), откройте окно командной подсказки на dc и введите следующую contoso.com child.contoso.com contoso.com команду:

После завершения этой команды dc может успешно создать переходный билет, который клиент может использовать для child.contoso.com достижения contoso.com dc.

Так как связь между двумя доменами является двунастройным транзитным доверием, настройте другую сторону доверия, открыв окно Командная подсказка на dc и введите child.contoso.com следующую команду:

Дополнительные сведения о средстве ksetup см. в ksetup.

Метод 2. Настройка клиента для поддержки шифрования RC4 в дополнение к шифрованию AES128 и AES256

Этот метод предполагает изменение конфигурации клиента, а не доверия. Вы можете изменить конфигурацию одного клиента или с помощью групповой политики изменить конфигурацию нескольких клиентов в домене. Однако главный недостаток этого изменения конфигурации заключается в том, что если вы отключили шифрование RC4 для повышения безопасности, откат этого изменения может оказаться невозможен.

Полные инструкции по изменению типов шифрования, которые могут использовать клиенты, см. в Windows Конфигурации для поддерживаемого типа шифрования Kerberos.

Метод 3. Настройка доверия для поддержки шифрования AES128 и AES 256 вместо шифрования RC4

Этот метод напоминает метод 1 в том, что вы настраивает атрибуты доверия.

В случае Windows лесных трастов обе стороны доверия поддерживают AES. Поэтому все запросы на билеты в трастах используют AES. Однако сторонний клиент Kerberos, который проверяет билет на реферал, может уведомить вас о том, что в билете используется тип шифрования, который клиент не поддерживает. Чтобы позволить такому клиенту и далее проверять билет, обнови его в поддержку AES.

При использовании этого метода настройте доверие с помощью оснастки Active Directory Domains and Trusts MMC. Чтобы использовать этот метод, выполните следующие действия:

В доменах Active Directory и Trusts перейдите к надежному объекту домена (в contoso.com примере). Щелкните правой кнопкой мыши объект, выберите свойства и выберите трасты.

В поле Домены, которые доверяют этому домену (входящие трасты), выберите доверчивый домен (в child.domain.com примере).

Выберите свойства, выберите другой домен поддерживает шифрование Kerberos AES, а затем выберите ОК. properties of a child domain

Чтобы проверить конфигурацию доверия, выберите Проверка в диалоговом окне доверчивый домен.

В случае доверия в одну сторону доверенный домен перечисляет доверчивый домен как входящий, а доверчивый домен — как исходящую.

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

На вкладке Trusts нажмите кнопку ОК.

Перейдите к объекту домена для доверяемой области ( child.contoso.com ).

Дополнительная информация

Дополнительные сведения о TDOs см. в следующих статьях:

Дополнительные сведения о типах шифрования Kerberos см. в следующих статьях:

Источник

Ошибка проверки подлинности kerberos windows server 2019

kerberos

Добрый день уважаемые читатели, не так давно у меня на работе была задача по настройке групп доступности SQL на Windows кластере, там клиентам сделали красивый веб-инструментарий, все замечательно, теперь клиент ждет следующего развития ситуации, а именно настройка и внедрение механизма Single Sign-On (SSO) или по русски единая точка аутентификация, мы с вами уже с ней знакомились при настройке Vmware vCenter Server. Данный механизм работает на протоколе шифрования kerberos, о котором мы и поговорим. Мы рассмотрим как происходит проверка подлинности kerberos в Active Directory, так как понимание принципов работы, поможет вам в реализации единой точки аутентификации.

Идентификация и доступ в Active Directory

Доменные службы Active Directory (Active Directory Domain Services, AD DS ) обеспечивают идентификацию и доступ (Identity and Access, IDA ) для корпоративных сетей. Давайте посмотрим каким требованиям и критериям должна соответствовать структура IDA:

Протокол аутентификации kerberos

struktura interfeysa SSPI

Именно за счет провайдеров Security Support Provider (SSP) сделан механизм аутентификации. Операционная система Windows уже имеет встроенные модули, но никто не мешает программистам, взять и написать свой и подключить его к SSPI

Протокол аутентификации kerberos пришел на смену устаревшему и уже с точки зрения не безопасному, протоколу NTLM, он был основным до Windows 2000. Протокол Kerberos всегда используется в построении механизмов Single Sign-On. В его основе лежит такой принцип, что если двум участникам известен некий ключ и у них есть возможность подтвердить это, то они смогут однозначно идентифицировать друг друга.

Междоменный ключ (inter-realm key). Этот ключ обеспечивает междоменную аутентификацию и используется для обеспечения доверительных отношений в среде Aсtive Directory.

Ticket (билет) является зашифрованным пакетом данных, который выдается доверенным центром аутентификации, в терминах протокола Kerberos — Key Distribution Center (KDC, центр распределения ключей). TGT шифруется при помощи ключа, общего для служб KDC, то есть клиент не может прочитать информацию из своего билета. Этот билет используется клиентом для получения других билетов.

Сам Ticket-Granting Service состоит из двух вещей, первая это копия сессионного ключа и информация о клиенте. Все эти данные зашифрованы ключом, общим между сервисом к которому идет обращение и KDC. Это означает, что пользователь не сможет посмотреть эти данные, а вот служба или сервер к которому идет обращение да.

Еще очень важным моментом, является тот фактор, что служба KDC, должна точно знать к какому именно сервису идет обращение и каким ключом шифрования производить обработку. Для этого есть такой механизм, как Service Principal Names, по сути это уникальный идентификатор службы, который будет прописан в вашей базе Active Directory. Из требований к нему, он должен быть уникален в рамках леса. Каждая служба, которая будет использовать Kerberos, должна иметь зарегистрированный SPN. Без правильно настроенного идентификатора протокол для этой службы или сервера работать не будет.

Сам SPN будет хранится в атрибуте Service-Principal-Name, у той учетной записи к которой он привязан и под которым стартует служба. Таким образом, SPN связывает воедино все части процесса. Клиент знает, к какой службе он хочет получить доступ. И при запросе ключа он строит строку SPN, к примеру, при помощи функции DsMakeSpn. Сервер KDC, получив эти данные, может найти учетную запись, под которой стартует эта служба, и, используя ключ этой учетной записи из Active Directory, создать билет доступа к службе и зашифровать его этим ключом.

Как производится настройка SPN мною уже была описана в одной из статей.

Детальная проверка kerberos от начала логирования

Давайте еще в картинках я расскажу более детально как происходит проверка подлинности kerberos, от момента ввода пароля пользователем. И так:

proverka podlinnosti kerberos

server kerberos

server kerberos 1

kerberos protokol

proverka podlinnosti kerberos 1

server autentifikatsii kerberos

Источник

Ошибка проверки подлинности kerberos windows server 2019

Этот форум закрыт. Спасибо за участие!

trans

Спрашивающий

trans

Общие обсуждения

trans

trans

Имеется хост-система Windows 10 и установленная на VMware Windows Server 2008 r2 Core. Серверной версии присвоен ip-адрес. С помощью Диспетчера серверов Windows 10 пытаюсь подключиться по ip для удаленного управления, но выдается «Ошибка проверки подлинности Kerberos». Какие действия предпринять?

Все ответы

trans

trans

Сразу оговорюсь, что в делах администрирования я совсем новичок.

Расхождения во времени нет, везде стоит правильное. winrm включен на Windows Server. Какие логи нужно посмотреть? Спасибо.

trans

trans

В RSAT ведь и входит Диспетчер серверов, насколько я понимаю? Проблема была изначально, у меня просто появилась задача подключиться к серверу через этот диспетчер.

Через Управление компьютером > Подключиться к другому компьютеру возникает «Ошибка (5). Отказано в доступе».

Хм, команды dcdiag и repadmin /showrepl не проходят на сервере. Видимо, нужно что-то доустанавливать?

trans

trans

Хм, команды dcdiag и repadmin /showrepl не проходят на сервере. Видимо, нужно что-то доустанавливать?

Эти команды необходимо выполнить на DC а не на рядовом сервере, зайдите на DC локально и выполните и выложите вывод команд

Я не волшебник, я только учусь MCP, MCTS, CCNA. Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку «Предложить как ответ» или «Проголосовать за полезное сообщение». Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий. Блог IT Инженера, Twitter.

trans

trans

Хм, команды dcdiag и repadmin /showrepl не проходят на сервере. Видимо, нужно что-то доустанавливать?

trans

trans

trans

trans

Эти команды необходимо выполнить на DC а не на рядовом сервере, зайдите на DC локально и выполните и выложите вывод команд

trans

trans

trans

trans

trans

trans

У вас dc виртуальный или физический сервер?

trans

trans

Тогда будем пытаться делать вывод из имеющейся информации. Из того, что приведено, подозрительны две вещи:

Они должны быть зарегистрированы на MY-PC

Источник

Понравилась статья? Поделить с друзьями:
  • Ошибка в аудиторском заключении как исправить
  • Ошибка в аудите это непреднамеренное искажение
  • Ошибка в ауди лампочка зачеркнутая
  • Ошибка в ауди контроль стабилизации
  • Ошибка в ауди service due to