Открыть сервис

Microsoft RDP

Microsoft RDP (Remote Desktop Protocol, протокол удалённого рабочего стола) — это проприетарный протокол прикладного уровня, разработанный корпорацией Microsoft, который позволяет пользователю подключаться к удалённому компьютеру под управлением операционной системы Windows (а также некоторых других ОС) и управлять им так, как если бы он находился непосредственно перед ним. RDP предоставляет графический интерфейс, передавая изображение рабочего стола, а также обеспечивает передачу ввода с клавиатуры и мыши, звука, файлов, буфера обмена и периферийных устройств.

История

Разработка RDP началась в середине 1990-х годов как часть стратегии Microsoft по созданию технологий удалённого доступа и терминальных вычислений. Первая версия протокола (RDP 4.0) была представлена в 1998 году в составе Windows NT 4.0 Terminal Server Edition. Этот выпуск был ориентирован на корпоративных клиентов и позволял нескольким пользователям одновременно работать на одном сервере, используя тонкие клиенты.

В 2000 году с выходом Windows 2000 Server появилась версия RDP 5.0, которая включала поддержку 16-битного цвета, шифрования на уровне протокола (RC4) и улучшенную работу с буфером обмена. Версия RDP 5.1 (Windows XP) добавила поддержку перенаправления звука, принтеров и файловых систем.

Значительным шагом вперёд стал RDP 6.0, выпущенный в 2006 году для Windows Vista. Он принёс поддержку Windows Presentation Foundation (WPF), улучшенную масштабируемость и возможность работы через шлюз удалённых рабочих столов (RD Gateway). Версия 6.1 (Windows 7) добавила поддержку многомониторных конфигураций и DirectX для ускорения графики.

В 2012 году с выходом Windows 8 и Windows Server 2012 появился RDP 8.0, который представил технологию RemoteFX — аппаратное ускорение графики, поддержку USB-перенаправления и улучшенную производительность в условиях низкой пропускной способности сети. RDP 8.1 (Windows 8.1) добавил поддержку протокола WebSocket для работы через веб-браузеры.

В современных версиях Windows 10 и Windows 11 используется RDP 10.0, который включает поддержку H.264/AVC для аппаратного кодирования видео, улучшенную работу с сенсорными экранами, а также интеграцию с Azure Virtual Desktop и Windows 365.

Архитектура и принцип работы

RDP работает по модели «клиент-сервер» на основе стека протоколов TCP/IP. По умолчанию используется порт 3389 (TCP и UDP). Клиентское приложение (mstsc.exe в Windows или сторонние решения) инициирует соединение с сервером, который запускает службу удалённых рабочих столов (TermService).

Протокол состоит из нескольких уровней:

  • Транспортный уровень — обеспечивает установку и поддержание соединения (обычно TCP, но может использоваться и UDP для повышения производительности).
  • Уровень представления — отвечает за кодирование и декодирование графических данных, а также за сжатие и шифрование.
  • Уровень приложений — обрабатывает виртуальные каналы для передачи данных от периферийных устройств, буфера обмена, звука и т.д.

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

Версии и возможности

Ниже приведены основные версии RDP и их ключевые особенности:

ВерсияОС (клиент/сервер)Ключевые нововведения
4.0Windows NT 4.0 Terminal ServerБазовая поддержка удалённого рабочего стола, 8-битный цвет
5.0Windows 2000 Server16-битный цвет, шифрование RC4, перенаправление буфера обмена
5.1Windows XPПеренаправление звука, принтеров, файлов
6.0Windows VistaRD Gateway, поддержка WPF, улучшенная безопасность
6.1Windows 7Поддержка нескольких мониторов, DirectX
7.0Windows 7 SP1RemoteFX, аппаратное ускорение графики
8.0Windows 8, Server 2012USB-перенаправление, улучшенная производительность в WAN
8.1Windows 8.1WebSocket, поддержка Windows RT
10.0Windows 10, 11H.264/AVC, Azure Virtual Desktop, сенсорные жесты

