
Если хост Windows имеет несколько сертификатов RDP. Все ли проверяются при подключении или только первый найденный?
У меня есть сертификаты RDP, развернутые из корневого центра сертификации с теперь недействительным расположением OCSP в AIA. Подключение к каждому хосту теперь занимает, очевидно, больше времени для проверки недействительного адреса OCSP. Я бы развернул дополнительные действительные сертификаты RDP, но не уверен, как он обрабатывает оба сертификата. Если я прав, то он не будет проверять просроченные сертификаты.
Но будет ли он проверять все сертификаты RDP, если они не просрочены, а затем, конечно, все равно сообщать о недействительном OCSP?
Я надеюсь, что каким-то образом его удовлетворит один полностью действительный сертификат RDP.
Под RDP-сертификатом я подразумеваю сертификат с расширенным использованием ключа со значением «1.3.6.1.4.1.311.54.1.2».
решение1
Если вы в настоящее время не развертываете их через групповую политику, я рекомендую вам это сделать.Эта статьяописывает, как создать пользовательский шаблон сертификата и объект групповой политики, чтобы ваши серверы регистрировали и привязывали правильный сертификат.
Причина, по которой я предлагаю это - если у вас есть внутренний CA - в том, что может быть чище просто заменить имеющиеся у вас сертификаты, используя GPO для принудительного выполнения. Если у вас уже есть такая настройка, то настройка шаблона сертификата и выбор опции принудительной повторной регистрации всех клиентов может заставить их получить и привязать новый сертификат.
Чтобы ответить на вашфактический вопрос, если у вас есть несколько действительных сертификатов с правильным EKU, я считаю, что RDP привяжется к сертификату, который имеетсамый длинный интервал действияleft (я провел краткий поиск, но не могу найти ссылку на это прямо сейчас). Возможно, стоит найти несколько машин в такой ситуации и проверить, какой отпечаток сертификата используется для RDP, а также какие действительные сертификаты находятся в хранилище.
Это одна из причин, по которой я предлагаю выдавать новые сертификаты по всем направлениям — если они новее/должны работать дольше, RDP должен привязываться к ним, а не к тем, у которых неверный OSCP. Если это кажется последовательным, надеюсь, это позволит избежать необходимости писать скрипт решения для принудительного привязывания локального сертификата. По моему опыту, обновление/повторный выпуск действительного сертификата работает без дополнительных шагов.
решение2
Кажется, можно принудительно привязать сертификат для RDP-подключения. (Благодарности парню на Reddit)
Это проверяет текущий привязанный сертификат:
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Get SSLCertificateSHA1Hash
И это может установить его:
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="<THUMBPRINT>"
Если установка нового сертификата не работает через wmic, вы также можете отредактировать запись реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
- Имя значения: SSLCertificateSHA1Hash
- Тип значения: REG_BINARY
- Данные о значении: (отпечаток сертификата)
Будьте осторожны! Установка недействительного сертификата делает невозможным новое RDP-подключение.