Протокол удаленного рабочего стола - Remote Desktop Protocol

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

Клиенты существуют для большинства версий Microsoft Windows (включая Windows Mobile ), Linux , Unix , macOS , iOS , Android и других операционных систем . Серверы RDP встроены в операционные системы Windows; также существует сервер RDP для Unix и OS X. По умолчанию сервер прослушивает TCP- порт 3389 и UDP- порт 3389.

В настоящее время Microsoft называет свое официальное клиентское программное обеспечение RDP « Подключение к удаленному рабочему столу» , ранее называвшееся «Клиент служб терминалов».

Протокол является расширением протокола совместного использования приложений ITU-T T.128 . Microsoft публикует некоторые спецификации на своем веб-сайте.

История

Каждая версия Microsoft Windows, начиная с Windows XP, включает установленный клиент подключения к удаленному рабочему столу (RDC) («Службы терминалов») ( mstsc.exe ), версия которого определяется версией операционной системы или последним примененным пакетом обновления Windows. Сервер служб терминалов поддерживается как официальная функция в Windows NT 4.0 Terminal Server Edition , выпущенной в 1998 году, Windows 2000 Server , всех выпусках Windows XP, кроме Windows XP Home Edition, Windows Server 2003 , Windows Home Server , в Windows Fundamentals for Legacy. ПК , в выпусках Windows Vista Ultimate, Enterprise и Business, Windows Server 2008 и Windows Server 2008 R2, а также в Windows 7 Professional и выше.

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

Версия 4.0

Основываясь на протоколе совместного использования приложений ITU-T T.128 (во время черновика также известном как «T.share») из серии рекомендаций T.120 , первая версия RDP (названная версией 4.0) была представлена ​​Microsoft с «Терминальными службами». ", как часть их продукта Windows NT 4.0 Server, Terminal Server Edition. Версия служб терминалов NT 4.0 основывалась на технологии Citrix MultiWin, ранее предоставлявшейся как часть Citrix WinFrame поверх Windows NT 3.51, для одновременной поддержки нескольких пользователей и сеансов входа в систему. Microsoft потребовала, чтобы Citrix лицензировал свою технологию MultiWin для Microsoft, чтобы иметь возможность продолжать предлагать свой собственный продукт терминальных служб, названный тогда Citrix MetaFrame, поверх Windows NT 4.0. Предоставляемые Citrix библиотеки DLL, включенные в Windows NT 4.0 Terminal Services Edition, по-прежнему защищены авторским правом Citrix, а не Microsoft. Более поздние версии Windows напрямую интегрировали необходимую поддержку. Технология совместного использования приложений T.128 была приобретена Microsoft у британского разработчика программного обеспечения Data Connection Limited .

Версия 5.0

Эта версия была представлена ​​с Windows 2000 Server , добавлена ​​поддержка ряда функций, включая печать на локальные принтеры, и направлена ​​на улучшение использования полосы пропускания сети.

Версия 5.1

Эта версия была представлена ​​в Windows XP Professional и включала поддержку 24-битного цвета и звука. Клиент доступен для Windows 2000 , Windows 9x , Windows NT 4.0 . В этой версии имя клиента было изменено с « Клиент служб терминалов» на « Подключение к удаленному рабочему столу» ; Однако наследие остается и по сей день, поскольку исполняемый файл по-прежнему называется mstsc.exe .

Версия 5.2

Эта версия была представлена ​​в Windows Server 2003 и включала поддержку подключений в режиме консоли, каталога сеанса и сопоставления локальных ресурсов. Он также вводит Transport Layer Security (TLS) 1.0 для проверки подлинности сервера и для шифрования связи с сервером терминалов. Эта версия встроена в Windows XP Professional x64 Edition и Windows Server 2003 x64 и x86 Edition.

Версия 6.0

Эта версия была представлена ​​в Windows Vista и включала поддержку приложений Windows Presentation Foundation , аутентификации на уровне сети , поддержки нескольких мониторов и поддержки больших рабочих столов, а также подключений TLS 1.0 . Клиент версии 6.0 доступен для Windows XP SP2, Windows Server 2003 SP1 / SP2 (выпуски x86 и x64) и Windows XP Professional x64 Edition. Клиент подключения к удаленному рабочему столу Microsoft для Macintosh OS X также доступен с поддержкой Intel и PowerPC Mac OS версий 10.4.9 и выше.

