Присоединение к домену AD с Windows 10 с помощью смарт-карты

Моя Windows "ориентирована на домен" Компания внезапно решила перейти с Windows 7 на Windows 10, и моей задачей стало заставить их подготовленный образ присоединиться к нашему домену с нашей системой аутентификации на основе смарт-карт / токенов. Это была проблема для Windows 7, однако ее легко исправить, построив цепочку доверия сертификатов. Я не отвечал за его полную настройку в Windows 7, поэтому я не уверен в внутренней работе всего процесса Kerberos.

Однако с Windows 10 это был кошмар. Я отразил весь свой процесс от 7 до 10, включая все отсутствующие сертификаты (мы используем netdom для добавления через командную строку с помощью / securepasswordprompt), но что бы я ни делал, мои компьютеры не присоединятся к домену со смарт-картой. Они добавляют без проблем, используя имя пользователя / пароль (без 2FA), но со смарт-картой я получаю следующую ошибку:

Сертификат KDC для контроллера домена не содержит расширенного ключа KDC (EKU): 1.3.6.1.5.2.3.5: код ошибки 0xc0000320. Администратору домена потребуется получить сертификат с KDC EKU для контроллера домена, чтобы устранить эту ошибку. При использовании служб сертификации Windows Server создайте сертификат на основе шаблона проверки подлинности Kerberos.

Насколько я понимаю, этот конкретный OID предназначен для проверки подлинности сервера, а корневые сертификаты и сертификаты CA, которые я добавил в учетную запись компьютера, имеют соответствующие цели. им. Я перешел непосредственно к нашему серверу CA в домене и получил корневые сертификаты вместе со списками отзыва сертификатов, которых у меня не было, но ошибка осталась прежней. Сегодня я больше прочитал и включил раздел реестра отладки Kerberos, и после повторной попытки добавить DC вернул KDC_ERR_ETYPE_NOTSUPP .

Это побудило меня исследовать методы шифрования, используемые между двумя машинами: в Windows 7 включен RC4, AES128 / 256, а в Windows 10 включены только AES128 / 256 и «будущие типы». Естественно, я включил RC4, чтобы обеспечить согласованность между двумя машинами, и я обнаружил, что в журнале событий появилась новая ошибка: KDC_ERR_PREAUTH_REQUIRED - это заставляет меня поверить, что методы шифрования теперь работают в сочетании друг с другом.

Читая онлайн, я обнаружил, что эта ошибка KDC_ERR_PREAUTH_REQUIRED обычно является либо просто предупреждением, либо «ложным срабатыванием», и ее можно проигнорировать (когда машина находится в домене). Перед присоединением к домену эта ошибка означает, что пользователь ввел неправильный пароль (я точно знаю, что моя смарт-карта использует правильный PIN-код), или неверно настроен ключ шифрования между устройством и контроллером домена. Я также отключил Требуется предварительная проверка подлинности Kerberos в моей учетной записи в AD, но когда я попытался добавить машину, на ней возникла ошибка , требуется вход со смарт-картой, и она не использовалась . Я тестировал это с помощью Wireshark и получил ту же ошибку в 4 кадрах в последовательности AS_REQ -> KDC_ERR_PREAUTH_REQ -> AS_REQ -> AS_REP .

После всего этого я не смог выплюнуть другую ошибку, так что я фактически застрял. Я попытался изменить время на компьютере с Windows 10 на часы, опережающие DC, и DC должным образом сообщил, что не смог подключиться из-за временного сдвига, что я ожидал, так что я знаю, что происходит какое-то общение. Я могу выполнить nslookup / ping DC по его полному доменному имени, и я не могу выполнить ping, используя только его имя. Есть ли какой-нибудь другой метод, который я мог бы использовать для исследования этой проблемы, или кто-нибудь сталкивался с этим раньше?

обновление: Изменено PREAUTH_FAILED на PREAUTH_REQUIRED .

update2:

После выполнения захвата Wireshark при присоединении компьютера с Windows 7 к домену я вижу следующий исходный результат шаблона (cli для клиента и srv для сервера):

(cli)AS-REQ
(srv)AS-REP
(cli)TGS-REQ
(srv)TGS-REP
(cli)TGS-REQ
(srv)TGS-REP

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

(cli)AS-REQ
(srv)KRB Error: KRB5KDC_ERR_PREAUTH_REQUIRED
(cli)AS-REQ
(srv)AS-REP

... и здесь журнал останавливается с ошибкой в ​​журнале событий. Я прочитал сообщение, в котором обсуждалось изменение раздела реестра Пакеты безопасности в разделе HKLM \ SYSTEM \ CurrentControlSet \ Control \ LSA , чтобы иметь kerberos msv1_0 schannel wdigest tspkg pku2u , это то, что было на моей машине с Windows 7. На компьютере с Windows 10 было только две кавычки, как "" . Однако добавление этого, похоже, не помогает.

6
задан 7 April 2016 в 17:00
1 ответ

У нас была та же проблема, и мы решили ее, повторно выполнив сертификаты контроллера домена с требуемым KDC EKU. Наши сертификаты контроллеров домена теперь имеют четыре EKU: клиент, сервер, KDC и смарт-карту. Нам также пришлось настроить SAN для сертификатов наших контроллеров домена.

Если вы не хотите этого делать, вы можете поэкспериментировать с отключением параметра «Требовать строгую проверку KDC» на клиенте, чтобы посмотреть, поможет ли это. Кажется, что это не слишком хорошо задокументированное изменение поведения по сравнению с Windows 7, или, по крайней мере, оно не соответствует тому, как параметр задокументирован в электронной таблице / документации параметров групповой политики.

https://technet.microsoft. com / en-us / library / hh831747.aspx

«Строгая проверка KDC - это более строгий набор критериев, который обеспечивает выполнение всех следующих условий:

  • Контроллер домена имеет закрытый ключ для предоставленного сертификата.

  • Для систем, присоединенных к домену, центр сертификации (ЦС), выдавший сертификат KDC, находится в хранилище NTAuth.

  • Для систем, не присоединенных к домену, корневой ЦС сертификата KDC находится в стороннем корне Хранилище доверенных корней CA или смарт-карты.

  • Сертификат KDC имеет KDC EKU.

  • Поле DNSName сертификата KDC расширения subjectAltName (SAN) соответствует DNS-имени домена.

Для Smart, не присоединенного к домену карты, требуется строгая проверка KDC.

Чтобы отключить это поведение по умолчанию, di Соблюдайте настройку групповой политики Требовать строгую проверку KDC ».


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

Что нового в аутентификации Kerberos
https://technet.microsoft.com/en-us/library/hh831747 (v = ws. 11) .aspx

Изменения по умолчанию для строгой проверки KDC

«Для входа со смарт-картой без присоединения к домену требуется строгая проверка KDC.

» Чтобы отключить это поведение по умолчанию, отключите параметр групповой политики Требовать строгий Проверка KDC "

1
ответ дан 3 December 2019 в 00:42

Теги

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