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

Коллеги, добрый день!
  • Remove From My Forums
  • Вопрос

  • Коллеги, добрый день!

    С не определенной периодичностью появляются сообщение Аудит отказа от разных пользователей. Блокировка не происходит, аудит включен. Хотелось бы понимать с чем может быть это связано? 

    Сбой предварительной проверки подлинности Kerberos.  4771
    0x40810010

    Запрошен билет службы Kerberos. 4769
    Запрошен билет проверки подлинности Kerberos(TGT). 4768

Ответы

  •  0x18 — это «Pre-authentication information was invalid», что обычно означает неверный пароль.

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

    На всякий случай проверьте репликацию между контроллерами домена, если у вас их несколько (repadmin /replsummary)


    Слава России!

    • Изменено

      27 мая 2019 г. 14:37

    • Помечено в качестве ответа
      Razor1212007
      28 мая 2019 г. 6:51

I have a Windows 10 Pro version 1703 (client) and a Windows Hyper-V Server 2016 (server) both part of the same domain. I am trying to Connect to the Hyper-V Server using Hyper-V Manager from the client. When I attempt to connect I receive the following error
message:

     An error occurred while attempting to connect to server <server name>.  Check that the Virtual Machine Management

     service is running and that you are authorized to connect to the server.

            The operation of computer <computer name> failed:  WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find the computer

          servername.domain.local Verify that the computer exists on the network and that the name provided is spelled correctly.

I did some basic testing and verifying using the following commands:

Test-WSMan -ComputerName <server name>

Test-netConnection <server name> -Port 5985

And the results of these commands were correct.  I was able to duplicate the error I received using this command:

Test-WSMan -ComputerName <server name> -authentication default

It looks like to me the problem might be with DNS, since the error message says «Cannot find the computer».  Is there a way to know what dns query the client is making regarding Kerberos?

Thank you.


-JP

I have a Windows 10 Pro version 1703 (client) and a Windows Hyper-V Server 2016 (server) both part of the same domain. I am trying to Connect to the Hyper-V Server using Hyper-V Manager from the client. When I attempt to connect I receive the following error
message:

     An error occurred while attempting to connect to server <server name>.  Check that the Virtual Machine Management

     service is running and that you are authorized to connect to the server.

            The operation of computer <computer name> failed:  WinRM cannot process the request. The following error occurred while using Kerberos authentication: Cannot find the computer

          servername.domain.local Verify that the computer exists on the network and that the name provided is spelled correctly.

I did some basic testing and verifying using the following commands:

Test-WSMan -ComputerName <server name>

Test-netConnection <server name> -Port 5985

And the results of these commands were correct.  I was able to duplicate the error I received using this command:

Test-WSMan -ComputerName <server name> -authentication default

It looks like to me the problem might be with DNS, since the error message says «Cannot find the computer».  Is there a way to know what dns query the client is making regarding Kerberos?

Thank you.


-JP

Обновлено 03.08.2017

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:

  • Она должна хранить информацию, о всех объектах Active Directory, среди которых: пользователи, группы безопасности, компьютеры, принтеры и другие объекты идентификации. Под объектом идентификации (identity) подразумевается, некое представление сущности, в задачи которой входит выполнение каких-либо действий в корпоративной сети. Простой пример, есть пользователь Вася и он работает с документами в общей папке на сервере. Эти документы имеют защиту на доступ, который определяет список контроля доступа (Access Contro l List, ACL). Доступом у нужным файлам, управляет подсистема безопасности сервера, где лежит папка, и при обращении к ней он производит сравнение объекта идентификации пользователя с теми объектами, которые присутствуют в его списке ACL, и уже на основании этого, он принимает решение предоставить или запретить пользователю доступ. Так как службы, компьютеры, группы и другие объекты выполняют определенные вещи в локальной сети, то у каждого из них есть свой объект идентификации. Данный объект содержит много информации, уникальной для каждого из них, например, имя пользователя, его идентификатор безопасности (Security Identifier, SID), пароль. Так, что хранилище объектов идентификации, является неотъемлемой частью Identity and Access. Все данные в Active Directory, располагаются в каталоге AD, которым управляет контроллер домена.
  • Проверка подлинности объекта идентификации. Тут общий принцип такой, когда пользователь обращается к документу, то сервер его ему не покажет, пока тот, не подтвердит подлинность объекта идентификации, который фигурирует в запросе. Чтобы все это сделать, у пользователя есть некая секретная информация, которая известна ему и инфраструктуре IDA, вот эти данные как раз и сравниваются с теми, что есть в хранилище объектов идентификации в момент проверки подлинности.

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