Безопасность

Безопасность RDP является предметом постоянных обсуждений и критики. Протокол поддерживает несколько уровней шифрования:

  • RDP Security — встроенное шифрование на основе RC4 (до версии 6.0). Считается устаревшим и небезопасным.
  • TLS (Transport Layer Security) — начиная с RDP 6.0, поддерживается шифрование через TLS, что позволяет использовать сертификаты и более стойкие алгоритмы (AES).
  • NLA (Network Level Authentication) — начиная с RDP 6.0, требуется аутентификация до установления сеанса, что снижает риск атак типа «человек посередине» и перебора паролей.

Основные угрозы для RDP:

  • Брутфорс-атаки — автоматизированный перебор паролей. Рекомендуется использовать сложные пароли и ограничивать количество попыток входа.
  • Уязвимости BlueKeep (CVE-2019-0708) — критическая уязвимость в RDP до версии 8.0, позволявшая удалённо выполнять код без аутентификации. Была исправлена Microsoft в мае 2019 года.
  • DejaBlue (CVE-2019-1181, CVE-2019-1182) — серия уязвимостей в RDP 8.0 и 8.1, аналогичных BlueKeep, исправленных в августе 2019 года.

Microsoft рекомендует отключать RDP, если он не используется, либо ограничивать доступ по IP-адресам, использовать VPN и включать NLA.

Применение

RDP широко используется в различных сценариях:

  • Администрирование серверов — системные администраторы подключаются к удалённым серверам для управления, настройки и устранения неполадок.
  • Удалённая работа — сотрудники подключаются к своим рабочим компьютерам из дома или командировок.
  • Терминальные серверы — в корпоративных средах несколько пользователей одновременно работают на одном сервере, получая изолированные сеансы.
  • Облачные вычисления — Azure Virtual Desktop и Windows 365 используют RDP для предоставления виртуальных рабочих столов.
  • Обучение и демонстрация — преподаватели и докладчики могут показывать свой экран удалённо.

Альтернативы

Существуют и другие протоколы удалённого доступа:

  • VNC (Virtual Network Computing) — открытый протокол, работающий на уровне кадрового буфера. Менее эффективен по сравнению с RDP, но кроссплатформенен.
  • TeamViewer, AnyDesk, Chrome Remote Desktop — коммерческие и бесплатные решения, использующие собственные протоколы, часто с упором на простоту настройки и обход NAT.
  • SSH (Secure Shell) — протокол для удалённого управления командной строкой, не предоставляющий графического интерфейса.

Критика

RDP подвергается критике за несколько аспектов:

  • Проприетарность — протокол является закрытым, что затрудняет его реализацию сторонними разработчиками и аудит безопасности.
  • Производительность — при низкой пропускной способности сети или высокой задержке RDP может работать нестабильно, особенно при передаче видео или 3D-графики.
  • Безопасность — несмотря на улучшения, RDP остаётся популярной целью для атак, особенно в условиях, когда администраторы оставляют его открытым в интернете без дополнительной защиты.
  • Привязка к Windows — хотя существуют клиенты для macOS, Linux и мобильных платформ, серверная часть RDP доступна только на Windows, что ограничивает его использование в гетерогенных средах.

Источники

  1. Microsoft Corporation. «Remote Desktop Protocol (RDP)». Документация MSDN.
  2. Microsoft Security Response Center. «CVE-2019-0708 — Remote Desktop Services Remote Code Execution Vulnerability». 2019.
  3. Microsoft. «What is Remote Desktop Services?». TechNet.
  4. Книга: «Windows Internals, Part 1» (Mark Russinovich, David A. Solomon, Alex Ionescu). 7-е издание.
  5. Статья: «BlueKeep: The RDP Vulnerability That Won’t Die» (Krebs on Security). 2019.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →