Windows server удаленный рабочий стол по сертификату

Конфигурации сертификатов прослушиватель удаленного рабочего стола

В этой статье описываются методы настройки сертификатов прослушиватель на сервере под управлением Windows Server 2012 или Windows Server 2012, который не входит в состав развертывания служб удаленных рабочих стола (RDS).

Исходная версия продукта: Windows Server 2012 R2
Исходный номер КБ: 3042780

О доступности прослушиватель сервера удаленного рабочего стола

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

Методы настройки сертификата прослушиватель

В Windows Server 2003, Windows Server 2008 или Windows Server 2008 R2 оснастка MMC диспетчера конфигураций удаленных рабочих стола позволяет напрямую получать доступ к прослушивательу RDP. В оснастке вы можете привязать сертификат к прослушивательу и, в свою очередь, обеспечить безопасность SSL для сеансов RDP.

В Windows Server 2012 или Windows Server 2012 R2 эта оснастка MMC не существует. Таким образом, система не предоставляет прямой доступ к прослушивательУ RDP. Чтобы настроить сертификаты прослушиватель в Windows Server 2012 или Windows Server 2012 R2, используйте следующие методы.

Метод 1. Использование сценария инструментали управления Windows (WMI)

Данные конфигурации для прослушиватель RDS хранятся в классе Win32_TSGeneralSetting в WMI в пространстве Root\CimV2\TerminalServices имен.

На сертификат для прослушивателя RDS ссылается значение thumbprint этого сертификата в свойстве SSLCertificateSHA1Hash. Значение отпечатка уникально для каждого сертификата.

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

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

Откройте диалоговое окно свойств сертификата и выберите вкладку «Сведения».

Прокрутите вниз до поля Thumbprint и скопируйте строку с пробелами в что-то вроде Блокнота.

На следующем снимке экрана приводится пример отпечатка сертификата в свойствах сертификата:

Если вы скопируете строку в Блокнот, она должна иметь следующий снимок экрана:

После удаления пробелов в строке он по-прежнему содержит невидимый символ ASCII, который отображается только в командной строке. Ниже приводится пример снимка экрана.

Перед запуском команды импорта сертификата убедитесь, что этот символ ASCII удален.

Удалите из строки все пробелы. Также может быть скопирован невидимый символ ACSII. Это не отображается в Блокноте. Единственным способом проверки является копирование непосредственно в окно командной подсказки.

В командной подсказке запустите следующую команду WMIC вместе со значением отпечатка, которое вы получите на шаге 3:

На следующем снимке экрана приводится успешный пример:

Метод 2. Использование редактора реестра

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

Читайте также:  Physx sdk для windows 10

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

Установите сертификат проверки подлинности сервера в хранилище личных сертификатов с помощью учетной записи компьютера.

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

  • Путь в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
  • Имя значения: SSLCertificateSHA1Hash
  • Тип значения: REG_BINARY
  • Данные значения: отпечаток сертификата

Значение должно быть отпечатком сертификата и разделяться запятыми (,) без пробелов. Например, если экспортировать этот ключ реестра, значение SSLCertificateSHA1Hash будет следующим:

Службы удаленных рабочих стола выполняется под учетной записью NETWORK SERVICE. Таким образом, необходимо настроить список управления доступом системы (SACL) файла ключа, который используется RDS, чтобы включить NETWORK SERVICE вместе с разрешениями на чтение.

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

  1. Нажмите кнопку Пуск, выберите пункт Выполнить, введите mmc и нажмите кнопку ОК.
  2. В меню «Файл» выберите пункт «Добавить или удалить оснастку».
  3. В диалоговом окне «Добавление и удаление оснастки» в списке «Доступные оснастки» выберите «Сертификаты» и нажмите кнопку «Добавить».
  4. В диалоговом окне оснастки «Сертификаты» щелкните «Учетная запись компьютера» и нажмите кнопку «Далее».
  5. В диалоговом окне «Выбор компьютера» щелкните «Локальный компьютер» (компьютер, на который запущена эта консоль) и нажмите кнопку «Готово».
  6. В диалоговом окне «Добавление и удаление оснастки» нажмите кнопку «ОК».
  7. В оснастке «Сертификаты» в дереве консоли раз expand Certificates (Local Computer),expand Personal, а затем выберите SSL-сертификат, который вы хотите использовать.
  8. Щелкните сертификат правой кнопкой мыши, выберите «Все задачи» и выберите «Управление закрытыми ключами».
  9. В диалоговом окне «Разрешения» нажмите кнопку «Добавить», «Введите NETWORK SERVICE»,«ОК», выберите «Прочитать» в поле «Разрешить» и нажмите кнопку «ОК».

