Клиент RDP не считает смарт-карту допустимой для проверки подлинности

Я:

  • клиентская машина Windows 7. Я не администратор этой машины.
  • сервер Windows 2008R2, на котором я хочу открыть сеанс с помощью удаленного рабочего стола.
  • на Шлюз Удаленных Рабочих Столов, также работает под управлением Windows 2008R2.
  • смарт-карты.

сервер настроен для разрешения входа смарт-карты. Шлюз также требует проверки подлинности смарт-карты. Все клиенты и серверы знают и доверяют все соответствующие сертификаты CA, никакой сертификат не истек, весь CRL опубликован, где они должны.

самое главное сертификат на смарт-карте есть Расширенное Использование Ключа расширение (EKU), которое не содержит OID "smart card logon". Однако он имеет "аутентификацию клиента". Тем не менее сервер и шлюз настроены на принятие сертификата: этот параметр политики называется " разрешить сертификаты без расширенного ключа атрибут сертификата использования", как описано здесь.

Проблема

клиент использует a .RDP-файл, в котором указаны имя сервера и имя шлюза. Поскольку шлюз является шлюзом, а не фактическими серверами удаленных рабочих столов, он не имеет" экрана входа " для отображения. Вместо этого проверка подлинности смарт-карты использует графический интерфейс, обрабатываемый клиентом (mstsc.exe, стандартный клиент РД в Виндовс) позволить потребителю выбрать его смарт-карта, и введите его пин-код. Вот как должно выглядеть всплывающее окно:

Desired smart card authentication popup

(извините за франкоязычное всплывающее окно; у меня нет англоязычной Windows 7 под рукой.)

к сожалению, это всплывающее окно не выглядит так. Вместо этого я получаю вот что:

Actual smart card authentication popup

анализ

Как рассказали здесь, клиентское приложение (mstsc.exe) позволит ОС (Windows 7) "перечисление" смарт-карт. ОС будет искать смарт-карты, содержащие сертификаты, которые удовлетворяют некоторым критериям, в частности, что любое расширение EKU, найденное в любом таком сертификате, содержит OID "smart card logon". Это делается до того, как вы попытаетесь поговорить со шлюзом, не говоря уже о конечном целевом сервере. Шлюз и сервер были бы совершенно довольны моим сертификатом; они были настроены таким образом. Однако клиент OS обеспечивает то же правила, согласно своей собственной конфигурации. В моем случае Windows 7 отказывается позволить мне использовать мою смарт-карту, потому что ее Локальная политика отклонит ее для открытия локального сеанса (даже если я вообще не пытаюсь открыть локальный сеанс).

это используется для работы с клиентом Windows XP, потому что "всплывающее окно выбора смарт-карты" Windows XP не применяет эти проверки (Windows XP проверяет EKU еще более ограничительным образом, потому что он не допускает отсутствие расширения EKU, но он применяет эти проверки только при попытке открыть локальный сеанс, а не при выборе сертификата для удаленного сеанса).

Решение, Которое Я Не Могу Использовать

"нормальное" решение состоит в том, чтобы настроить локальный клиент (Windows 7) с тем же "разрешить сертификаты без расширенного атрибута сертификата использования ключа" как сервер. Таким образом, всплывающее окно выбора смарт-карты теперь принимает, чтобы показать смарт-карту, и все в порядке. Я проверил его на другой системе. Однако я не могу сделать это в целевых системах, поскольку изменение локальной политики требует прав администратора, которых у меня нет. Точно так же для клиентов, которые являются частью домена, параметр может быть выдвинут из объекта групповой политики на сервере AD, который снова запрещен для меня из-за отсутствия соответствующих привилегий.

можно также сказать, что этот параметр политики фактически разрешает вход в систему на клиентском компьютере с сертификатом, который не имеет надлежащего OID в его EKU, и это можно рассматривать как нежелательный побочный эффект. Я пытаюсь открыть сессию на удаленный сервер; я не должен был менять условия открытия сессии на локальном клиенте.

старый mstsc.версии exe (из Windows XP), по-видимому, могут подключаться к серверу без необходимости проверки подлинности клиента; в этом случае удаленный сервер будет отображать экран входа в систему ("большой сине-зеленый экран") и обрабатывать перечисление смарт-карт себя. Поскольку сервер имеет соответствующую политику, то это будет работать. Однако, я не могу использовать такое решение по двум причинам:

  • mstsc.exe из Windows 7, по-видимому, настаивает на выполнении проверки подлинности с помощью собственных всплывающих окон.
  • есть шлюз, который, в отличие от конечного целевого сервера, не имеет" экрана входа", чтобы показать. При использовании шлюза, требующего проверки подлинности смарт-карты клиента, выбор смарт-карты клиента должны управляться клиентским программным обеспечением.

Вопрос

Так вот мой вопрос: есть ли выход из этой проблемы ? В идеале, какой-то параметр конфигурации, в mstsc.exe (параметр командной строки или предложение в a .RDP-файл), который будет инструктировать mstsc.exe не использовать всплывающее окно выбора смарт-карты ОС, но сделать перечисление самостоятельно, без пытаюсь реализовать что-нибудь о ЭКУ. Я не нашел никаких следов такой особенностью, но отсутствие доказательств не является доказательством отсутствия. Возможно, я просто пропустил это.

16
задан Thomas Pornin
27.01.2023 2:52 Количество просмотров материала 2373
Распечатать страницу

1 ответ

создать .rdp-файл для подключения, Установите enablecredsspsupport:i:0 внутри .RDP-файл и убедитесь, что у вас включена опция смарт-карты для сопоставления локальных ресурсов (по умолчанию она включена, так что это должно быть уже так, если вы явно не изменили настройку.)

см. Следующий раздел для получения более подробной информации: http://blogs.msdn.com/b/rds/archive/2007/01/22/vista-remote-desktop-connection-authentication-faq.aspx#_When_to_use

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

1
отвечен A for A 2023-01-28 10:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх