Rdp по сертификату windows 10

В этой статье мы покажем, как использовать доверенные SSL/TLS сертификаты для защиты RDP подключений к компьютерам и серверам Windows в домене Active Directory. Эти сертфикаты мы будем использовать вместо самоподписанных RDP сертификатов (у пользователей появляется предупреждение о невозможности проверки подлинности при подключению к RDP хосту с таким сертификатом). В этом примере мы настроим специальный шаблон для выпуска RDP сертификатов в Certificate Authority и настроим групповую политику для автоматического выпуска и привязки SSL/TLS сертификата к службе Remote Desktop Services.

Содержание:

  • Предупреждение о самоподписанном сертификате RDP
  • Создаем шаблон RDP сертификата в центре сертификации (CA)
  • Настройка групповой политики для выдачи RDP сертификатов
  • Подписываем RDP файл и добавляем отпечаток доверенного RDP сертификата

Предупреждение о самоподписанном сертификате RDP

По умолчанию в Windows для защиты RDP сессии генерируется самоподписанный

сертификат. В результате при первом подключении к RDP/RDS серверу через клиента mstsc.exe, у пользователя появляется предупреждение:

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

Чтобы продолжить установление RDP подключении пользователь должен нажать кнопку Да. Чтобы RDP предупреждение не появлялось каждый раз, можно включить опцию “Больше не выводить запрос о подключениях к этому компьютеру».
rdp подключение Ошибка сертификата: сертификат выдан не имеющим доверия центром сертификации

При этом отпечаток RDP сертификата сохраняется на клиенте в параметре CertHash в ветке реестра с историей RDP подключений (HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\). Если вы скрыли уведомление о невозможности проверить подлинность RDP сервера, чтобы сбросить настройки, удалите ключ с отпечатком сертификата из реестра.

отпечаток RDP сертфиката хранится на клиенте в реестре

Несмотря на то, что для подключения используется самоподписанный сертификат, ваше RDP подключение защищено, а трафик зашифрован.

Создаем шаблон RDP сертификата в центре сертификации (CA)

Попробуем использовать для защиты RDP подключений доверенный SSL/TLS сертификат, выданный корпоративным центром сертификации. С помощью такого сертификата пользователь может выполнить проверку подлинности RDP сервера при подключении. Предположим, что у вас в домене уже развернут корпоративной центр сертификации (Microsoft Certificate Authority), в этом случае вы можете настроить автоматическую выдачу и подключение сертификатов всем компьютерам и серверам Windows в домене.

Н на вашем CA нужно создать новый тип шаблона сертификата для RDP/RDS серверов.

  1. Запустите консоль Certificate Authority и перейдите в секцию Certificate Templates;
  2. Сделайте копию шаблона сертификата Computer (Certificate Templates -> Manage -> Computer -> Duplicate);
    Microsoft Certificate Authority создать новый шаблон сертфиката для компьютеров и серверов
  3. На вкладке General укажите имя нового шаблона сертификата – RDPTemplate. Убедитесь, что значение поля Template Name полностью совпадает с Template display name;
    RDPTemplate - новый шаблон сертфиката для RDP подключений
  4. На вкладке Compatibility укажите минимальную версию клиентов в вашем домене (например, Windows Server 2008 R2 для CA и Windows 7 для клиентов). Тем самым будут использоваться более стойкие алгоритмы шифрования;
  5. Теперь на вкладке Extensions в политике приложений (Application policy) нужно ограничить область использования такого сертификата только для Remote Desktop Authentication (укажите следующий object identifier — 1.3.6.1.4.1.311.54.1.2). Нажмите Add -> New, создайте новую политику и выберите ее;
    политика сертфиката - для Remote Desktop Authentication
  6. В настройках шаблона сертификата (Application Policies Extension) удалите все политики кроме Remote Desktop Authentication;шаблон сертификата Remote Desktop Authentication
  7. Чтобы использовать данный шаблон RDP сертификатов на контролерах домена, откройте вкладку Security, добавьте группу Domain Controllers и включите для нее опцию Enroll и Autoenroll;
    права для авто выпуска сертификатов rdp
  8. Сохраните шаблон сертификата;
  9. Теперь в оснастке Certificate Authority, щёлкните по папке Certificate Templates, выберите New -> Certificate Template to Issue -> выберите созданный шаблон RDPTemplate.
    новый шаблон сертфикатов в CA для rdp

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

Теперь нужно настроить доменную политику, которая будет автоматически назначать RDP сертификат компьютерам/серверам согласно настроенного шаблона.

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

  1. Откройте консоль управления доменными групповыми политиками gpmc.msc, создайте новый объект GPO и назначьте его на OU с RDP/RDS серверами или компьютерами, для которых нужно автоматически выдавать TLS сертификаты для защиты RDP подключения;
  2. Перейдите в раздел GPO: Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security. Включите политику Server Authentication Certificate Template. Укажите имя шаблона CA, который вы создали ранее (RDPTemplate);
    политика RDP сертификата Server Authentication Certificate Template
  3. Затем в этом же разделе GPO включите политику Require use of specific security layer for remote (RDP) connections и установите для нее значение SSL;политика Require use of specific security layer for remote (RDP) connections
  4. Для автоматического продления RDP сертификата, перейдите в раздел GPO Computer configuration -> Windows settings -> Security Settings -> Public Key Policies и включите политику Certificate Services Client – Auto-Enrollment Properties. Выберите опции “Renew expired certificates, update pending certificates and remove revoked certificates” и “Update certificates that use certificate templates”;
    политика автопродления сертфиката Certificate Services Client – Auto-Enrollment Properties
  5. Если вы хотите, чтобы клиенты всегда проверяли сертификат RDP сервера, вам нужно настроить политику Configure Authentication for Client = Warn me if authentication fails (секция GPO Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Settings -> Remote Desktop Connection Client);
  6. Если нужно, можете через политики файервола открыть входящий RDP порт TCP/UDP 3389;
  7. Осталось обновить политики на клиенте, запустить консоль сертификатов компьютера (Certlm.msc), и проверить, что в разделе Personal -> Certificates появился сертификат для Remote Desktop Authentication, выданный вашим CA.

    Если политики не применились, для диагностики GPO воспользуйтесь утилитой gpresult и этой статьей.

    TLS сертфикат для Remote Desktop Authentication

Для применения нового RDP сертификата, перезапустите службу Remote Desktop Services:

Get-Service TermService -ComputerName msk-dc01| Restart-Service –force –verbose

Теперь при RDP подключении к серверу перестанет появляться запрос на доверие сертификату (чтобы появился запрос о доверии сертификату, подключитесь к серверу по IP адресу вместо FQDN имени сервера, для которого выпущен сертификат). Нажмите кнопку “Посмотреть сертификат”, перейдите на вкладку “Состав”, скопируйте значение поля “Отпечаток сертификата”.
проверка rdp подключения с новым сертфикатом

Также можете в консоли Certification Authority в секции Issued Certificates проверить, что по шаблону RDPTemplate был выдан сертификат определённому Windows компьютеру/серверу. Также проверьте значение Thumbprint сертификата:

Thumbprint у сертфиката

Теперь сравните полученные данные с отпечатком сертификата, который используется службой Remote Desktop Service. Вы можете посмотреть значение отпечатка сертификата службы RDS в реестре (ветка HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations, параметр TemplateCertificate) или командой PowerShell:
Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select SSLCertificateSHA1Hash

получить отпечаток rdp сертификата

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

Подписываем RDP файл и добавляем отпечаток доверенного RDP сертификата

Если у вас отсутствует CA, но вы хотите, чтобы при подключении к RDP/RDS серверу у пользователей не появлялось предупреждения, вы можете добавить сертификат в доверенные на компьютерах пользователей.

Как описано выше получите значение отпечатка (Thumbprint) RDP сертификата:

Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices|select|select SSLCertificateSHA1Hash

Используйте этот отпечаток для подписывания .RDP файла с помощью RDPSign.exe:

rdpsign.exe /sha256 65A27B2987702281C1FAAC26D155D78DEB2B8EE2 "C:\Users\root\Desktop\rdp.rdp"

Теперь через GPO добавим этот отпечаток сертификата в доверенные у пользователей. Укажите отпечатки (через точку с запятою) в политике Specify SHA1 thumbprints of certificates representing trusted .rdp publishers (Указать отпечатки SHA1 сертификатов, представляющих доверенных издателей RDP) в секции Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Settings -> Remote Desktop Connection Client.

политика Указать отпечатки SHA1 сертификатов, представляющих доверенных издателей RDP

Чтобы работал прозрачных RDP вход без ввода пароля (RDP Single Sign On), нужно настроить политику Allow delegation defaults credential и указать в ней имена RDP/RDS серверов (см. статью).

You can set this host machine to use and present your (existing) externally-verified SSL certificate thus (instructions probably also work for Windows 8 & 8.1, may or may not work for Windows 7) (parts of this based on a Microsoft KB 2001849):

First, you need to have a genuine verified ssl certificate, whether one you purchased or a free one from e.g. LetsEncrypt.

