Инструменты пользователя

Инструменты сайта


blog:2016:1224_tls_rdp

Шифрование TLS для RDP

Начиная с Windows 2008 в протоколе RDP по которому работает «Удалённый рабочий стол» добавился метод шифрования подключения с помощью SSL TLS. По умолчанию для шифрования используется самоподписанный сертификат. Установив сертификат от доверенного центра сертификации можно повысить защиту подключения и избавиться от предупреждений про неопознанный сервер при подключении. Вот как это сделать…

Речь в статье про сервер с одиночным удалённым рабочим столом или сервер терминалов не состоящий в домене Active Directory 1). Сначала нужно создать необходимые записи в DNS для сервера. Затем получить сертификат SSL TLS 2) для этих имён DNS. Потом сконвертировать сертификат в нужный формат. Установить сертификат на сервер. Настроить службы удалённый рабочих столов на использование этого сертификата. Создать и подписать файл подключения.

Сертификат используется бесплатный от StartSSL на три года. Для получения сертификата:

  1. подтвердим владение доменом в разделе Validations Wizard панели инструментов сайта StartSSL
  2. создадим запрос на получение сертификата CSR
    openssl req -newkey rsa:2048 -keyout kasatkin.org.key -out kasatkin.org.csr
  3. получим сертификат через раздел Certificates Wizard используя наш CSR (возможно, понадобится установить пароль)
  4. в полученном наборе сертификатов распакуем архив OtherServer.zip
  5. теперь создадим PFX-файл 3) пригодный для Windows
    1. сольём воедино наш сертификат и сертификат промежуточного удостоверяющего центра:
      cat 2_kasatkin.org.crt 1_Intermediate.crt > kasatkin.org.pem
    2. узнаем отпечаток SHA-1 сертификата (пригодится позже)
      openssl x509 -noout -in kasatkin.org.pem -fingerprint -sha1 | sed 's/://g'
      SHA1 Fingerprint=44F5DC13FB2931XXXXA8453E32A978387EA045E4
    3. изменим формат контейнера сертификата
      openssl pkcs12 -export -out kasatkin.org.pfx -inkey kasatkin.org.key -in kasatkin.org.pem
  6. скопируем PFX-файл сертификата на компьютер с Windows
  7. импортируем сертификат в системное хранилище:
    1. откроем оснастку управления сертификатами локальной машины: certlm.msc
    2. в раздел Personal импортируем PFX-файл нашего сертификата (возможно, понадобится ввести пароль)
    3. копируем импортированный сертификат (выделяем мышью, затем Ctrl+C)
    4. вставляем в раздел Remote Desktop (Ctrl+V)
    5. запускаем командную строку от имени Администратора и выполняем команду, подставляя своё значение отпеатка SHA-1 полученного ранее
      wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="44F5DC13FB2931XXXXA8453E32A978387EA045E4"

Всё, сертификат должен использоваться при подключении по RDP. Создаём RDP-файл подключения и подписываем его в командной строке Windows тем же сертификатом, что установили на сервер:

rdpsign /sha1 44F5DC13FB2931XXXXA8453E32A978387EA045E4 /v kasatkin.org.rdp
blog/2016/1224_tls_rdp.txt · Последнее изменение: 2022-02-19 18:16 — 127.0.0.1