Чем хороша операционная система Windows, так это тем, что она очень унифицированная, за счет интерфейса SSPI (Security Support Provider Interface). SSPI — это механизм операционной системы Windows в задачи которого идет, предоставление приложениям не зависеть от различных решений протоколов аутентификации, позволяя работать абсолютно с любыми из них, если перефразировать, то любое приложение может использовать любой протокол аутентификации. Еще очень большой плюс интерфейса SSPI, то что он позволяет изолировать сетевой транспорт от протоколов аутентификации, если по простому, то эти протоколы становятся независимыми от протоколов передачи данных по сети,  и приложению вообще до лампочки, какой из них использовать.

структура интерфейса SSPI

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

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

Пользовательский ключ — когда системный администратор заводит новую учетную запись пользователя, значение его пароля используется при создании ключа, он хранится рядом с самим объектом пользователя AD. И как написано выше, это ключ знают контроллер домена и пользователь, две стороны.

Системный ключ — в момент ввода компьютера в домен Active Directory он так же получает свой уникальный пароль, на его основании и создается ключ, все как у пользователя. Еще отмечу, что данный пароль каждый месяц автоматически меняется, поэтому старые компьютеры, которые долго не были включены, не могут пройти аутентификацию в домене, так как потеряны доверительные отношения.

Ключ службы (service key) — тут все просто, очень часто системные администраторы для запуска службы создают отдельного доменного пользователя, в следствии чего служба получит его ключ, но если она запускается под учетной записью системы (LocalSystem), то получит ключ компьютера.

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

  • Давайте рассматривать каким образом происходит проверка подлинности Kerberos в домене Active Directory. И так пользователь или же компьютер, пытаются войти в локальную сеть домена, именно протокол Kerberos удостоверяется в подлинности указанных реквизитов, в следствии чего выдает пакет данных, а точнее билет или тикет (Ticket), по правильному он называется TGT (Ticket Granting Ticket).

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

  • Теперь когда у пользователя или компьютера есть билет TGT, он может его предоставлять любому сервису или ресурсу. В дальнейшем, при обращении к отдельным ресурсам сети, пользователь, предъявляя TGT, получает от KDC удостоверение для доступа к конкретному сетевому ресурсу — Service Ticket (TGS). Данный билет будет идентифицировать прошедшего проверку подлинности пользователя на сервере. Пользователь предоставит TGS билет для доступа к серверу, он его примет и подтвердит прохождение проверки подлинности. Вот тут Kerberos и показывает все свои достоинства, ему требуется лишь один сетевой вход и после получения им билета TGT он проходит проверку подлинности для всего домена целиком, что дает ему возможность получать идентификационные билеты на доступ к службам, не вводя ни каких учетных данных, все эти операции осуществляются за счет встроенных клиентов и служб Kerberos в Kerberos.

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

За счет высокого уровня безопасности протокола Kerberos, при передаче данных вы не увидите пароли или значения хэш в открытом виде. Еще одним требованием к работе с данным протоколом, выступает системное время, которое не может расходится с временем на контроллере домена более чем 5 минут

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

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

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

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

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

  • Человек видит поля ввода логина и пароля у себя на компьютере
  • Компьютер получив от пользователя первичные данные делает запрос к контроллеру домена, а точнее к службе Key Distribution Center, где передает KDC имя пользователя в открытом виде, имя домена и текущее время на рабочей станции, еще раз напоминаю, что оно не должно отличаться от времени на контроллере домена более ,чем на 5 минут. Значение текущего времени передается в зашифрованном виде, и будет выступать аутентификатором. Напоминаю, что ключ шифрования (пользовательский ключ) формируется из пароля пользователя, как результат хеширования.

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

  • Служба KDC видит обращение с компьютера и начинает поиск пользователя в Active Directory, проверяет его пользовательский ключ и расшифровывает аутентификатор, если по русски она получает время отправления запроса. После чего Key Distribution Center создает два тикета. Первый это  сессионный ключ, он нужен для шифрования данных между клиентом и KDC. Второй тикет, это билет на получение билета (Ticket-Granting Ticket (TGT)), как только он появился у пользователя, тот сможет запрашивать тикеты для сервисов и серверов. Сам TGT билет состоит из таких частей: копия ключа сессии, время окончания жизни билета и имя пользователя. TGT шифруется с использованием мастер ключа самой службы Key Distribution Center, поэтому пользователь не может его расшифровать.
  • Как только эти билеты сформированы Key Distribution Center шифрует аутентификатор пользователя (time stamp) и сессионный ключ, с помощью пользовательского ключа и спокойно передает их пользователю.

сервер kerberos

  • Так как у пользователя есть его, пользовательский ключ, он спокойно расшифровывает билеты от Key Distribution Center и проверяет аутентификатор. В итоге он теперь обладает и ключем сессии и TGT ключом, теперь первый этап Kerberos закончен и пользователю больше не нужно в этой сессии заказывать эти билеты.
  • Далее клиент хочет получить доступ на сервис, так как у него уже есть ключ на получение других ключей (TGT), для доступа к сервису он предоставляет KDC, свой Ticket-Granting Ticket и штамп времени, которые шифрует сессионным ключом.
  • KDC получает этот запрос и билеты, расшифровывает их используя свой ключ. Контроллер домена подтверждает, что запрос поступил именно от нужного пользователя.

сервер kerberos

  • Следующим шагом Key Distribution Center, генерирует два тикета (Service Ticket (TGS)), один для обратившегося клиента, а второй для сервиса, к которому клиент обращается. Каждый из тикетов, будет содержать имя пользователя, кто просит доступ, кто должен получить запрос, штамп времени, рассказывающий, когда создан тикет, и срок его жизни, а так же новый ключ Kcs. Kcs — это ключ для сервиса и клиента, в задачи которого входит обеспечение безопасного взаимодействия между ними. Далее KDC шифрует билет сервиса, используя для этого системный ключ сервера и вкладывает этот билет внутрь билета клиента, у которого так же есть свой Kcs ключ.
  • Теперь все это дело шифруется сессионным ключом и передается клиенту.

kerberos протокол

  • Клиент получает билет, расшифровывает его с помощью сессионного ключа и видит свой TGS тикет, и Kcs сервиса, клиент не может прочитать Kcs предназначенный для сервиса

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

  • Теперь клиент формирует штамп времени и шифрует его Kcs ключом, отправляет его вместе с билетом, TGS предназначенным для него.

сервер аутентификации kerberos

  • Когда сервер с сервисом, получает эту информацию, он сразу видит пакет от KDC предназначенный для него с ключом TGS (Kcs). Он расшифровывает им штамп времени от клиента.
  • Так как у обоих участников есть TGS ключ, они могут быть обо уверены, что клиент правильно идентифицирован, т. к. для шифрования маркера времени был использован Kcs .  В случае необходимости ответа сервера клиенту, сервер воспользуется ключом Kcs . Клиент будет знать, что сервер правильно идентифицирован, поскольку сервер должен использовать, чтобы получить Kcs.

Содержание

  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

Источник

  • Remove From My Forums
  • Вопрос

  • Доброго времени суток. Получаю данное сообщение, когда пытаюсь удаленно выполнить команду, типа icm -computername pc1 -scriptblock {Test-Path c:windows} и получаю это:

    [pc1] Сбой подключения к удаленному серверу pc1. Сообщение об ошибке: WinRM не удается обработать запрос. П
    ри использовании проверки подлинности Kerberos возникла следующая ошибка с кодом ошибки 0x80090322: Произошла неизвестн
    ая ошибка безопасности.
     Возможные причины:
      — Указаны неверные имя пользователя или пароль.
      — Используется проверка подлинности Kerberos без указания способа проверки подлинности и имени пользователя.
      — Kerberos принимает имена пользователей домена, но не принимает имена локальных пользователей.
      — Имя субъекта-службы (SPN) для имени и порта удаленного компьютера не существует.
      — Клиентский и удаленный компьютеры находятся в разных доменах, между которыми отсутствует доверительное отношение.
     После проверки указанных выше проблем попробуйте выполнить следующее:
      — Просмотрите в средстве «Просмотр событий» события, относящиеся к проверке подлинности.
      — Измените способ проверки подлинности, добавьте конечный компьютер в конфигурацию TrustedHosts для WinRM либо воспол
    ьзуйтесь транспортом HTTPS.
     Помните о том, что компьютеры в списке TrustedHosts могут не проходить проверку подлинности.
       — Для получения дополнительных сведений о конфигурации WinRM выполните следующую команду: winrm help config. Подробн
    ости см. в разделе справки «about_Remote_Troubleshooting».
        + CategoryInfo          : OpenError: (pc1:String) [], PSRemotingTransportException
        + FullyQualifiedErrorId : -2144108387,PSSessionStateBroken

    ОС ХР, локально и удаленно на 5985 заходит нормально. На комп захожу с правами админа. А вот icm и new-psession, тоже локально и удаленно, нет. Хотелось бы узнать что это ошибка значит и как ее решить? Вывод setspn -L pc1:

    Зарегистрирован ServicePrincipalNames для CN=pc1,DC=com:
            HTTP/pc1.com
            HTTP/pc.1
            WSMAN/pc1
            WSMAN/pc1.com
            HOST/pc1
            HOST/pc1.com
    По IP адресу отрабатывает норм, т.е. dir \10.1.1.1c$ выполняется нормально.

    • Изменено

      8 июня 2015 г. 7:39