If you have this certificate in pkcs12 format file (e.g. pfx extension) you can view SHA1 fingerprint using Linux or Cygwin thus (you will need it below):

openssl pkcs12 -in mysite.pfx -nodes|openssl x509 -noout -fingerprint

Alternatively if you have the individual certificate files in your Linux server at /etc/ssl (/etc/ssl/certs/mysite.crt, /etc/ssl/mysite.ca-bundle and /etc/ssl/private/mysite.key) you can create pfx file and obtain SHA1 fingerprint thus:

  1. Create pfx file for your certificate, if you don’t already have one (here: mysite.pfx) – set a good password when requested:

    sudo openssl pkcs12  -export -out mysite.pfx -inkey /etc/ssl/private/mysite.pem -in /etc/ssl/certs/mysite.crt -certfile /etc/ssl/mysite.ca-bundle
    
  2. Move or copy this pfx file as required so that it is accessible by your Windows host machine.

  3. View SHA1 fingerprint of the key (you will need this below):

openssl x509 -in /etc/ssl/certs/mysite.crt -noout -fingerprint

Import pkcs12 format (e.g. pfx) file into Windows host machine’s personal certificates store:

  1. Start > Run > mmc
  2. File > Add Remove Snap-in > Certficates > Add > Computer Account > Local Computer > OK
  3. In the left-hand window right-click on Certificates (Local Computer)Personal, choose All Tasks/Import…
  4. Locate the pfx file and import it, I suggest that for security reasons you don’t make it exportable.
  5. Expanding your Personal/Certificates you should now see 3 certificates, one of which is your site certificate (e.g. mysite.com). Right-click on this site certificate and right-click, choose All Tasks / Manage Private Keys…
  6. Add user ‘NETWORK SERVICE’ with Read permission only (not Full Control), then Apply
  7. Close mmc

Use regedit to add a new Binary Value called SSLCertificateSHA1Hash at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp. The value it needs is the SHA1 fingerprint of the certificate obtained above: right-click on the new value, choose Modify and then type in the hex codes sequentially (without colons or spaces or commas, letters are not case-sensitive) – there are 20 hex pairs in all (40 characters).

You may need to reboot the host machine, or restart Remote Desktop Services (from Services.msc) before it will work.

Now, after making a remote desktop connection to this host using the correct site name (e.g. mysite.com) you should see a locked padlock on the left-hand side of the top connection bar: clicking on this shows that the identity of the remote computer was verified. A port that is open from the internet through to this host should now pass PCI-DSS 3.1 hostname testing.

I have exhausted my patience looking for how to add an SSL certificate to my Windows 10 Pro machine so that when I connect from another place, I don’t get certificate errors.

So far, every guide I run into eventually turns out to be for Windows Server.

What I’ve tried:

I click on start menu then type certlm.msc and hit Enter.

I place my purchased certificate in the Host Machine’s Personal > Certificates folder AND the Remote Desktop > Certificate Service folder.

enter image description here

When I try to reconnect from another machine, I still get the certificate trust error.

Can anyone help?

Again, I am trying to accomplish this in a Windows 10 Pro machine, NOT Windows Server.

Windows Server 2019 предоставляет возможность удаленного подключения с помощью протокола RDP (Remote Desktop Protocol). Однако, для обеспечения безопасной связи необходимо настроить сертификат SSL/TLS. В этой статье мы рассмотрим, как получить и установить сертификат для RDP Windows Server 2019.

Сертификат SSL/TLS позволяет установить защищенное соединение между клиентом и сервером, шифруя передаваемые данные. Это особенно важно при удаленном подключении, чтобы предотвратить перехват информации злоумышленниками. Для настройки сертификата RDP на Windows Server 2019 вам потребуется получить сертификат от надежного удостоверяющего центра (CA) или создать самоподписанный сертификат.

С началом процесса установки сертификата следует убедиться, что ваш сервер имеет установленную роль службы удаленных рабочих столов (Remote Desktop Services) и активированное удаленное подключение. Затем вы можете перейти к получению и установке сертификата. В этой статье мы рассмотрим оба варианта: получение от надежного удостоверяющего центра и создание самоподписанного сертификата. Выбор зависит от ваших потребностей и требований безопасности.

Настраивая сертификат для RDP Windows Server 2019, вы обеспечите безопасность вашего удаленного подключения и защитите конфиденциальность передаваемых данных. Следуйте нашему пошаговому руководству и настройте безопасное удаленное подключение к вашему серверу.

