Отключить проверку сертификатов rdp windows server 2019

Обновлено: 07.07.2024



Привет Хабр, это супер короткое и простое руководство для новичков о том, как подключаться по RDP по доменному имени, чтобы не вылезало назойливое предупреждение о сертификате, подписанным самим сервером. Нам понадобится WinAcme и домен.

Все, кто хоть раз пользовался RDP, видели эту надпись.


В руководстве приведены готовые команды для пущего удобства. Скопировал, вставил и заработало.

Так вот, это окно можно в принципе пропустить, если выдать сертификат подписанный сторонним, трастовым центром сертификации. В данном случае, Let’s Encrypt.

1. Добавляем А запись


Просто добавляем A запись и вписываем в неё IP адрес сервера. На этом работа с доменом окончена.

2. Качаем WinAcme

Качаем WinAcme с их сайта. Архив лучше всего распаковать туда, куда вы не доберетесь, исполняемые файлы и скрипты вам еще пригодятся в будущем для автоматического обновления сертификата. Лучше всего вытряхнуть архив в C:\WinAcme\.

3. Открываем 80 порт


4. Разрешаем выполнение скриптов

Чтобы WinAcme смог без проблем импортировать новый сертификат, нужно разрешить выполнение скриптов. Для этого переходив в папку /Scripts/


Перед запуском WinAcme нам нужно разрешить выполнение двух скриптов. Для этого двойным кликом запустите PSRDSCerts.bat из папки со скриптами.

5. Устанавливаем сертификат


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


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

Проверка состояния протокола RDP

Проверка состояния протокола RDP на локальном компьютере

Сведения о том, как проверить и изменить состояние протокола RDP на локальном компьютере, см. в разделе How to enable Remote Desktop (Как включить удаленный рабочий стол).

Проверка состояния протокола RDP на удаленном компьютере

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

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

Редактор реестра, в котором отображается запись fDenyTSConnections

  1. Сначала откройте меню Пуск и выберите Выполнить. В появившемся текстовом поле введите regedt32.
  2. В редакторе реестра нажмите Файл и выберите пункт Подключить сетевой реестр.
  3. В диалоговом окне Выбор: "Компьютер" введите имя удаленного компьютера, выберите Проверить имена и нажмите кнопку ОК.
  4. Перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server и в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.
    • Если раздел fDenyTSConnections имеет значение 0, значит протокол RDP включен.
    • Если раздел fDenyTSConnections имеет значение 1, значит протокол RDP отключен.
  5. Чтобы включить протокол RDP, для fDenyTSConnections замените значение 1 на 0.

Проверка блокировки объектом групповой политики протокола RDP на локальном компьютере

Если не удается включить протокол RDP в пользовательском интерфейсе или для fDenyTSConnections возвращается значение 1 после его изменения, объект групповой политики может переопределять параметры на уровне компьютера.

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

Когда команда будет выполнена, откройте файл gpresult.html. Выберите Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Подключения и найдите политику Разрешить пользователям удаленное подключение с использованием служб удаленных рабочих столов.

Если для параметра этой политики задано значение Включено, групповая политика не блокирует подключения по протоколу RDP.

Пример сегмента gpresult.html, в котором показано, что объект групповой политики на уровне домена Block RDP блокирует протокол RDP.

Если же для параметра этой политики задано значение Отключено, проверьте результирующий объект групповой политики. Ниже показано, какой объект групповой политики блокирует подключения по протоколу RDP.

Пример сегмента gpresult.html, в котором объект групповой политики уровня домена Local Group Policy блокирует протокол RDP.

Проверка блокировки объектом групповой политики протокола RDP на удаленном компьютере

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

В файле (gpresult-<computer name>.html), который создается после выполнения этой команды, используется такой же формат данных, как в версии файла для локального компьютера (gpresult.html).

Изменение блокирующего объекта групповой политики

Эти параметры можно изменить в редакторе объектов групповой политики (GPE) и консоли управления групповыми политиками (GPM). Дополнительные сведения об использовании групповой политики см. в статье Advanced Group Policy Management (Расширенное управление групповыми политиками).

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

  • В GPE укажите определенный уровень для объекта групповой политики (локальный или доменный) и выберите Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удаленных рабочих столов > Узел сеансов удаленных рабочих столов > Подключения > Разрешить пользователям удаленное подключение с использованием служб удаленных рабочих столов.
    1. Задайте для политики значение Включена или Не задана.
    2. На затронутых компьютерах откройте окно командной строки с правами администратора и выполните команду gpupdate /force.
  • В GPM перейдите к подразделению, в котором блокирующая политика применяется к соответствующим компьютерам, и удалите эту политику.

Проверка состояния служб RDP

На локальном компьютере (клиентском) и удаленном компьютере (целевом) должны быть запущены следующие службы:

  • службы удаленных рабочих столов (TermService);
  • перенаправитель портов пользовательского режима служб удаленного рабочего стола (UmRdpService).

Для локального или удаленного управления службами можно использовать оснастку MMC. Вы также можете использовать PowerShell для управления службами в локальном или удаленном расположении (если удаленный компьютер настроен для приема удаленных командлетов PowerShell).

Службы удаленных рабочих столов в оснастке MMC "Службы" Не изменяйте параметры служб, заданные по умолчанию.

На любом компьютере запустите одну или обе службы, если они запущены.

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

Проверка состояния прослушивателя протокола RDP

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

Проверка состояния прослушивателя RDP

Для выполнения этой процедуры используйте экземпляр PowerShell с разрешениями администратора. На локальном компьютере также можно использовать командную строку с разрешениями администратора. Но для этой процедуры используется PowerShell, так как одни и те же командлеты выполняются локально и удаленно.

Чтобы подключиться к удаленному компьютеру, выполните следующий командлет:

Команда qwinsta выводит список процессов, которые ожидают передачи данных через порты компьютера.

Введите qwinsta.

Если в списке содержится rdp-tcp с состоянием Listen, прослушиватель протокола удаленного рабочего стола работает. Перейдите к разделу Проверка порта прослушивателя протокола RDP. В противном случае перейдите к шагу 4.

Экспортируйте конфигурацию прослушивателя RDP с рабочего компьютера.

  1. Войдите на компьютер с той же версией операционной системы, что и у затронутого компьютера, и получите доступ к реестру компьютера (например, с помощью редактора реестра).
  2. Перейдите к следующей записи реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  3. Экспортируйте запись в REG-файл. Например, в редакторе реестра щелкните запись правой кнопкой мыши, выберите пункт Экспортировать, а затем введите имя файла для экспортируемых параметров.
  4. Скопируйте экспортированный REG-файл на затронутый компьютер.

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

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

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

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

Замените <filename> именем экспортированного REG-файла.

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

Проверка состояния самозаверяющего сертификата протокола RDP

Сертификаты удаленного рабочего стола в оснастке MMC "Сертификаты".

  1. Если подключиться так и не удалось, откройте оснастку MMC "Сертификаты". Когда будет предложено выбрать хранилище сертификатов для управления, выберите Учетная запись компьютера и затронутый компьютер.
  2. В папке Сертификаты в разделе Удаленный рабочий стол удалите самозаверяющий сертификат протокола RDP.
  3. На затронутом компьютере выполните следующие действия, чтобы перезапустить службу удаленных рабочих столов.
  4. Обновите оснастку диспетчера сертификатов.
  5. Если самозаверяющий сертификат протокола RDP не был создан повторно, проверьте разрешения для папки MachineKeys.

Проверка разрешений для папки MachineKeys

  1. На затронутом компьютере откройте проводник и перейдите к папке C:\ProgramData\Microsoft\Crypto\RSA\ .
  2. Щелкните правой кнопкой мыши папку MachineKeys, а затем выберите Свойства, Безопасность и Дополнительно.
  3. Убедитесь, что настроены следующие разрешения:
    • Builtin\Администраторы: Полный доступ
    • Все: чтение и запись.

Проверка порта прослушивателя протокола RDP

На локальном компьютере (клиентском) и удаленном компьютере (целевом) прослушиватель протокола RDP должен ожидать передачи данных через порт 3389. Другие приложения не должны использовать этот порт.

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

