Комментарии 33
citrix тут совсем не у дел?
Так и не понял из статьи про "вырывание (почти) из рабства"...
Есть опенсорсная реализация как сервера, так и клиента, что для проприетарного протокола уже (почти) хорошо
И чем наличие опенсорсных реализаций делает протокол менее проприетарным?
Или вышла какая-то свежая реализация? Xrdp с 2004го года живет потихоньку...
так этим "почти" MS RDP аналогам сто лет в обед. А если сравнить их качество с MS RDP - как пешком до луны
Да, только они работают а-ля VNC (тупо гоняют битмапы).
Проприетарный же RDP несколько быстрее, так как передаёт по сети GDI-примитивы.
BSOD в WIN10 все еще синий
Но да, так же часто как в XP, еще до выхода SP3, он не падает.
Кстати, есть видео из первых рук (ну ладно, из вторых) о том, как BSOD эволюционировал: https://www.youtube.com/watch?v=KgqJJECQQH0
Microsoft Remote Desktop (находится в Microsoft Store, отличается от MSTSC).
Внутри использует COM компонент и написан на C#.
Поэтому его легко реверсануть и написать свою реализацию.
(Про остальные не знаю, не изучал)
Но наличие решений испольующих этот компонент, не приближает открытости решения, как это НЕ произошло с Trident'ом...
Думается мне, единственный вариант появления открытого решения - если бизнес начнёт платить за реверс, как это произошло с Biff8.
Это одна из причин, почему админы часто ставили Windows Server даже на персоналки. Они тогда говорили, что Windows Server 2012 даже работает стабильнее, чем обычная Windows 7, почти никогда не падает.
Почему в прошедшем времени? И сейчас 2022 сильно приятней 10/11, не надо постоянно бороться с системой, один раз настоил и вперёд. Удобно, что нужные компоненты можно добавить в несколько кликов, а не наоборот, отковыривать от клиентской версии ненужный шлак...
Единственная проблема, с которой я пока что столкнулся
— запоротый драйвер I²C-периферии, так что не на все ноуты можно воткнуть сервер. Драйвер от 10ки удалось запихнуть, но стартовать он почему-то отказывается
Кстати до недавнего времени Microsoft Remote Desktop App из Microsoft Store был уязвим к MitM (легко реализуется через https://github.com/GoSecure/pyrdp) при повторных подключениях к серверу с самоподписанным сертификатом без NLA из-за того, что при указании галки "Don't ask about this certificate again" сохранял в качестве идентификатора trusted сертификата его серийный номер, а не отпечаток.
Ссылка на CVE: https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2023-28290
Исправляли уязвимость полгода (зарепортил 2022-12-03, закрыта 2023-05-25). В какой-то момент после моего репорта на странице заметок о релизах https://aka.ms/rdwinupdates добавилась формулировка "We're no longer updating the Remote Desktop app for Windows with new features"
Благодаря RDP, можно подключиться к другой системе и работать за ней словно за своим компьютером. То же самое делают, например, AnyDesk и TeamViewer, у которых протоколы схожей функциональности.
Всё же не стоит сравнивать RDP со всякими там энидесками. Задачи у них разные. RDP — это удалённая работа в первую очередь, терминальный режим. А тимвьюверы — это удалённое управление, подключение к существующей сессии, проход NAT'а.
anydesk и teamviewer принципиально отличаются от rdp, работают совсем по другому. и открытые клоны (возможно не все) работают так же как anydesk и teamviewer, не используют главный козырь настоящего rdp - передачу изображения в виде векторов
Однажды нехороший мамкин хакер зашел на мой виндоус сервер по RDP и украл около 100к рублей с аккаунта. Сервак был в одном из популярных хостингов и был защищен стандартным паролем. Может быть кому-то пригодится мой совет: максимально защищайте RDP-сервера
H.264
А откуда дровишки? Насколько знаю там повсеместно используется хитрый вариант RLE.
А зачем RDP использовать? В смешанных стеках одни проблемы. Может посмотреть в стороны VNC или какого-то другого открытого протокола?
Забыли упомянуть RDP-сервер, встроенный в гипервизор VirtualBox. Хотя конечно VNC в нём был бы уместнее.
Функция слежки за пользовательскими сессиями со стороны администратора возвращена обратно
Это что за функция? rdp shadow? Так её нельзя использовать для этого на несерверной винде, или подразумевается какая-то другая функция?
можно, даже на Windows 7, только т-с-с-с
вы про нарушение лицензии путём разрешения одновременной работы несколькими пользователями?
нет
Тогда расскижите о методе, мне интересно.
На ОС, к которой надо подключаться, надо разрешить RemoteRPC: HLMK\SYSTEM\CurrentControlSet\Control\Terminal Server
, параметр AllowRemoteRPC
значение 1
(тип REG_DWORD).
Ну и ещё там же fDenyTSConnections
, но подразумеваем, что он включён.
Также можно добавить настройки политики для Shadow, чтобы у пользователя не спрашивать разрешения на подключение:HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
, параметр Shadow
, значение 2
(тоже REG_DWORD).
После этого можно подключаться с удалённых компьютеров.
Если надо подключаться к Windows 7, то придётся найти/создать донора с Windows 2008 R2, затем залогиниться на нём по RDP (роль сервера УРС не нужна, админский сеанс подойдёт), и там выполнить:shadow console /server:pc-win7
Для ОС после Windows 7 можно откуда угодно и с локального сеанса:mstsc /v:pc-win10 /shadow:1 /noConsentPrompt /control
Может речь про то что предоставляет sccm? Кажется условный RDP shadow, с подключением поверх юзера управление его манипуляторами удаленно?
Заголовок про одно, статья про другое, чистый кликбейт. Текст чисто про работу RDP. Редко хочется поставить дизлайк, это тот случай.
Предлагаю поменять название статьи на "Протокол RDP и его свободные реализации".
Также из текста статьи был не совсем понятен вот этот переход:
На сервере стоит устройство видеозахвата, которое записывает видео, сжимает его кодеком H.264 — и отправляет клиенту.
На сервере RDP использует собственный видеодрайвер для рендеринга вывода изображения на экран, внедряя информацию о рендеринге в сетевые пакеты с помощью протокола RDP и отправляя их по сети на клиент. На клиенте RDP получает данные рендеринга и интерпретирует пакеты в соответствующие вызовы API интерфейса графических устройств Microsoft Windows (GDI).
Потерялось самое важное — что передаётся в виде видео, а что в виде GDI вызовов, и где у них грань между видео и передачей GDI. Возможно, этой информации нет в том источнике, на основе которого вы готовили статью, но всё равно было бы интересно это узнать, т.к. в этом самая соль "родной реализации RDP".
Как протокол RDP (почти) вырвался из проприетарного рабства