Ответы

  • Весьма подозрительное сообщение. Проверьте — с помощью ping, nslookup, nbtstat -a/nbtstat -c (если NetBIOS включен) — не разрешается ли имя PC1 случайно в адрес для PC2?


    Слава России!

    • Помечено в качестве ответа
      Net Ranger
      9 июня 2015 г. 5:37

IIS 6.0

В следующем техническом документе описывается настройка делегирования в Microsoft Windows Server 2003. В документе имеются специальные сведения для балансировки сетевой нагрузки (NLB), но включает прекрасным подробные сведения о настройке делегированные сценарий без использования балансировки сетевой Нагрузки. Чтобы просмотреть этот документ, посетите следующий веб-узел корпорации Майкрософт:

Примечание. Использование имен HTTP участника-службы (SPN), особенно при использовании балансировки сетевой Нагрузки.

Другой популярный Kerberos проблема недавно была необходимость обеспечить для нескольких пулов приложений использовать то же имя DNS. К сожалению при использовании Kerberos для делегирования учетных данных в разных пулах приложений нельзя привязать же имя участника службы (SPN). Это невозможно из-за структуры Kerberos. Протокол Kerberos требует нескольких общих секретов для правильной работы протокола. С помощью того же имени участника-службы для различных пулов приложений, мы исключить один из этих общих секретов.В службе каталогов Active Directory не поддерживает такую настройку протокола Kerberos из-за проблемы безопасности. 

Настройка SPN таким образом вызывает сбой проверки подлинности Kerberos. Возможным способом решения этой проблемы может быть использование протоколов. Первоначальная проверка подлинности между клиентом и сервером под управлением IIS будет обрабатываться с помощью протокола проверки подлинности NTLM. Kerberos будет обрабатывать проверки подлинности между сервером IIS и ресурсов сервера базы данных.

Microsoft Internet Explorer 6 или более поздней версии

Обозреватель клиента могут возникнуть проблемы, например получение повторного входа запрашивает учетные данные или сообщения об ошибке «401 Access Denied» на сервере под управлением служб IIS. Мы нашли следующие две проблемы, которые могут способствовать решению этих проблем:

  • Убедитесь, что в свойствах обозревателя установлен флажок Включить интегрированную проверку подлинности Windows . Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

    299838 не удается согласовать проверку подлинности Kerberos после обновления до Internet Explorer 6

  • Если конфигурация усиленной безопасности Internet Explorer включен в Установка и удаление программ, необходимо добавить узел, использующий делегирования в список надежных узлов . Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

    815141 конфигурация усиленной безопасности Internet Explorer изменяет работу в Интернете

IIS 5.0 и IIS 6.0

После обновления IIS 4.0 до IIS 5.0 или IIS 6.0 делегирования может работать неправильно, или возможно кто-то или приложения был изменен свойство метабазы NTAuthenticationProviders. Дополнительные сведения о том, как устранить эту проблему, щелкните следующий номер статьи базы знаний Майкрософт:

248350 сбой проверки подлинности Kerberos после обновления IIS 4.0 до IIS 5.0

Определенной области проблем может возникнуть при задании имени участника службы

Определение имени сервера

Определите ли вы подключаетесь к веб-узлу, фактические NetBIOS-имя сервера или псевдоним, например имя DNS (например, www.microsoft.com). Если вы обращаетесь к веб-серверу по имени, фактическое имя сервера, новое имя участника службы (SPN) необходимо зарегистрировать с помощью средства Setspn из состава Windows 2000 Server Resource Kit. Поскольку это имя службы неизвестно службе каталогов Active Directory, службы предоставления билетов (TGS) не выдает билет для проверки подлинности пользователя. Это вынуждает клиента используйте следующий метод проверки подлинности, который используется NTLM для повторного согласования. Если веб-сервер отвечает на DNS-имя www.microsoft.com, но сервер с именем webserver1.development.microsoft.com, необходимо зарегистрировать www.microsoft.com в Active Directory на сервере, на котором выполняется под управлением служб IIS. Для этого необходимо загрузить средство Setspn и установить его на сервере, на котором выполняется IIS. 