Чтобы проверить или изменить порт протокола RDP, используйте редактор реестра:

Подраздел PortNumber для протокола RDP.

  1. Откройте меню Пуск, выберите Выполнить и введите regedt32 в появившемся текстовом поле.
    • Чтобы подключиться к удаленному компьютеру, в редакторе реестра щелкните Файл и выберите пункт Подключить сетевой реестр.
    • В диалоговом окне Выбор: "Компьютер" введите имя удаленного компьютера, выберите Проверить имена и нажмите кнопку ОК.
  2. Откройте реестр и перейдите к записи HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\<listener> .
  3. Если PortNumber имеет значение, отличное от 3389, укажите значение 3389.

Для управления службами удаленного рабочего стола можно использовать другой порт. Но мы не рекомендуем делать это. В этой статье не описано, как устранять проблемы, связанные с этим типом конфигурации.

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

Для выполнения этой процедуры используйте экземпляр PowerShell с разрешениями администратора. На локальном компьютере также можно использовать командную строку с разрешениями администратора. Но для этой процедуры используется PowerShell, так как одни и те же командлеты выполняются локально и удаленно.

Откройте окно PowerShell. Чтобы подключиться к удаленному компьютеру, введите Enter-PSSession -ComputerName <computer name> .

Введите следующую команду:

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

Найдите запись для TCP-порта 3389 (или назначенного RDP-порта) с состоянием Ожидает вызова.

Идентификатор процесса службы или процесса, использующих этот порт, отобразится в столбце "Идентификатор процесса".

Чтобы определить, какое приложение использует порт 3389 (или назначенный порт протокола RDP), введите следующую команду:

Команда tasklist выводит данные об определенном процессе.

Найдите запись для номера процесса, связанного с портом (в выходных данных netstat). Службы или процессы, связанные с этим идентификатором процесса, отобразятся в столбце справа.

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

  • В настройках такого приложения или службы укажите другой порт (рекомендуется).
  • Удалите другое приложение или службу.
  • В настройках протокола RDP укажите другой порт, а затем перезапустите службы удаленных рабочих столов (не рекомендуется).

Проверка блокировки порта протокола RDP брандмауэром

С помощью средства psping проверьте, доступен ли затронутый компьютер через порт 3389.

Откройте окно командной строки с правами администратора, перейдите в каталог, где установлено средство psping, и введите следующую команду:

Проверьте выходные данные команды psping на наличие таких результатов:

  • Подключение к <computer IP>: удаленный компьютер доступен.
  • (0% loss) (0 % потерь): все попытки подключения выполнены успешно.
  • The remote computer refused the network connection (Удаленный компьютер отклонил сетевое подключение): удаленный компьютер недоступен.
  • (100% loss) (100 % потерь): не удалось выполнить подключение.

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

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

8 мая 2018 г. Microsoft выпустило обновление, которое предотвращает удаленное выполнение кода с помощью уязвимости в протоколе CreedSSP.

После установки данного обновление пользователи не могут подключиться к удаленным ресурсам посредством RDP или RemoteApp. При подключении происходит такая ошибка:

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

Рисунок 1 - Ошибка проверки подлинности RDP

Появление ошибки обусловлено установкой данных обновлений безопасности:

  • Windows Server 2016 — обновление KB4103723
  • Windows 10 1609 — обновление KB4103723
  • Windows 10 1703 — обновление KB4103731
  • Windows 10 1709 — обновление KB4103727
  • Windows 10 1803 — обновление KB4103721
  • Windows 7 / Windows Server 2008 R2 — обновление KB4103718
  • Windows 8.1 / Windows Server 2012 R2 — обновление KB4103725

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

Вариант №1: Убираем проверку подлинности.

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

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

Рисунок 2 - Проверка подлинности

Вариант №2 (рекомендуемый): Обновление клиентских и серверных ОС.

Устанавливаем специально выпущенные патчи обновления, которые закрыли уязвимость в RDP-клиенте. Данные обновления можно посмотреть на сайте Microsoft. После установки данного обновления, мы обновляем CredSSP.

Вариант №3: Через групповые политики.