Версия 6.1

Эта версия была выпущена в феврале 2008 года и входит в состав Windows Server 2008 , а также в Windows Vista с пакетом обновления 1 (SP3). Клиент входит в состав Windows XP SP3. В дополнение к изменениям, связанным с тем, как удаленный администратор подключается к «консоли», в этой версии добавлены новые функции, представленные в Windows Server 2008, такие как удаленное подключение к отдельным программам и новая система перенаправления принтера на стороне клиента, которая расширяет возможности печати клиента. доступны для приложений, работающих на сервере, без необходимости устанавливать драйверы печати на сервере, с другой стороны, удаленный администратор может свободно устанавливать, добавлять / удалять любое программное обеспечение или настройки на стороне клиента. Однако для запуска сеанса удаленного администрирования необходимо быть членом группы администраторов на сервере, к которому он пытается подключиться.

Версия 7.0

Эта версия была выпущена в производство в июле 2009 года и входит в состав Windows Server 2008 R2, а также Windows 7 . В этом выпуске также изменен с помощью служб терминалов для служб удаленных рабочих столов . Эта версия имеет новые функции, такие как перенаправление Windows Media Player, двунаправленное аудио, поддержка нескольких мониторов, поддержка Aero Glass, улучшенное ускорение растровых изображений, перенаправление Easy Print, стыковка языковой панели. Клиент RDP 7.0 доступен в Windows XP SP3 и Windows Vista SP1 / SP2 через KB969084. Клиент RDP 7.0 официально не поддерживается в версиях Windows Server 2003 x86 и Windows Server 2003 / Windows XP Professional x64.

Большинство функций RDP 7.0, таких как удаленное использование Aero Glass, двунаправленное аудио, перенаправление проигрывателя Windows Media, поддержка нескольких мониторов и Easy Print удаленного рабочего стола, доступны только в выпусках Windows 7 Enterprise или Ultimate.

Версия 7.1

Выпуск 7.1 RDP был включен в Windows 7 Service Pack 1 и Windows Server 2008 R2 SP1 в 2010 году. Он представил RemoteFX , который обеспечивает поддержку виртуализированного графического процессора и кодирование на стороне хоста.

Версия 8.0

Эта версия была выпущена в Windows 8 и Windows Server 2012 . Эта версия имеет новые функции, такие как адаптивная графика (прогрессивный рендеринг и связанные с ним методы), автоматический выбор TCP или UDP в качестве транспортного протокола, поддержка нескольких касаний, поддержка DirectX 11 для vGPU, перенаправление USB, поддерживаемое независимо от поддержки vGPU, и т. Д. кнопка качества »отображается на панели подключения клиента RDP для подключений RDP 8.0; щелкнув по нему, вы получите дополнительную информацию о соединении, в том числе о том, используется ли UDP или нет.

Клиентские и серверные компоненты RDP 8.0 также доступны как надстройка для Windows 7 SP1. Клиент RDP 8.0 также доступен для Windows Server 2008 R2 SP1, но серверные компоненты - нет. Надстройка требует, чтобы протокол DTLS был установлен в качестве предварительного условия. После установки обновлений для включения протокола RDP 8.0 между компьютерами с Windows 7 требуется дополнительный шаг настройки с помощью редактора групповой политики .

Новой функцией в RDP 8.0 является ограниченная поддержка вложенности сеансов RDP; он работает только для Windows 8 и Server 2012, хотя Windows 7 и Server 2008 R2 (даже с обновлением RDP 8.0) не поддерживают эту функцию.

Функция «тени» из RDP 7, которая позволяла администратору отслеживать (отслеживать) RDP-соединение, была удалена в RDP 8. Функция удаленного взаимодействия Aero Glass (применима к компьютерам с Windows 7, подключающимся друг к другу) также была удалена в РДП 8.

Версия 8.1

Эта версия была выпущена с Windows 8.1 и Windows Server 2012 R2 . Обновление клиента RDP 8.1 также существует для Windows 7 SP1, но, в отличие от обновления RDP 8.0 для Windows 7, оно не добавляет серверный компонент RDP 8.1 в Windows 7. Кроме того, если в Windows 7 требуется функция сервера RDP 8.0, Перед установкой обновления RDP 8.1 необходимо установить обновление KB 2592687 (компоненты клиента и сервера RDP 8.0).

