Начиная с Windows 2008 в протоколе RDP по которому работает «Удалённый рабочий стол» добавился метод шифрования подключения с помощью SSL TLS. По умолчанию для шифрования используется самоподписанный сертификат. Установив сертификат от доверенного центра сертификации можно повысить защиту подключения и избавиться от предупреждений про неопознанный сервер при подключении. Вот как это сделать…
Речь в статье про сервер с одиночным удалённым рабочим столом или сервер терминалов не состоящий в домене Active Directory 1). Сначала нужно создать необходимые записи в DNS для сервера. Затем получить сертификат SSL TLS 2) для этих имён DNS. Потом сконвертировать сертификат в нужный формат. Установить сертификат на сервер. Настроить службы удалённый рабочих столов на использование этого сертификата. Создать и подписать файл подключения.
Сертификат используется бесплатный от StartSSL на три года. Для получения сертификата:
openssl req -newkey rsa:2048 -keyout kasatkin.org.key -out kasatkin.org.csr
cat 2_kasatkin.org.crt 1_Intermediate.crt > kasatkin.org.pem
openssl x509 -noout -in kasatkin.org.pem -fingerprint -sha1 | sed 's/://g' SHA1 Fingerprint=44F5DC13FB2931XXXXA8453E32A978387EA045E4
openssl pkcs12 -export -out kasatkin.org.pfx -inkey kasatkin.org.key -in kasatkin.org.pem
wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="44F5DC13FB2931XXXXA8453E32A978387EA045E4"
Всё, сертификат должен использоваться при подключении по RDP. Создаём RDP-файл подключения и подписываем его в командной строке Windows тем же сертификатом, что установили на сервер:
rdpsign /sha1 44F5DC13FB2931XXXXA8453E32A978387EA045E4 /v kasatkin.org.rdp