RDP-сервер — сервер под управлением Windows с включённой ролью Remote Desktop Services (RDS), позволяющий пользователям подключаться к рабочему столу через протокол RDP. Клиент (mstsc.exe на Windows, FreeRDP на Linux/macOS) устанавливает зашифрованное соединение на порт 3389 и получает изображение рабочего стола сервера.
Как работает RDP
RDP — протокол уровня приложений поверх TCP. Передача данных:
- Клиент подключается к серверу по TCP/3389 и проходит TLS-рукопожатие.
- Аутентификация через NLA (Network Level Authentication) — Kerberos или NTLM.
- Сервер передаёт изображение экрана в виде команд отрисовки (не JPEG/видео) или в режиме RemoteFX — сжатого видеопотока.
- Клиент отправляет события клавиатуры, мыши и аудио.
Пропускная способность при типичной работе — 50-200 Кбит/с. В режиме RemoteFX с видео — до 10 Мбит/с.
Сценарии использования RDP-сервера
- Удалённый доступ к Windows-приложениям без Linux-версий (1С, AutoCAD, специализированный ПО).
- Виртуальные рабочие места (VDI): пул серверов обслуживает множество пользователей, у каждого своя сессия.
- Администрирование Windows Server без физического доступа.
- Серверы для трейдинга — стабильный Windows с MT4/MT5, доступный с любого устройства.
История
Microsoft разработала RDP на основе протокола T.120 (ITU) и впервые включила в Windows NT 4.0 Terminal Server Edition в 1998 году. В Windows XP (2001) базовый RDP-клиент (mstsc.exe) стал частью ОС. Протокол развивался: RDP 7.0 (Windows 7, 2009) добавил поддержку нескольких мониторов и DirectX. RDP 10.x (Windows 10) — Adaptive Graphics (H.264/AVC), AutoSize, AutoReconnect. Актуальная версия — RDP 10.9.
Безопасность RDP
RDP — одна из наиболее атакуемых поверхностей: открытый порт 3389 сканируется ботами постоянно. Основные угрозы:
- Брутфорс — автоматизированный перебор паролей. Решение: сложный пароль + ограничение числа попыток.
- BlueKeep (CVE-2019-0708) — критическая уязвимость RDP в Windows 7/Server 2008, позволявшая RCE без аутентификации. Закрыта патчем в 2019 году.
- Relay-атаки через NLA. Решение: использовать NLA + TLS.
Минимальная конфигурация безопасности: включить NLA, сменить порт с 3389 на нестандартный, поставить за VPN или файрвол с ограничением IP-источников, включить двухфакторную аутентификацию.
Альтернативы RDP для Linux
xrdp — open-source реализация RDP-сервера для Linux, работает поверх X11 или Xvfb. Позволяет подключаться к Linux-рабочему столу через стандартный RDP-клиент (mstsc.exe). Поддерживает XFCE, MATE, GNOME. Настройка: установка xrdp + xfce4, настройка .xsession. VNC (TigerVNC, x11vnc) — альтернатива с собственным протоколом: медленнее RDP, нет встроенного шифрования (использовать через SSH-туннель).
Безопасные практики для RDP-сервера: включить NLA (защита от BlueKeep), перенести порт с 3389 на нестандартный, включить Windows Firewall с ограничением IP-источников, использовать Microsoft Authenticator для 2FA через Azure MFA или Duo Security. Журнал событий Windows: Event ID 4624 (успешный вход), 4625 (неудача), 4648 (вход с явными credentials).
RDP vs SSH vs VNC
RDP — для Windows с графическим интерфейсом. SSH — для Linux и командной строки. VNC — кроссплатформенный протокол рабочего стола, но медленнее RDP и без встроенного шифрования. Для Linux-серверов RDP иногда используют через xrdp — open-source реализацию RDP-сервера для X11/Wayland.