Поддержка теневого копирования сеансов была добавлена ​​еще в RDP версии 8.1. В этой версии также исправлены некоторые визуальные сбои в Microsoft Office 2013 при работе в качестве RemoteApp .

Версия 8.1 протокола RDP также включает режим «ограниченного администратора». Для входа в этот режим требуется только знание хешированного пароля, а не его открытого текста , что делает возможным проход хеш- атаки. Microsoft выпустила 82-страничный документ, объясняющий, как смягчить этот тип атаки.

Версия 10.0

Версия 10.0 протокола RDP включает следующие новые функции: Автоматическое масштабирование (полезно для клиентов HiDPI). Кроме того, были включены улучшения сжатия графики с использованием H.264 / AVC.

Функции

  • Поддержка 32-битного цвета. Также поддерживаются 8-, 15-, 16- и 24-битные цвета.
  • 128-битное шифрование с использованием алгоритма шифрования RC4 , начиная с версии 6. Поддержка TLS с версии 5.2.
  • Перенаправление звука позволяет пользователям обрабатывать звук на удаленном рабочем столе и перенаправлять звук на свой локальный компьютер.
  • Перенаправление файловой системы позволяет пользователям использовать свои локальные файлы на удаленном рабочем столе в рамках сеанса терминала.
  • Перенаправление принтера позволяет пользователям использовать свой локальный принтер в сеансе терминала, как если бы они использовали локальный или сетевой принтер.
  • Перенаправление портов позволяет приложениям, работающим в рамках сеанса терминала, напрямую обращаться к локальным последовательным и параллельным портам.
  • Удаленный и локальный компьютер могут использовать буфер обмена совместно.

Microsoft представила следующие функции с выпуском RDP 6.0 в 2006 году:

  • Бесшовная Windows: удаленные приложения могут работать на клиентском компьютере, обслуживаемом подключением к удаленному рабочему столу. Доступен с RDP 6.
  • Удаленные программы: публикация приложений с ассоциациями типов файлов на стороне клиента.
  • Шлюз служб терминалов: позволяет использовать интерфейсный сервер IIS для приема подключений (через порт 443 ) для внутренних серверов служб терминалов через соединение https , аналогично тому, как RPC через https позволяет клиентам Outlook подключаться к резервному серверу. конец сервера Exchange 2003. Требуется Windows Server 2008 .
  • Аутентификация на сетевом уровне
  • Поддержка удаленного взаимодействия с темой Aero Glass (или составным рабочим столом), включая технологию сглаживания шрифтов ClearType .
  • Поддержка удаленного взаимодействия приложений Windows Presentation Foundation : совместимые клиенты с поддержкой .NET Framework 3.0 могут отображать полные эффекты Windows Presentation Foundation на локальном компьютере.
  • Перепишите перенаправление устройств, чтобы оно было более универсальным, позволяя получить доступ к большему количеству устройств.
  • Полностью настраиваемый и скриптовый с помощью инструментария управления Windows .
  • Улучшена настройка пропускной способности для клиентов RDP.
  • Поддержка Transport Layer Security (TLS) 1.0 как на стороне сервера, так и на стороне клиента (может быть согласована, если обе стороны согласны, но не обязательно в конфигурации по умолчанию любой версии Windows).
  • Поддержка нескольких мониторов, позволяющая одному сеансу использовать несколько мониторов на клиенте (отключает композицию рабочего стола)

Версия 7.1 протокола RDP в 2010 году представила следующую функцию:

  • RemoteFX : RemoteFX обеспечивает поддержку виртуализированного графического процессора и кодирование на стороне хоста; он поставляется как часть Windows Server 2008 R2 SP1.

Проблемы с безопасностью

Версия 5.2 протокола RDP в своей конфигурации по умолчанию уязвима для атаки типа «злоумышленник в середине» . Администраторы могут включить шифрование транспортного уровня, чтобы снизить этот риск.

Сеансы RDP также подвержены сбору учетных данных в памяти, которые можно использовать для запуска хэш- атак.

В марте 2012 года Microsoft выпустила обновление для критической уязвимости безопасности в RDP. Уязвимость позволяла скомпрометировать компьютер Windows неаутентифицированными клиентами и компьютерными червями .