При использовании Windows Server 2003 и IIS 6 средства Setspn для Microsoft Windows Server 2003 можно загрузить из следующей папки:

Чтобы определить ли вы подключаетесь с помощью фактическое имя, попытайтесь подключиться к серверу с помощью фактическое имя сервера, а не DNS-имя. Если не удается подключиться к серверу, обратитесь к разделу «Проверьте компьютер доверенным для делегирования». 

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

  1. Установите средство Setspn.
  2. На сервере под управлением служб IIS откройте окно командной строки и откройте папку C:Program FilesResource комплект.
  3. Выполните следующую команду, чтобы добавить это новое имя участника службы (www.microsoft.com) в Active Directory для сервера:

    Setspn — HTTP/www.microsoft.com WebServer1

    Примечание. В этой команде WebServer1 представляет NetBIOS-имя сервера.

Появится сообщение, подобное приведенному ниже: 

Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=com
HTTP/www.microsoft.com
Updated object

Чтобы просмотреть список имен SPN на сервере, чтобы видеть это новое значение, введите следующую команду на сервере под управлением служб IIS:

-L Setspn имя_веб-сервера

Обратите внимание, что нет необходимости регистрировать все службы. Многие типы служб, например HTTP, W3SVC, WWW, RPC, CIFS (доступ к файлам), WINS и источники бесперебойного питания (ИБП), укажите сопоставляются с типом службы по умолчанию с именем узла. Например если клиентское программное обеспечение использует имя SPN HTTP/webserver1.microsoft.com, чтобы создать подключение HTTP к веб-серверу на сервере webserver1.microsoft.com, но это имя участника службы не зарегистрирован на сервере, контроллере домена Windows 2000 будут автоматически сопоставляться подключение HOST/webserver1.microsoft.com. Это сопоставление применяется только в том случае, если веб-служба выполняется под локальной системной учетной записью.

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

Если этот сервер IIS входит в состав домена, но не является контроллером домена, компьютер должен быть доверенным для делегирования Kerberos для правильной работы. Чтобы сделать это, выполните следующие действия.

  1. На контроллере домена нажмите кнопку Пуск, выделите пункт Настройкаи выберите пункт Панель управления.
  2. На панели управления откройте Администрирование.
  3. Дважды щелкните Active Directory-пользователи и компьютеры.
  4. Под именем своего домена щелкните компьютеры.
  5. В списке найдите сервер IIS, щелкните правой кнопкой мыши имя сервера и выберите пункт Свойства.
  6. Перейдите на вкладку Общие , установите флажок « Делегирование разрешено » и нажмите кнопку ОК.

Обратите внимание, что при достижении нескольких веб-сайтов по URL-адреса, но другие порты делегирование работать не будет. Чтобы добиться этого, необходимо использовать различные имена узлов и различные имена участников-служб. Когда Internet Explorer запрашивает либо http://www. мой_веб.com или http://www. мой_веб.com:81, Internet Explorer запрашивает билет для SPN HTTP/www.mywebsite.com. Internet Explorer не добавить порт или vdir запрос на имя участника-службы. Данное поведение является одинаковым для http://www. .com/app1мой_вебили http://www. мой_веб.com/app2. В этом случае Internet Explorer запрашивает билет для SPN http://www. .com мой_вебиз центра распространения ключей (KDC). Каждое имя участника-службы могут быть объявлены только для одного идентификатора. Таким образом будет также появляется сообщение об ошибке KRB_DUPLICATE_SPN при попытке объявить это имя участника службы для каждого удостоверения.

Делегирование и Microsoft ASP.NET

Дополнительные сведения о конфигурации для делегирования учетных данных при использовании приложения ASP.NET щелкните следующий номер статьи базы знаний Майкрософт:

Как 810572 настроить приложение ASP.NET для делегирования

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

Понравилась статья? Поделить с друзьями:
  • Ошибка проверки подлинности kerberos windows server 2012 r2
  • Ошибка проверки контрольной суммы файл c windows syswow64 wininet dll
  • Ошибка проверки контрольной суммы файл c windows syswow64 sspicli dll
  • Ошибка проверки контрольной суммы файл c windows syswow64 schannel dll
  • Ошибка проверки контрольной суммы файл c windows system32 wininet dll