Локально заходим в групповые политики устройства, к которому пытаемся подключиться. Для того чтобы открыть редактор групповых политик выполним следующее действие: Нажимаете Win+R, а затем введите gpedit.msc. Переходите по данному пути: Конфигурация компьютера > Административные шаблоны > Система > Передача учетных данных > Защита от атак с использованием криптографического оракула.

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

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

Вариант №4. Редактирование реестра.

Локально заходим на устройство, к которому пытаемся подключиться и нажимаем Win+R. Вводим regedit. После того, как откроется редактор реестра идем по следующему пути:

Затем находим параметр AllowEncryptionOracle, открываем его и ставим значение 2.

После выполнения данных действий с реестром выполняем перезагрузку устройства.

Протокол RDP широко используется в корпоративных Microsoft инфраструктурах для осуществления удаленных подключений к целевым системам. Его защита состоит из многих пунктов, один из которых — это использование TLS для RDP подключений. В этой заметке будет рассмотрен процесс конфигурирования данной возможности. Для этого потребуется развернутые инфраструктуры Active Directory Domain Services и Active Directory Certificate Services. Поехали.

Создание шаблона сертификата RDP в ADCS

Первый шаг состоит в создании шаблона сертификата, с помощью которого Windows клиенты будут автоматически генерировать сертификаты используемые в RDP подключениях. Для этого в оснастке ADCS переходим к управлению шаблонами сертификатов:

Открытие оснастки управления шаблонами ADCS

Открытие оснастки управления шаблонами ADCS

Дублируем сертификат Computer

Дублирование шаблона компьютера

Дублирование шаблона компьютера

Задаем имя будущего шаблона:

Задание имени шаблона RDP

Задание имени шаблона RDP

Указываем настройки совместимости:

Настройка совместимости шаблона сертификата RDP

Настройка совместимости шаблона сертификата RDP

В Extensions, необходимо задать правильные Application Policies для поддержки TLS в RDP протоколе

Редактирование расширений шаблона сертификата RDP

Редактирование расширений шаблона сертификата RDP

Для этого удаляем Client Authentication и Server Authentication и добавляем Remote Desktop Authentication с OID 1.3.6.1.4.1.311.54.1.2, как показано на скриншоте:

Создание Application Policy для сертификата RDP

Создание Application Policy для сертификата RDP

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

Настройки безопасности шаблона сертификата RDP

Настройки безопасности шаблона сертификата RDP

Завершающим шагом будет его выпуск на выдающем корпоративном ЦС:

Выпуск сертификата RDP

Выпуск сертификата RDP

Создание групповой политики для RDP подключений

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

  1. Задание имени шаблона сертификата для использования в RDP подключениях;
  2. Задание типа шифрования RDP подключений;
  3. Конфигурирование автоматического выпуска сертификатов.

Задание имени шаблона сертификата для использования в RDP подключениях

В экземпляре групповой политики переходим в Computer Configuration -> Policies -> Administrative Template -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security и выбираем Server authentication certificate template. Задаем имя шаблона который был создан ранее:

Задание имени шаблона для использования в RDP подключениях

Задание имени шаблона для использования в RDP подключениях

Задание типа шифрования RDP подключений

Переходим в Computer Configuration -> Policies -> Administrative Template -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security и выбираем Require use of specific layer for remote (RDP) connection. Указываем использование SSL:

Задание уровня безопасности RDP подключений

Задание уровня безопасности RDP подключений

Конфигурирование автоматического выпуска сертификатов

Настройка политики автоматического выпуска сертификатов

Настройка политики автоматического выпуска сертификатов

Проверка работоспособности

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

  1. Отсутствие в правильной группе безопасности, которая указана в шаблоне;
  2. Отсутствие к ЦС необходимых сетевых портов от клиента. Напомню, это tcp/135 (RPC) и динамические порты tcp/49152—65535.

Проверить что сертификат был успешно выпущен можно в консоли ADCS:

Успешно выданный сертификат RDP

Успешно выданный сертификат RDP

Проверка правильности сертификата в RDP подключении

Проверка правильности сертификата в RDP подключении

На этом все. Если у вас возникли какие-либо вопросы, пожалуйста, пишите в комментарии.

Читайте также: