Запитайте, що таке RDP, і отримаєте дві відповіді, обидві правильні. Перша — функція, яка постачається всередині Windows з часів Windows NT. Друга — орендована машина з Windows, що продається місяцями і яку люди називають «RDP».
Якщо роботодавець чи клієнт сказав вам «використати RDP», він майже напевно мав на увазі перше. Найімовірніше, воно у вас уже є. Якщо ви знайшли RDP на сторінці постачальника з ціною поруч, ви дивилися на друге.
RDP означає дві різні речі
RDP — це скорочення від Remote Desktop Protocol, протоколу віддаленого робочого стола. Це протокол Microsoft для керування одним комп'ютером з іншого через мережу, і він вбудований у Windows. Ті самі три літери трапляються й на сторінках продуктів хостерів. У цьому контексті «RDP-сервер» зазвичай означає розміщену машину з Windows, часто VPS, на якій віддалений робочий стіл уже ввімкнено. Ви дістаєтеся до неї за протоколом.
Отже: що таке RDP у вашому випадку? Залежить від того, де ви побачили це слово. Інструкція з налаштування зазвичай має на увазі протокол; хостингові оголошення часто означають орендовану машину з Windows та ввімкненим RDP.
Microsoft розробила RDP у 1998 році. Уперше він з'явився разом із першим випуском Windows NT Terminal Server. На ПК з Windows клієнтська частина вже встановлена і вже оплачена. Вона називається «Підключення до віддаленого робочого стола», і ви знайдете її, набравши цю назву в полі пошуку меню «Пуск». Microsoft випускає й новіші клієнти, зокрема Windows App. Вони доступні на багатьох різних типах пристроїв поза Windows.
Якщо машина, до якої вам потрібно дістатися, вже існує й працює на випуску, здатному приймати віддалений робочий стіл, окремий продукт RDP вам зазвичай не потрібен. Це стосується офісного ПК, сервера, який тримає ваша команда, або VPS, який у вас уже є. Увімкніть доступ, зробіть хост досяжним, потім відкрийте клієнт, введіть адресу та увійдіть.
Як працює протокол віддаленого робочого стола
Три умови мусять виконуватися, перш ніж будь-яке RDP-підключення спрацює, і збій майже завжди пов'язаний з однією з них. Віддалений робочий стіл має бути ввімкнений на хості. Хост має бути досяжний звідти, де ви сидите, тобто з тієї самої офісної мережі або через відкритий шлях в інтернеті. І у вас має бути обліковий запис або дані для входу, які хост приймає, з дозволом входити віддалено. Введення IP-адреси — лише останнє з трьох.
Коли це на місці, сесія проходить у три етапи:
- Налаштування. Адміністратор увімкує віддалений робочий стіл на машині-хості й вирішує, кому можна підключатися. Саме на цьому етапі захист RDP-хоста обходиться найдешевше, бо ще нічого не відкрито.
- Зв'язок. Клієнт надсилає адресу хоста та ваші дані для входу. Якщо їх приймають, хост відкриває сесію для вашого облікового запису. Кроки для підключення з Windows однакові, стоїть хост поряд з вами чи в іншій країні.
- Обмін даними. Хост надсилає вам графіку робочого стола; ваш ввід з клавіатури та мишки йде назад. Ваші застосунки працюють на хості, а не на вашій власній машині.
Під капотом RDP розділяє різні види даних сесії на логічні віртуальні канали, а потім мультиплексує ці канали поверх з'єднання. Оновлення екрана, ввід, друк і перенаправлення пристроїв можна обробляти та впорядковувати за пріоритетом окремо, навіть якщо вони й далі ділять один мережевий шлях. Трафік сесії шифрується під час передавання. Власна документація з архітектури Microsoft відносить компоненти, які керують цими каналами, до родини T.120 від ITU. T.122 визначає багатоточкові служби; T.125 визначає протокол передавання даних.
Число, яке варто запам'ятати, — 3389. Віддалений робочий стіл за замовчуванням слухає порт 3389, причому і по TCP, і по UDP. Цей порт налаштовується через реєстр. UDP — новіший із двох. Він з'явився з оновленням RDP 8.0, яке дозволяє адміністраторові використовувати і TCP, і UDP. Тоді сесії деградують м'якше в мережах із втратами. Коли хтось просить вас «відкрити фаєрвол для RDP», ідеться саме про 3389.
Що вміє RDP
З увімкненим перенаправленням принтера принтер на вашому столі може з'явитися всередині віддаленої сесії так, ніби він підключений там. Цей прийом, званий перенаправленням, і складає більшу частину того, що відрізняє RDP від простого засобу перегляду екрана.
| Властивість | Що це дає | Чому це важливо |
|---|---|---|
| Аутентифікація за смарт-картою | Приймає фізичні токени безпеки з вбудованими чипами | Надійніше, ніж один пароль |
| Зменшення пропускної спроможності | Кодує та стискає оновлення робочого стола замість надсилання сирого повноекранного відео | Робочі сесії на повільних з'єднаннях |
| Використання кількох дисплеїв | Керує більш ніж одним монітором в одній сесії | Віддалений робочий стіл відповідає вашій фізичній конфігурації |
| Підтримка GPU | Може використовувати прискорення GPU на хості та апаратне кодування H.264/AVC там, де це підтримується і ввімкнено | Застосунки з важкою графікою залишаються придатними для перегляду |
| Перенаправлення аудіо | Відтворює віддалений звук через ваші локальні колонки | Відео та дзвінки працюють усередині сесії |
| Перенаправлення файлової системи | Відкриває ваші локальні диски віддаленій сесії | Копіювання файлів не потребує сторонніх інструментів |
| Перенаправлення принтера | Відкриває ваш локальний принтер віддаленій сесії | Не потрібно вивантажувати документ лише щоб роздрукувати його у себе |
| Перенаправлення портів | Підтримує перенаправлення послідовного порту/COM і вибіркове перенаправлення USB при відповідному налаштуванні | Сумісна периферія може залишатися доступною віддалено |
У рядку про GPU є застереження, яке варто знати. Старого компонента RemoteFX vGPU більше немає. Microsoft перелічує відеоадаптер RemoteFX 3D серед вилучених функцій Windows Server і вказує замість нього на Discrete Device Assignment. Цей компонент до того ж ніс уразливість віддаленого виконання коду, CVE-2020-1036. Сучасні хости Hyper-V можуть надавати ресурси GPU через Discrete Device Assignment або розподіл GPU замість RemoteFX vGPU. Саме тому збірки для віддалених ігор такі перебірливі щодо обладнання хоста.
Чи можуть кілька людей бути в системі одночасно — властивість хоста, а не протоколу. Окремий робочий стіл Windows зазвичай обслуговує одну інтерактивну сесію. Розміщувати багато ізольованих сесій на одному Windows Server — задача служби віддалених робочих столів, а не чистого RDP. У звичайному розгортанні RDS на Windows Server кожному користувачеві або пристрою потрібна ще й відповідна ліцензія RDS CAL. Перевірте і модель сесій, і ліцензування, перш ніж обіцяти команді спільну машину.
Де RDP не дотягує
RDP — добрий протокол із чотирма конкретними витратами. Три з них вам доведеться тримати під контролем самому. Четверта вирішує, чи RDP взагалі підходить.
Порт 3389 у відкритому інтернеті
Не виставляйте RDP прямо в публічний інтернет. Відкритий в інтернет 3389 — стандартний вектор первинного доступу, і історія задокументована. CVE-2019-0708, відома як BlueKeep, дозволяла неавтентифікованому атакувальнику виконати код на цілі. Достатньо було підключитися й надіслати спеціально сформовані запити.
BlueKeep і DejaBlue були розкриті та виправлені у 2019 році. Схема експозиції, якою вони користувалися, нікуди не зникла. Підбору даних для входу проти відкритого порту уразливість не була потрібна від початку.
Заходи захисту цілком звичайні. Поставте хост за VPN або шлюз віддалених робочих столів, щоб порт не був досяжний з довільних адрес. Обмежте, яким вихідним адресам дозволено підключатися. Додайте багатофакторну автентифікацію на рівні доступу там, де це підтримує ваша конфігурація, наприклад через розгортання RD Gateway. Установлюйте оновлення Windows у темпі, який ви здатні витримати. Якщо машина мусить бути досяжною звідусіль, обмеження частоти невдалих входів теж належить до цього списку.
З'єднання і є враженням
Кожен кадр, який ви бачите, пройшов через мережу. На стабільному каналі RDP відчувається майже як локальна робота. На завантаженому або з високою затримкою кожне натискання приходить із запізненням, і затримка накопичується протягом фрази. Великі операції з файлами гірші, ніж перемальовування екрана. Мобільні мережі це посилюють. RDP з пристрою Android виграє від зниження роздільної здатності сесії, перш ніж винити сервер.
За сесію платить хост
Відмальовування робочого стола, його кодування та запуск ваших застосунків відбуваються на хості. Машина, якій комфортно тримати фонову службу, може почати буксувати, щойно хтось попрацює на ній інтерактивно. З кожною додатковою сесією стає гірше. Підбирайте розмір хоста під роботу, яку ви збираєтеся на ньому робити, а не під роботу, яку він виконує сьогодні.
Windows на хості, майже будь-що на клієнті
Це та межа, яка вирішує вибір інструмента. Клієнтська сторона обмежена значно менше. Серверна — ні. Документація Microsoft називає випуски, які можуть приймати сесію: Professional, Enterprise, Education і Windows Server. Домашні випуски не можуть.
Саме це обмежує вбудований RDP-хостинг Microsoft системою Windows. macOS не надає RDP-хост нативно, тому керування Mac відправляє вас до іншого інструмента віддаленого доступу. Linux — виняток, про який варто знати. Реалізація з відкритим кодом xrdp відповідає на RDP-підключення без чогось від Microsoft, і xRDP на Ubuntu — звичайна відправна точка.
Що хостери називають RDP-сервером
Ви купуєте його, і постачальник видає вам дані підключення: зазвичай IP-адресу, ім'я користувача та пароль. Жодної фізичної коробки чи локального встановлювача немає. Залежно від постачальника ви можете вибрати версію Windows під час розгортання; сам сервер працює в центрі обробки даних з увімкненим віддаленим робочим столом ще до вашого підключення.
У хостингових оголошеннях цей продукт зазвичай є VPS з Windows та ввімкненим RDP. VPS запускає власне середовище Windows на спільній фізичній інфраструктурі, і ви орендуєте віртуальну машину, а не володієте обладнанням. Постачальник заздалегідь налаштовує протокольну половину, тож хост увімкнений, досяжний і працює ще до вашого першого підключення.
Головна змінна між тарифами — чи належить машина лише вам, чи ділиться. Від цього залежить, що вам можна встановити й що станеться, коли сусід почне навантажувати систему. Це межа між спільними та адміністраторськими тарифами RDP.
Що ви отримуєте з розміщеним RDP-сервером
Перша сесія виглядає так. Відкриваєте «Підключення до віддаленого робочого стола», вставляєте адресу, потім вводите надіслані вам ім'я користувача та пароль. З'являється робочий стіл Windows. З цього моменту він поводиться як будь-яка інша машина з Windows. Ви ставите програми, працюєте в браузері, запускаєте застосунки й залишаєте все працювати, закриваючи вікно.
Ви платите за те, що лежить під цим. Постачальник володіє обладнанням, мережею та фізичною безпекою. Він тримає машину ввімкненою, коли ваш власний ноутбук вимкнений. Визначтеся, де проходить межа. На некерованому тарифі все, що відбувається всередині Windows, залишається на вас. Оновлення, облікові записи та правила фаєрвола — ваша робота. Розміщений сервер прибирає проблему обладнання з вашого стола; проблему встановлення виправлень він не прибирає.
Ще дві властивості важливі на практиці. Ресурси зазвичай еластичні, тому недостатньо потужній машині можна додати CPU або пам'яті без перезбирання. А розташування — це вибір, який ви робите один раз і відчуваєте щодня, бо відстань задає нижню межу відгуку сесії. Постачальники різняться і в тому, і в іншому, а також у тому, яку частину стека вони готові чіпати. Це ті три пункти, які варто зважити, коли ви вибираєте постачальника RDP.
Хто користується RDP-серверами
Цим чотирьом ситуаціям потрібне те саме: машина з Windows, яка залишається ввімкненою, залишається досяжною і не подорожує в сумці.
Віддалені та розподілені команди
Розміщений робочий стіл дає кожному учаснику команди ті самі інструменти й файли, яке б обладнання не стояло перед ним. Він може тримати робочі дані на машині, підконтрольній компанії, замість локального збереження — за умови, що політики буфера обміну, дисків та інших перенаправлень налаштовані відповідно.
Середовища розробки та тестування
Збирання й тестування потребують обладнання, яке більшість часу простоює. Оренда за місяцями дає змогу не купувати обладнання під пік. Зіпсовану тестову машину можна перезібрати, і ніхто не втратить свого робочого місця.
Навчальні та лабораторні середовища
Однаковий заздалегідь налаштований робочий стіл, виданий кожному учневі, означає, що всі починають з одного стану. Ніхто не витрачає перше заняття на встановлення програм чи налагодження проблеми з драйвером на одному ноутбуці.
Підрядна та фриланс-робота
Клієнт може видати підряднику окреме робоче середовище, не даючи прямого доступу до робочого місця компанії. Дані можуть залишатися на розміщеній машині, якщо буфер обміну, диски та інші шляхи перенаправлення обмежені. Коли проєкт завершується, обліковий запис або машину можна видалити.
Альтернативи RDP, про які варто знати
Дві з трьох альтернатив нижче можуть керувати Mac. Це та вісь, навколо якої обертається вся категорія. Перевірка не в тому, у якого інструмента більше функцій, а в тому, що працює на цільовій машині й чи зможете ви до неї дістатися.
| Інструмент | Підтримувані цільові платформи | Як ви до цього дістаєтеся |
|---|---|---|
| Протокол віддаленого робочого столу | Windows | Власна адреса хоста, за замовчуванням порт 3389 по TCP або UDP |
| Віддалений робочий стіл Chrome | Mac, Windows або Linux | Через браузер, з введенням PIN-коду в момент підключення |
| TeamViewer | Windows, macOS, Linux і підтримувані пристрої Android; на iOS/iPadOS та ChromeOS лише демонстрація екрана | Програма TeamViewer на віддаленому пристрої; настільний або вебклієнт на стороні, що підключається |
| UltraVNC | Windows | Засіб перегляду для Windows або Java-клієнт з Linux, macOS та інших систем |
Власна документація Google описує налаштування Chrome Remote Desktop для віддаленого доступу до комп'ютера з Mac, Windows або Linux, тобто саме до того випадку, який RDP закрити не може. Тут це найпростіший у запуску варіант. Він же кладе найбільше сторонньої інфраструктури на шлях з'єднання, і саме там лежать його компроміси в безпеці.
TeamViewer охоплює тут найширший набір платформ, але підтримка не однакова на кожній цілі. Його актуальна матриця підтримки включає Windows, macOS, Linux, Android, iOS/iPadOS та ChromeOS; iOS/iPadOS і ChromeOS стосуються скоріше демонстрації екрана, ніж повноцінного віддаленого керування.
Родина VNC — найближчий технічний родич і найбільш несхожий на практиці. Власна документація UltraVNC описує сервер лише для Windows і засіб перегляду на Java для решти платформ. Шифрування в ній до того ж трактується як підключуваний модуль, а не як поведінка за замовчуванням, і це найважливіше, що потрібно знати перед роботою через недовірену мережу. На хості з Windows вибір між RDP і VNC зазвичай зводиться саме до цього.
Коли орендувати машину з Windows — правильна відповідь
Серверна сторона RDP зводиться до короткої вимоги: машина, яка залишається ввімкненою й досяжною, має достатньо CPU та пам'яті для інтерактивної роботи й отримує оновлення. Якщо така машина у вас уже є і вона може приймати віддалений робочий стіл, окрему послугу RDP купувати не потрібно. Увімкніть віддалений робочий стіл, зробіть хост досяжним і підключіться клієнтом.
Якщо її немає, саме цю вимогу й закриває розміщений RDP-сервер. У Cloudzy наші сервери Windows RDP постачаються з передвстановленим Windows Server та ввімкненим віддаленим робочим столом, із SLA доступності 99,95 %. Вони працюють у центрах обробки даних у Північній Америці, Європі, на Близькому Сході та в Азійсько-Тихоокеанському регіоні, тож машину можна поставити поряд з тими, хто нею користується. Є 14-денна гарантія повернення коштів, якщо затримка виявиться гіршою, ніж ви сподівалися.
Часті запитання
RDP безкоштовний?
Окремої плати за протокол RDP або за вбудований клієнт Windows немає. Якщо ви вже володієте підтримуваним хостом або обслуговуєте його, ви можете підключитися до нього, не купуючи продукт під назвою «RDP». Грошей коштує машина на іншому кінці. Постачальник, який рекламує «RDP» за місячну ціну, здає вам розміщений сервер Windows, а не протокол.
Чи можна використовувати RDP на Mac або Linux?
Підключатися можна з обох. Microsoft надає Windows App і клієнти віддаленого робочого стола для macOS та низки інших платформ; на Linux вам знадобиться сторонній RDP-клієнт. Розміщення — це зворотний напрямок. Linux може відповідати на RDP через xrdp, тоді як macOS не надає RDP-хост нативно.
Протокол віддаленого робочого стола — те саме, що VPN?
Ні. RDP дає вам екран і клавіатуру однієї конкретної машини. VPN поміщає ваш пристрій у мережу, щоб ви могли дістатися до того, що в ній є, але робочого стола він вам не видає. Їх часто використовують разом: VPN забезпечує приватний шлях, а RDP гонить сесію поверх нього.
Чи варто змінювати стандартний порт RDP?
Це знижує шум, а не ризик. Нецільове сканування перевіряє 3389 і йде далі, тому інший порт тримає цей трафік поза вашими журналами. Контролем доступу це не є: сканування, спрямоване на вашу адресу, все одно знайде службу. Вважайте це прибиранням, але ніколи — заміною обмеженню доступу.