Содержание

  1. Как настроить сертификат для RDP Windows Server 2019
  2. Подключение по RDP: основные проблемы и решения
  3. Зачем нужен сертификат для безопасного удаленного подключения

Как настроить сертификат для RDP Windows Server 2019

1. Вам потребуется SSL-сертификат для этой цели. Вы можете получить его с помощью службы центра сертификации или обратиться к надежному поставщику SSL-сертификатов.

2. После получения сертификата, войдите на сервер Windows Server 2019.

3. Откройте управление сервером в разделе «Серверы» в меню «Управление»

4. В левой панели щелкните правой кнопкой мыши по имени сервера и выберите «Сертификаты RDP».

5. В окне «Сертификаты RDP» щелкните правой кнопкой мыши по сертификатам и выберите «Импортировать»

6. Следуйте инструкциям мастера импорта сертификатов, чтобы выбрать и импортировать сертификат, полученный в первом шаге.

7. После импорта сертификата выберите его и щелкните правой кнопкой мыши, затем выберите «Свойства».

8. В окне «Свойства сертификата RDP» выберите вкладку «Защита» и убедитесь, что «Установить виртуальный чип Tar 1» установлен с правильными правами доступа.

9. После этого перезапустите службу удаленного рабочего стола (RDP) на сервере Windows Server 2019.

10. Теперь вы можете подключиться к вашему серверу Windows Server 2019 с использованием безопасного подключения RDP, используя сертификат, который вы только что настроили.

Настройка сертификата для RDP Windows Server 2019 обеспечит безопасное удаленное подключение и защитит сервер от несанкционированного доступа.

Подключение по RDP: основные проблемы и решения

Проблема 1: Не удалось установить подключение.

Эта ошибка может возникнуть по нескольким причинам. Во-первых, убедитесь, что удаленный рабочий стол включен на сервере. В настройках сервера проверьте, что на порту RDP (по умолчанию 3389) не установлено каких-либо ограничений или блокировок. Также, убедитесь, что имеете правильные учетные данные для подключения к серверу.

Проблема 2: Ошибка сертификата безопасности.

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

Проблема 3: Ограничения брандмауэра или антивирусного программного обеспечения.

Брандмауэр или антивирусное программное обеспечение могут блокировать подключение по RDP. Убедитесь, что порт RDP (по умолчанию 3389) открыт на сервере и нет ограничений на соединения RDP в настройках брандмауэра или антивирусной программы.

Проблема 4: Доступные лицензии RDP.

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

Проблема 5: Обновления и патчи.

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

Зачем нужен сертификат для безопасного удаленного подключения

Основная цель использования сертификата для RDP заключается в защите от атак типа «человек посередине» (Man-in-the-middle), при которой злоумышленники могут перехватить и изменить данные, передаваемые между клиентом и сервером. Сертификат RDP гарантирует, что клиент подключается к подлинному серверу и что все данные, передаваемые между ними, шифруются.

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

Сертификаты для RDP можно получить от различных удостоверяющих центров (УЦ) или создать свой собственный самоподписанный сертификат. При использовании сертификата от УЦ, клиенту необходимо доверять этому УЦ, чтобы быть уверенным в подлинности сертификата сервера.

Преимущества использования сертификатов для RDP Недостатки использования сертификатов для RDP
Защита от атак типа «человек посередине» Необходимость доверять удостоверяющему центру (при использовании сертификатов от УЦ)
Гарантированная подлинность сервера Стоимость приобретения сертификата от УЦ (для коммерческих сертификатов)
Шифрование данных между клиентом и сервером Необходимость обновления сертификата по истечении срока действия

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

Время на прочтение
2 мин

Количество просмотров 20K

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

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

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

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

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

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

2. Качаем WinAcme

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

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

Авторизация вашего сервера осуществляется по http, поэтому нам нужно открыть 80 порт. Для этого введите в Powershell команду:

New-NetFirewallRule -DisplayName 80-TCP-IN -Direction Inbound -Protocol TCP -Enabled True -LocalPort 80

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

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

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

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

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

C:\Winacme\wacs.exe --target manual --host VASHDOMAIN.RU --certificatestore My --installation script --installationsiteid 1 --script "Scripts\ImportRDListener.ps1" --scriptparameters "{CertThumbprint}"

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

Готово! Вы великолепны и избавились от надоедливой ошибки.

А какие системные ошибки раздражают вас?

  • Ready boost утилита windows 10 что это
  • Rdp по wifi windows 10
  • Rdp клиент для windows 10 настройка
  • Ready boost утилита windows 10 скачать бесплатно
  • Reagent xml windows 10 скачать