Клиент RDP версии 6.1 может использоваться для отображения имен и изображений всех пользователей на сервере RDP (независимо от версии Windows), чтобы выбрать одного, если имя пользователя не указано для подключения RDP.

В марте 2018 года Microsoft выпустила исправление для CVE - 2018-0886 , уязвимости удаленного выполнения кода в CredSSP, которая является поставщиком поддержки безопасности, участвующим в удаленном рабочем столе Microsoft и удаленном управлении Windows, обнаруженном Preempt.

В мае 2019 года Microsoft выпустила исправление безопасности для CVE - 2019-0708BlueKeep »), уязвимости, которая допускает возможность удаленного выполнения кода и которая, как предупреждала Microsoft, является «уязвимой для червя», что может вызвать обширные сбои. Как ни странно, исправления также были доступны для нескольких версий Windows, срок службы которых подошел к концу, например для Windows XP . Сразу после этого не последовало злонамеренное использование, но эксперты были единодушны в том, что это вполне вероятно и может нанести обширный ущерб, исходя из количества систем, которые, по-видимому, остались незащищенными и не исправленными.

В июле 2019 года Microsoft выпустила исправление безопасности для CVE - 2019-0887 , уязвимости RDP, которая затрагивает Hyper-V .

Реализации сторонних производителей

Существует множество реализаций клиентов и серверов RDP, не принадлежащих Microsoft, которые реализуют подмножества функций Microsoft. Например, клиент командной строки с открытым исходным кодом rdesktop доступен для операционных систем Linux / Unix и Microsoft Windows. Есть много GUI клиентов, как TSCLIENT и KRDC , которые построены на вершине RDesktop.

В 2009 году rdesktop был разветвлен как FreeRDP, новый проект, направленный на разбиение кода на модули, решение различных проблем и внедрение новых функций. FreeRDP поставляется с собственным клиентом командной строки xfreerdp, который поддерживает бесшовную Windows в RDP6. Примерно в 2011 году в проекте было решено отказаться от разветвления и вместо этого переписать под лицензией Apache License , добавив дополнительные функции, такие как RemoteFX, RemoteApp и NTLMv2. Коммерческое распространение под названием Thincast было начато в 2019 году. Летом 2020 года появился многоплатформенный клиент на основе FreeRDP, включая поддержку Vulkan / H.264. Также существует GTK-приложение под названием Remmina .

Серверы RDP с открытым исходным кодом в Unix включают FreeRDP, ogon project и xrdp . Для подключения к такому серверу можно использовать клиент подключения к удаленному рабочему столу Windows.

Собственные клиентские решения RDP, такие как rdpclient , доступны как автономное приложение или встроены в клиентское оборудование. Новая парадигма доступа, доступ на основе браузера, позволила пользователям получать доступ к рабочим столам и приложениям Windows на любых узлах RDP, таких как узлы сеансов удаленного рабочего стола Microsoft (RDS) (службы терминалов) и виртуальные рабочие столы, а также к удаленным физическим ПК.

Существует также протокол удаленного отображения VirtualBox (VRDP), используемый Oracle в реализации виртуальной машины VirtualBox . Этот протокол совместим со всеми клиентами RDP, такими как те, которые поставляются с Windows, но, в отличие от исходного RDP, может быть настроен для приема незашифрованных и незащищенных паролем соединений, что может быть полезно в безопасных и надежных сетях, таких как домашние или офисные локальные сети . По умолчанию RDP-сервер Microsoft отклоняет подключения к учетным записям пользователей с пустыми паролями (но это можно изменить с помощью редактора групповой политики ). Возможности внешней и гостевой авторизации также предоставляются VRDP. Не имеет значения, какая операционная система установлена ​​в качестве гостевой, поскольку VRDP реализован на уровне виртуальной машины (хоста), а не в гостевой системе. Патентованный VirtualBox Extension Pack требуется.

Патенты

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

Использование в киберпреступности

Исследователи безопасности сообщают, что киберпреступники продают скомпрометированные серверы RDP на подпольных форумах, а также в специализированных магазинах незаконных RDP. Эти скомпрометированные RDP могут использоваться в качестве «плацдарма» для совершения других видов мошенничества или для доступа к конфиденциальным личным или корпоративным данным. Исследователи также сообщают о случаях, когда киберпреступники использовали RDP для прямого размещения вредоносных программ на компьютерах.

Смотрите также

использованная литература

внешние ссылки