—>

Установка своего сертификата для RDP

Чисто для себя заметка

Можно ли каким-то образом, в клиентской винде не входящей в AD, для сервера удалённых рабочих столов установить свой сертификат?

Немного подробнее:
После запуска службы (или если она у вас запущена, то после установки соответствующей галки на вкладке «Удалённый доступ» ) «Службы удаленных рабочих столов» создаётся самоподписанный сертификат (который помещается в хранилище Удалённый рабочий стол > Сертификаты) — хотелось бы его заменить на свой.

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

1. Идем (gpedit.msc) по пути PC Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security: Require use of specific security layer for remote (RDP) connections выбираем SSL (TLS 1.0).
2. Импортируем сертификат в «Сертификаты (локальный компьютер)\Personal\Registry\Certificates. Сертификат должен быть в формате PKCS12 (.p12). Выбираем, щелчок — All Tasks — Manage Private Keys. Добавляем NETWORK SERVICE (права Чтение). Сохраняем.
3. Идем в реестр «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp», добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: ). Сохраняем.
4. Идем в «Сертификаты (локальный компьютер)»\Remote Desktop\Registry\Certificates. Удаляем сертификат ПК. Перезагружаем ПК. (Сертификат ПК создастся заново автоматом (после рестарта компьютера), но использоваться уже не будет).
Собственно все!

Цитата:
Добавляем NETWORK SERVICE (права Чтение).
Про это я не знал!

Цитата:
Идем в реестр . добавляем Binary Value (Value name: SSLCertificateSHA1Hash ; Value data: ).
Для этого дела есть скрипт — запускать с такими параметрами:

Код:
cscript rdconfig.js

Читайте также:  Посмотреть открытые порты linux ubuntu

(если лень пробелы их хеша убирать, то можно в кавычки его)

Настройка доверенных SSL/TLS сертификатов для защиты RDP подключений

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

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

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

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

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

При этом отпечаток RDP сертификата сохраняется на клиенте в параметре CertHash в ветке реестра с историей RDP подключений (HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\). Если вы скрыли уведомление о невозможности проверить подлинность 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);
  3. На вкладке General укажите имя нового шаблона сертификата – RDPTemplate. Убедитесь, что значение поля Template Name полностью совпадает с Template display name;
  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, создайте новую политику и выберите ее;
  6. В настройках шаблона сертификата (Application Policies Extension) удалите все политики кроме Remote Desktop Authentication;
  7. Чтобы использовать данный шаблон RDP сертификатов на контролерах домена, откройте вкладку Security, добавьте группу Domain Controllers и включите для нее опцию Enroll и Autoenroll;
  8. Сохраните шаблон сертификата;
  9. Теперь в оснастке Certificate Authority, щёлкните по папке Certificate Templates, выберите New ->Certificate Template to Issue -> выберите созданный шаблон RDPTemplate.

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

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

  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);
  3. Затем в этом же разделе GPO включите политику Require use of specific security layer for remote (RDP) connections и установите для нее значение SSL;
  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”;
  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.
Читайте также:  Handsoff для mac os

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

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

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

Также можете в консоли Certification Authority в секции Issued Certificates проверить, что по шаблону RDPTemplate был выдан сертификат определённому Windows компьютеру/серверу. Также проверьте значение 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 сертификата

Если у вас отсутствует 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.

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

Оцените статью