Протокол удаленного рабочего стола ( RDP ) — это фирменный протокол, разработанный корпорацией Microsoft , который предоставляет пользователю графический интерфейс для подключения к другому компьютеру через сетевое соединение. [1] Для этой цели пользователь использует клиентское программное обеспечение RDP, в то время как на другом компьютере должно быть запущено серверное программное обеспечение RDP.
Существует несколько клиентов для большинства версий Microsoft Windows (включая Windows Mobile , но поддержка прекращена), Linux (например, Remmina ), Unix , macOS , iOS , Android и других операционных систем . RDP-серверы встроены в серверные и профессиональные версии операционных систем Windows, но не в домашние версии; также существует RDP-сервер для Unix и OS X (например, xrdp ). По умолчанию сервер прослушивает порт TCP 3389 [2] и порт UDP 3389. [3]
В настоящее время Microsoft называет свое официальное клиентское программное обеспечение RDP « Подключением к удаленному рабочему столу» , ранее «Клиентом служб терминалов».
Протокол является расширением протокола обмена приложениями ITU-T T.128 . Microsoft публикует некоторые спецификации на своем веб-сайте. [4]
Каждая серверная и профессиональная версия Microsoft Windows, начиная с Windows XP [5], включает установленный клиент Remote Desktop Connection (RDC) («Terminal Services») ( mstsc.exe ), версия которого определяется версией операционной системы или последним примененным пакетом обновления Windows. Сервер Terminal Services поддерживается как официальная функция в 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 PCs , в выпусках Windows Vista Ultimate, Enterprise и Business, Windows Server 2008 и Windows Server 2008 R2, а также в Windows 7 Professional и выше. Домашние версии Windows не поддерживают RDP.
Microsoft предоставляет клиент, необходимый для подключения к более новым версиям RDP для операционных систем нижнего уровня. Поскольку улучшения сервера недоступны на нижнем уровне, функции, представленные в каждой новой версии RDP, работают только на операционных системах нижнего уровня при подключении к серверу RDP более высокой версии из этих старых операционных систем, а не при использовании сервера RDP в старой операционной системе. [ требуется пояснение ]
Основанная на протоколе общего доступа к приложениям ITU-T T.128 (во время черновика также известном как «T.share») из серии рекомендаций T.120 , первая версия RDP (названная версией 4.0) была представлена Microsoft вместе с «Terminal Services» как часть их продукта Windows NT 4.0 Server, Terminal Server Edition. [1] Terminal Services 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 . [6]
Эта версия была представлена вместе с Windows 2000 Server , добавила поддержку ряда функций, включая печать на локальных принтерах, и была направлена на улучшение использования пропускной способности сети. Клиенты RDP, доступные через Windows 2000 Terminal Server Disk Creation Tool, протестированы и работают даже на 16-битной Windows 3.1 с использованием сторонних библиотек TCP/IP, таких как Trumpet WinSock.
Эта версия была представлена в Windows XP Professional и включала поддержку 24-битного цвета и звука. Она поддерживается в Windows 2000 , Windows 9x и Windows NT 4.0 . [7] В этой версии имя клиента было изменено с Terminal Services Client на Remote Desktop Connection ; однако наследие сохраняется и по сей день, поскольку базовый исполняемый файл по-прежнему называется mstsc.exe .
Эта версия была представлена в Windows Server 2003 , включала поддержку подключений в консольном режиме, каталог сеансов и сопоставление локальных ресурсов. Она также представляет Transport Layer Security (TLS) 1.0 для аутентификации сервера и шифрования соединений терминального сервера. [8] Эта версия встроена в Windows XP Professional x64 Edition и Windows Server 2003 x64 & x86 Editions, а также доступна для загрузки для Windows XP.
Эта версия была представлена вместе с Windows Vista и включала поддержку приложений Windows Presentation Foundation , проверку подлинности на уровне сети , поддержку нескольких мониторов и больших рабочих столов, а также соединения TLS 1.0 . [9] Клиент RDP 6.0 доступен в Windows XP SP2, Windows Server 2003 SP1/SP2 (редакции x86 и x64) и Windows XP Professional x64 Edition через KB925876. Клиент Microsoft Remote Desktop Connection для Macintosh OS X также доступен с поддержкой Intel и PowerPC Mac OS версий 10.4.9 и выше.
Эта версия была выпущена в феврале 2008 года и впервые вошла в состав Windows Server 2008 и Windows Vista с пакетом обновления 1, а затем была перенесена в Windows XP с пакетом обновления 3. Клиент RDP 6.1 доступен в Windows XP SP2, Windows Server 2003 SP1/SP2 (редакции x86 и x64) и Windows XP Professional x64 Edition через KB952155. [10] Помимо изменений, связанных с тем, как удаленный администратор подключается к «консоли», [11] эта версия имеет новые функции, представленные в Windows Server 2008, такие как удаленное подключение к отдельным программам и новая система перенаправления принтера на стороне клиента, которая делает возможности печати клиента доступными для приложений, работающих на сервере, без необходимости установки драйверов печати на сервере [12] [13] С другой стороны, удаленный администратор может свободно устанавливать, добавлять/удалять любое программное обеспечение или настройки на стороне клиента. Однако для запуска сеанса удаленного администрирования необходимо быть членом группы администраторов на сервере, к которому вы пытаетесь подключиться. [14]
Эта версия была выпущена в производство в июле 2009 года и включена в Windows Server 2008 R2, а также в Windows 7. [ 15] В этом выпуске также изменены службы терминалов на службы удаленного рабочего стола . Эта версия имеет новые функции, такие как перенаправление проигрывателя Windows Media, двунаправленный звук, поддержка нескольких мониторов, поддержка Aero Glass, улучшенное ускорение растровых изображений, перенаправление Easy Print, [16] стыковка языковой панели . Клиент RDP 7.0 доступен в Windows XP SP3 и Windows Vista SP1/SP2 через KB969084, [17] и официально не поддерживается в редакциях Windows Server 2003 x86 и Windows Server 2003 / Windows XP Professional x64. Он также официально не поддерживается в Windows Server 2008.
Большинство функций RDP 7.0, таких как удаленное использование Aero Glass, двунаправленный звук, перенаправление проигрывателя Windows Media, поддержка нескольких мониторов и удобная печать с удаленного рабочего стола, доступны только в редакциях Windows 7 Enterprise или Ultimate. [18] [19]
Выпуск 7.1 RDP был включен в Windows 7 Service Pack 1 и Windows Server 2008 R2 SP1 в 2010 году. Он представил RemoteFX , который обеспечивает поддержку виртуализированных графических процессоров и кодирование на стороне хоста.
Эта версия была выпущена в Windows 8 и Windows Server 2012. Эта версия имеет новые функции, такие как адаптивная графика (прогрессивный рендеринг и связанные с ним методы), автоматический выбор TCP или UDP в качестве транспортного протокола, поддержка мультитач , поддержка DirectX 11 для vGPU, перенаправление USB, поддерживаемое независимо от поддержки vGPU, и т. д. [20] [21] Кнопка «качество соединения» отображается на панели подключения клиента RDP для подключений RDP 8.0; нажатие на нее предоставляет дополнительную информацию о соединении, включая информацию о том, используется ли UDP. [22]
Клиентские и серверные компоненты RDP 8.0 доступны в Windows 7 SP1 и Windows Server 2008 R2 SP1 через KB2592687. Клиент RDP 8.0 также доступен для Windows Server 2008 R2 SP1, но серверные компоненты не доступны. Клиент RDC 8.0 включает поддержку шифрования сеанса с использованием стандарта TLS 1.2. [23] Для надстройки требуется предварительная установка протокола DTLS . [22] После установки обновлений для включения протокола RDP 8.0 между компьютерами Windows 7 требуется дополнительный шаг настройки с использованием редактора групповой политики . [24]
Новой функцией RDP 8.0 является ограниченная поддержка вложенности сеансов RDP; она работает только для Windows 8 и Server 2012, хотя Windows 7 и Server 2008 R2 (даже с обновлением RDP 8.0) не поддерживают эту функцию. [25]
Функция «тени» из RDP 7, которая позволяла администратору контролировать (отслеживать) подключение RDP, была удалена в RDP 8. Функция удаленного взаимодействия Aero Glass (применимая к компьютерам Windows 7, подключающимся друг к другу) также была удалена в RDP 8. [21] [22]
Эта версия была выпущена с Windows 8.1 и Windows Server 2012 R2 . Клиент RDP 8.1, как и клиент RDP 8.0, доступен в Windows 7 SP1 и Windows Server 2008 R2 SP1 через KB2923545, но в отличие от обновления RDP 8.0 для Windows 7, он не добавляет компонент сервера RDP 8.1 в Windows 7. Кроме того, если требуется функция сервера RDP 8.0 в Windows 7, необходимо установить обновление KB 2592687 (компоненты клиента и сервера RDP 8.0) перед установкой обновления RDP 8.1. [26] [27]
Поддержка теневого сеанса была добавлена в RDP версии 8.1. Эта версия также исправляет некоторые визуальные глюки с Microsoft Office 2013 при запуске в качестве RemoteApp . [26]
Версия 8.1 RDP также включает режим «ограниченного администратора». Для входа в этот режим требуется только знание хэшированного пароля, а не его открытого текста , что делает возможной атаку pass the hash . [28] Microsoft выпустила 82-страничный документ, объясняющий, как смягчить этот тип атаки. [29]
Версия 10.0 RDP была представлена в Windows 10 и включает в себя следующие новые функции: зум AutoSize (полезно для клиентов HiDPI). Кроме того, были включены улучшения сжатия графики с использованием H.264/AVC. [30]
С выпуском RDP 6.0 в 2006 году компания Microsoft представила следующие функции:
В версии RDP 7.1 в 2010 году появилась следующая функция:
Последняя версия RDP поддерживает Transport Layer Security (TLS) версий 1.1, 1.2 и 1.3 для защиты трафика RDP. [32]
Версия 5.2 RDP в своей конфигурации по умолчанию уязвима для атаки типа «человек посередине» . Администраторы могут включить шифрование транспортного уровня , чтобы снизить этот риск. [33] [34]
Сеансы RDP также подвержены сбору учетных данных в памяти, что может быть использовано для запуска атак с обходом хэша . [35]
В марте 2012 года Microsoft выпустила обновление для критической уязвимости безопасности в RDP. Уязвимость позволяла скомпрометировать компьютер Windows неаутентифицированным клиентам и компьютерным червям . [36]
Клиент RDP версии 6.1 может использоваться для отображения имен и фотографий всех пользователей на сервере RDP (независимо от версии Windows), чтобы выбрать одного из них, если для подключения RDP не указано имя пользователя. [ необходима цитата ]
В марте 2018 года Microsoft выпустила исправление для CVE - 2018-0886, уязвимости удаленного выполнения кода в CredSSP, который является поставщиком поддержки безопасности, участвующим в Microsoft Remote Desktop и Windows Remote Management, обнаруженной Preempt. [37] [38]
В мае 2019 года Microsoft выпустила исправление безопасности для CVE - 2019-0708 (« BlueKeep »), уязвимости, которая допускает возможность удаленного выполнения кода и которая, по словам Microsoft, «червеобразна» и может вызвать широкомасштабные сбои. Необычно, что исправления также были доступны для нескольких версий Windows, срок службы которых подошел к концу, таких как Windows XP . Немедленной вредоносной эксплуатации не последовало, но эксперты были единодушны в том, что это вероятно и может нанести широкомасштабный вред, исходя из количества систем, которые, по-видимому, остались уязвимыми и неисправленными. [39] [40] [41]
В июле 2019 года Microsoft выпустила исправление безопасности для CVE - 2019-0887, уязвимости RDP, которая затрагивает Hyper-V . [42]
С момента выпуска Remote Desktop Connection появилось несколько дополнительных клиентов протокола удаленного рабочего стола, созданных как корпорацией Microsoft, так и другими сторонами, включая Microsoft Remote Desktop , rdesktop и FreeRDP .
В дополнение к созданным Microsoft Remote Desktop Services , серверы RDP с открытым исходным кодом на Unix включают FreeRDP (см. выше), проект ogon и xrdp . Клиент Windows Remote Desktop Connection может использоваться для подключения к такому серверу. Существует также Azure Virtual Desktop , который использует RDP и является частью платформы Microsoft Azure .
Существует также протокол VirtualBox Remote Display Protocol (VRDP), используемый в реализации виртуальной машины VirtualBox компанией Oracle . [43] Этот протокол совместим со всеми клиентами RDP, например, с тем, который поставляется с Windows, но, в отличие от оригинального RDP, может быть настроен для приема незашифрованных и незащищенных паролем соединений, что может быть полезно в безопасных и доверенных сетях, таких как домашние или офисные локальные сети . По умолчанию сервер RDP от Microsoft отклоняет соединения с учетными записями пользователей с пустыми паролями (но это можно изменить с помощью редактора групповой политики [44] ). VRDP также предоставляет возможности внешней и гостевой авторизации. Неважно, какая операционная система установлена в качестве гостя, поскольку VRDP реализован на уровне виртуальной машины (хоста), а не в гостевой системе. Требуется фирменный пакет расширений VirtualBox.
Microsoft требует от сторонних реализаций лицензировать соответствующие патенты RDP. [45] По состоянию на февраль 2014 года [обновлять]степень, в которой клиенты с открытым исходным кодом соответствуют этому требованию, остается неизвестной.
Исследователи безопасности сообщили в 2016-17 годах, что киберпреступники продавали взломанные RDP-серверы на подпольных форумах, а также в специализированных нелегальных магазинах RDP. [46] [47] Эти взломанные RDP могут использоваться в качестве «площадки» для проведения других видов мошенничества или для доступа к конфиденциальным личным или корпоративным данным. [48] Исследователи также сообщают о случаях, когда киберпреступники использовали RDP для прямой загрузки вредоносного ПО на компьютеры. [49]