Rdg файл, чем открыть

Обновлено: 21.11.2024

10 марта Microsoft опубликовала рекомендации по безопасности с описанием уязвимости в диспетчере подключений к удаленному рабочему столу (RDCMan):

[RDCMan] неправильно анализирует ввод XML, содержащий ссылку на внешний объект. Злоумышленник, успешно воспользовавшийся этой уязвимостью, может прочитать произвольные файлы с помощью объявления внешнего объекта XML (XXE). Чтобы воспользоваться этой уязвимостью, злоумышленник может создать файл RDG, содержащий специально созданный XML-контент, и убедить пользователя, прошедшего проверку подлинности, открыть этот файл.

Майкрософт оценила возможность использования уязвимости как менее вероятная, что кажется разумным, учитывая, что загрузка файлов RDG из ненадежных источников (или вообще откуда угодно) — довольно редкий случай. Я уверен, что для исправления потребуется всего несколько строк кода, но у Microsoft явно были другие приоритеты. Что кажется беспрецедентным шагом для такого широко используемого инструмента, как RDCMan, Microsoft просто удалила его из каталога загрузки:

Microsoft не планирует устранять эту уязвимость в RDCMan и объявила это приложение устаревшим. Microsoft рекомендует использовать поддерживаемые клиенты удаленного рабочего стола.

Конечно, RDCMan был неподдерживаемым продуктом, и разработка уже некоторое время останавливалась, поэтому это решение не нарушало никаких политик поддержки и не стало большой неожиданностью. Но, как автора плагина для RDCMan, это решение все равно разочаровало.

Подключаемый модуль Google Cloud IAP для удаленного рабочего стола

RDCMan не был самым многофункциональным RDP-клиентом и уж точно не был RDP-клиентом с самым современным UX. Но уникальной функцией, которую предоставил RDCMan, был простой (хотя и недокументированный) API плагинов.

Я использовал этот подключаемый API для разработки подключаемого модуля Google Cloud IAP для удаленного рабочего стола, который добавил возможность подключения к экземплярам ВМ через туннель переадресации Cloud IAP TCP.

Причина, по которой я создал этот подключаемый модуль, на самом деле довольно эгоистична: я часто использую виртуальные машины Windows и обращаюсь к ним не только в офисе, но и когда я путешествую или работаю дома. Тем не менее, я также достаточно беспокоюсь о безопасности, поэтому я никогда не хочу раскрывать RDP через общедоступный Интернет.

Доступ к RDP через TCP-туннель IAP — отличный способ избежать публичного раскрытия RDP. Однако необходимость устанавливать туннели с помощью gcloud computing start-iap-tunnel для каждой виртуальной машины, к которой вы подключаетесь, может довольно быстро стать громоздкой. Поэтому интеграция логики управления туннелями в RDCMan показалась мне логичным шагом, позволяющим объединить удобство RDCMan с безопасностью IAP.

Я опубликовал плагин летом 2019 года и с тех пор использую его почти каждый день.

Но после того, как Microsoft отказалась от RDCMan, будущее плагина внезапно оказалось под угрозой, и мне пришлось пересмотреть свои варианты.

Замена RDCMan

Сначала я ничего не мог сделать и отпустил его. Я мог бы продолжать использовать RDCMan и подключаемый модуль самостоятельно, но для проекта с открытым исходным кодом это был бы конец, поскольку не было бы смысла развивать подключаемый модуль для приложения, которое люди больше не могут скачивать.

Во-вторых, я мог сменить коня и поискать другой RDP-клиент для расширения. Многие существующие RDP-клиенты оказались с закрытым исходным кодом, и среди нескольких проектов с открытым исходным кодом mRemoteNG кажется единственным, который все еще активно поддерживается. mRemoteNG — достойный инструмент, и я сам использовал его в прошлом. Но как клиент для RDP, VNC, SSH, RCA и бог знает чего еще, mRemoteNG просто пытается быть слишком большим для слишком многих людей. Кроме того, исходный код находится под лицензией GPL, что затрудняет мне работу с ним.

В-третьих, я мог избавиться от зависимости от RDCMan и превратить плагин в отдельное приложение. Это дало бы мне максимальную гибкость и позволило бы избежать риска снова попасть в подобную ситуацию. Но создание полнофункционального диспетчера подключений к удаленному рабочему столу также будет нетривиальной задачей.

Создание диспетчера подключений к удаленному рабочему столу

Тяжелая работа любого RDP-клиента, работающего в Windows, на самом деле выполняется элементом управления ActiveX для удаленного рабочего стола. Этот элемент управления отображает удаленный рабочий стол, а также инкапсулирует логику протокола RDP. Все, что нужно сделать приложению, — предоставить графический интерфейс, управлять настройками и разместить элемент управления Active X.

Однако это легче сказать, чем сделать.

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

Поддержка произвольно вложенных структур папок, наследование настроек, шифрование учетных данных, работа с искаженным вводом, реализация сохраняемости — ничто из этого не является особенно сложным, но в сумме это все равно требует много работы.

Вторая заметная область сложности связана с самим RDP ActiveX. Этот элемент управления существует уже более десяти лет, и на сегодняшний день у него не менее 10 версий интерфейса — от IMsRdpClient до IMsRdpClient10. Поскольку элемент управления является частью Windows, от версии ОС зависит, какую версию интерфейса поддерживает элемент управления ActiveX на вашем компьютере, а какую нет. Поэтому многие диспетчеры подключений к удаленному рабочему столу проверяют разные версии интерфейса и адаптируют свой набор функций в зависимости от версии операционной системы, в которой они работают.

В центре внимания Google Cloud

IAP — это уникальная функция Google Cloud. Поэтому с самого начала было ясно, что автономный RDP будет поддерживать только экземпляры ВМ, работающие в Google Cloud.

В Google Cloud все ресурсы управляются в проектах (которые, в свою очередь, могут быть в папках), поэтому об управлении запасами уже позаботились. Вместо того, чтобы заново изобретать велосипед, позволяя пользователям придумывать свою собственную структуру, сосредоточившись на Google Cloud, я смог повторно использовать существующую структуру проекта, запрашивая API диспетчера ресурсов.

Конечно, это оставило проблему необходимости управлять настройками и сохранять их. Но поскольку структура проекта довольно стабильна (вы не можете вкладывать проекты друг в друга и не можете легко перемещать виртуальные машины между проектами), эту проблему оказалось решить намного проще.

Вторая проблема, связанная с различиями между версиями ActiveX, при ближайшем рассмотрении оказалась несложной: раньше существовали значительные различия в поддерживаемых версиях интерфейса между версиями до Windows 8/Windows Server 2012, но различия между более поздними версиями почти ничтожны.

Поддержка Windows 7 и Windows Server 2008 была прекращена в начале этого года. Сосредоточив внимание на поддерживаемых версиях Windows, я смогу избежать дополнительных сложностей, связанных с работой (и тестированием) разных версий.

Настольный ПК для покупок в Интернете

Поэтому я превратил плагин в отдельное приложение и назвал результат IAP Desktop

.

Функционально IAP Desktop похож на Диспетчер подключений к удаленному рабочему столу с установленным подключаемым модулем IAP, но он специфичен для Google Cloud и безоговорочно использует туннелирование IAP для подключения к RDP. Приложение поставляется в виде пакета .msi размером 2 МБ и работает в Windows 8/Windows Server 2012 и более поздних версиях. Он не имеет никаких особых зависимостей, а также не требует gcloud.

Первая альфа-версия IAP Desktop теперь доступна для загрузки на Github. Вы можете попробовать, и если вы это сделаете, обязательно дайте мне знать, что вы думаете!

Похожие сообщения

Все мнения, высказанные в этом блоге, принадлежат Йоханнесу. За достоверной информацией обращайтесь к документации по продукту соответствующего поставщика.

Категории

Архив

О Йоханнесе

Йоханнес Пассинг живет в Берлине, Германия, и работает штатным архитектором решений в Google Cloud, где занимается управлением идентификацией и доступом (IAM).

В качестве архитектора решений Йоханнес работает с клиентами в регионе EMEA и за его пределами и публикует статьи для веб-сайта и блога Google Cloud. Он также является автором и разработчиком IAP Desktop, приложения для RDP и SSH-доступа с нулевым доверием к виртуальным машинам Linux и Windows в Google Cloud.

Помимо IAM, Йоханнес увлекается архитектурой программного обеспечения и бережливой разработкой программного обеспечения.

Обновление от 24 июня 2021 г.: доступен RDCMan 2.8.1. Пожалуйста, смотрите здесь.

Почтенный диспетчер подключений к удаленному рабочему столу (RDCMan) 2.2 начал устаревать.

После небольшого перерыва RDCMan 2.7 теперь доступен. Пожалуйста, поблагодарите Джулиана Бургера за ранний рождественский подарок. Диспетчер подключений к удаленному рабочему столу (RDCMan) — отличный инструмент для объединения нескольких RDP-подключений в одном окне, чтобы предотвратить беспорядок на рабочем столе.

RDCMan 2.7 поддерживает Windows 8, 8.1, Server 2012 и 2012 R2.

Этот инструмент можно загрузить в центре загрузки Microsoft.

Обновление от 02.03.2015: примечание ниже выделено, так как пользователи переходят по ссылке для скачивания и не читают примечания. если у вас есть .RDG в папке установки, создайте его резервную копию перед обновлением до версии 2.7

Указатели установки

Об этом инструменте стоит отметить несколько моментов:

Он будет установлен в папку Program Files x86 на машине x64:

C:\Program Files (x86)\Microsoft\Диспетчер подключений к удаленному рабочему столу

Не сохраняйте пользовательские файлы RDG в папке установки на тот случай, если ваша локальная рабочая станция выйдет из строя и файл исчезнет. В дополнение к этому, при обновлении инструмента обычно удаляется папка установки, что приводит к удалению файла .RDG в процессе. Все ваши соединения будут потеряны.

Я всегда храню свои файлы .RDG в подпапке "Мои документы", которая является перенаправленной папкой на файловый сервер.

Файлы RDG переносимы, и вы можете поделиться ими в своей организации. Например, когда вы получаете нового администратора, дайте ему копию файлов RDG, и он сможет просмотреть ваш список серверов и легко подключиться — при условии, что у них есть разрешения….

Файл справки находится в подкаталоге Resources, неудивительно, что он называется help.htm

2.7 Исправления и функции

Из приведенного выше файла справки. Дополнительные сведения см. в файле справки.

Новые функции

  • Поддержка подключения виртуальной машины к консоли
  • Параметры размера клиента берутся из файла конфигурации приложения (RDCMan.exe.config), а не жестко запрограммированы.
  • View.Client size.Custom пункт меню показывает текущий размер
  • Размер View.Client => От размера удаленного рабочего стола
  • Возможность скрыть главное меню, пока не будет нажата клавиша Alt. При наведении курсора на заголовок окна также отображается меню.
  • Добавлены смарт-группы.
  • Поддержка шифрования учетных данных с помощью сертификатов
  • Улучшенная обработка файлов, доступных только для чтения.
  • Добавлена ​​виртуальная группа недавно использовавшихся серверов.
  • Новая реализация миниатюр для более предсказуемой навигации.
  • В режиме миниатюр запоминается положение прокрутки при смене групп и т. д.
  • Повышение производительности при загрузке больших файлов.
  • Разрешить масштабирование для пристыкованных серверов (Настройки отображения. Масштабирование пристыкованного удаленного рабочего стола по размеру окна)
  • Разрешить масштабирование для незакрепленных серверов (Настройки отображения. Масштабировать незакрепленный удаленный рабочий стол по размеру окна)
  • «Источник» для наследования в диалоговом окне свойств теперь представляет собой кнопку для открытия свойств исходного узла.
  • Всплывающее окно для сброса фокуса => изменено на кнопки, добавлена ​​опция сворачивания.
  • Добавлен параметр командной строки "/noconnect" для отключения диалогового окна "переподключение серверов" при запуске.
  • Элементы меню сеанса для отправки ключей в удаленный сеанс, например. Ctrl+Alt+Del
  • Элементы меню сеанса для отправки действий в удаленный сеанс, например. показать чудо-кнопки
  • Domain="[display]" означает использование отображаемого имени для имени домена.

Исправлены ошибки

  • Приложение теперь поддерживает DPI.
  • Отключение сервера, невидимого на панели клиента, приводило к тому, что клиент не отображался в отстыкованном виде.
  • Сочетание клавиш Ctrl+S вообще не работало. Теперь он работает и всегда сохраняет, даже если в файле нет обнаруженных изменений.
  • Сочетания клавиш не работали, когда фокус был на миниатюре.
  • Добавить/удалить профиль на вкладке управления. В том же экземпляре диалога профили не обновляются. Точно так же добавление нового профиля из списка не обновляет вкладку.
  • Заголовок окна не обновлялся при удалении выбранного узла и выборе нового узла (открытие файла, закрытие файла).
  • Подключение через клавиатуру не всегда давало фокус, когда нужно.
  • Подключенная группа всегда будет отображаться при подключении к машине, независимо от настроек.
  • Выбор встроенной группы, а затем ее скрытие с помощью параметра меню не работали должным образом.
  • Редактирование свойств сервера/группы не всегда помечало файл как измененный.
  • Отсутствие изменений может привести к появлению запроса на сохранение при выходе. Этого больше не должно происходить.
  • Активация контекстного меню с помощью кнопки на клавиатуре не всегда работала на правильном узле.
  • Изменение имени сервера/группы не меняет заголовок окна, если в данный момент выбран сервер/группа.
  • Горячие клавиши ALT+PAGEUP и ALT+PAGEDOWN поменялись местами. Это исправлено для новых установок — для существующих файлов, которые вы захотите изменить на вкладке [Инструменты.Параметры.Горячие клавиши].
  • Опция командной строки /reset не сбрасывала все настройки
  • Опция «Дерево серверов» в диалоговом окне освобождения фокуса «Выбрать сервер» не отображала дерево серверов, если оно было скрыто.
  • Новый файловый каталог по умолчанию теперь называется «Документы».
  • Диалоговое окно ListSessions иногда появлялось в странном месте. Теперь находится в главном окне.

Наконец и самое главное, пожалуйста, скажите большое спасибо Джулиану Бургеру, разработчику, написавшему это, и Дэвиду Заццо за работу над первоначальным выпуском инструмента!!

Microsoft возродила приложение Remote Desktop Connection Manager (RDCMan), которое было объявлено устаревшим в прошлом году из-за серьезной ошибки раскрытия информации о серьезности, которую компания решила не исправлять.

RDCMan — это клиент Windows RDP (протокол удаленного рабочего стола), используемый системными администраторами для управления несколькими подключениями к удаленному рабочему столу.

После прекращения поддержки приложения корпорация Майкрософт посоветовала клиентам переключиться на встроенное в Windows подключение к удаленному рабочему столу (%windir%\system32\mstsc.exe) или на универсальный клиент удаленного рабочего стола.

«В приложении диспетчера подключений к удаленному рабочему столу (RDCMan) существует уязвимость, связанная с раскрытием информации, когда оно неправильно анализирует ввод XML, содержащий ссылку на внешний объект», — пояснила Microsoft в бюллетене по безопасности за март 2020 г.

"Злоумышленник, успешно воспользовавшийся этой уязвимостью, может прочитать произвольные файлы с помощью объявления внешнего объекта XML (XXE)".

Злоумышленники могут воспользоваться ошибкой (отслеживаемой как CVE-2020-0765), обманом заставив прошедшие проверку цели открывать файлы RDG, содержащие вредоносный XML-контент.

RDCMan возродился как инструмент Sysinternals

Однако, как сообщил ранее в этом году технический директор Microsoft Azure Марк Руссинович, компания добавила RDCMan в набор инструментов Windows Sysinternals и выпустила версию 2.8 в конце июня.

"Хорошие новости для поклонников RDCMan (Remote Desktop Connection Manager) (таких как я): мы спасли его от отказа, перенеся в Sysinternals", – сказал Руссинович в феврале, подтверждая возрождение инструмента. "Ждите дебют Sysinternals в ближайшем будущем."

Хотя компания не сообщила подробностей об уязвимости в системе безопасности, устраненной в RDCMan 2.8, это не та уязвимость, которая привела к прекращению поддержки приложения в прошлом году.

Сегодня Microsoft сообщила в обновлении первоначального бюллетеня по безопасности, что уязвимость была устранена в RDCMan 2.82, выпущенном 27 июля на веб-сайте документации Sysinternals.

Новая версия диспетчера подключений к удаленному рабочему столу работает в Windows 8.1 и более поздних версиях или Windows Server 2012 и более поздних версиях.

«Пользователям с более ранними версиями ОС, чем Win7/Vista, потребуется установить клиент служб терминалов версии 6», — сообщает Microsoft. "Вы можете получить это из Центра загрузки Microsoft: XP; Win2003."

RDCMan предназначен для пользователей, которым необходимо управлять множеством подключений RDP. Этот инструмент объединяет их в группы и, таким образом, позволяет применять настройки и действия к набору хостов. Microsoft убрала RDCMan с рынка в 2020 году из-за проблем с безопасностью, но теперь он вернулся как часть SysInternals.

Вольфганг Зоммергут имеет более чем 20-летний опыт работы в сфере ИТ-журналистики. Он также работал системным администратором и техническим консультантом. Сегодня он руководит немецким изданием WindowsPro.de.

  • Синхронизация файлов между ПК и мобильными устройствами с помощью Synology Drive — понедельник, 14 марта 2022 г.
  • Защита RDP-соединений с помощью Remote Credential Guard – среда, 9 марта 2022 г.
  • Удаленное удаление программ с помощью PowerShell – среда, 2 марта 2022 г.

Если вы сохраняете подключения RDP в виде файлов конфигурации (*.rdp) в папках, вы можете организовать их по определенным критериям, но вам придется настраивать их все по отдельности. Основное преимущество RDCMan заключается в том, что вы можете управлять группой подключений в одном месте и легко находить их с помощью функции поиска.

Добавление групп и хостов ^

Текущая версия 2.8 RDCMan уже содержит группу под названием Подключения Hyper-V, если гипервизор активирован на компьютере. Однако интеграция с Hyper-V ограничена необязательным запуском VMConnect. Например, запуск или остановка виртуальных машин из RDCMan невозможна; вы должны запросить даже их идентификатор с помощью Get-VM и скопировать его в соответствующее поле.

В настройках хоста VMConnect можно настроить как предпочтительный тип подключения

Если вы хотите добавить дополнительные группы, вам нужно создать отдельный файл (*.rdg) для каждой группы.

Хосты можно добавлять в группу по отдельности через меню «Правка» > «Добавить сервер» или импортировать из текстового файла. При добавлении вручную RDCMan поддерживает различные шаблоны, такие как server12, для создания записей от server001 до server015.

Импорт из текстовых файлов ^

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

Импорт хостов из текстового файла в группу

Например, если вы хотите перенести список серверов из альтернативного диспетчера подключений mRemoteNG в RDCMan, вы сначала экспортируете его в виде файла CSV. Затем вы можете использовать PowerShell для извлечения имен и записи их в текстовый файл с помощью следующей команды:

После этого отображаемое имя и любое описание необходимо добавить или изменить вручную, поскольку эти данные невозможно импортировать. В качестве альтернативы вы можете прочитать имена хостов из Active Directory, поскольку сам инструмент не может запрашивать AD:

На практике, конечно, вы должны использовать фильтр, отличный от '*'.

Управление настройками ^

По умолчанию все новые подключения наследуют настройки группы. Это позволяет вам указать в одном месте учетные данные для входа, какой шлюз RDS вы хотите использовать или какое разрешение экрана вы предпочитаете. Однако вы можете переопределить эту унаследованную конфигурацию для отдельных хостов.

Для разрешения можно указать фиксированные значения или размер окна клиента RDCMan

Для отображения вы можете выбрать фиксированный размер, полноэкранный режим или размеры клиентской области RDCMan. Последний вариант обещает гибкое изменение размера удаленного рабочего стола, но инструмент не предлагает эту возможность.

Экран больше не актуален ^

Если вы увеличите или уменьшите размер окна, вам придется повторно подключиться к сеансу, чтобы настроить отображение. В этом отношении альтернативы, такие как mRemoteNG или PremoteM, явно лучше.

Если окно удаленного сеанса уменьшается, оно не изменяется до нового размера

Это также имеет место при масштабировании размеров текста и символов в удаленном сеансе на мониторах с высоким разрешением, где превосходно работают два упомянутых инструмента; однако RDCMan нечего предложить.

Несколько типов групп ^

В дополнение к статическим группам RDCMan также предлагает динамические группы. Один тип называется смарт-группой, поскольку ее участников можно выбирать с помощью фильтров.

Членов смарт-группы можно добавлять динамически с помощью фильтров

Для этого вы вводите подстроки, которые должны отображаться в отображаемом имени, имени хоста, родительской группе или описании. Затем он должен отобразить соответствующие хосты; однако часто он вообще ничего не отображает, в зависимости от того, где в иерархии находится эта группа.

Удобной функцией является встроенная группа повторного подключения. RDCMan попытается повторно подключить свои хосты после потери соединения. Типичное применение этой функции — когда хосту необходимо перезагрузиться из-за обновления или после добавления роли сервера.

К другим предопределенным группам относятся хосты, к которым вы подключаетесь ad hoc, не добавляя их в группу, те, к которым у вас есть активный сеанс, и самые последние использовавшиеся подключения.

Группы служат организационными единицами в RDCMan для централизованной настройки параметров всех включенных подключений. Кроме того, вы можете одновременно подключиться ко всем хостам в группе. Затем сеансы отображаются в виде эскизов на правой панели.

Если вы выберете название группы, активные подключения появятся в виде живых миниатюр

Однако невозможно выбрать только определенные компьютеры в группе и установить с ними соединения.

Вывод ^

В целом RDCMan 2.8 функционально находится на том же уровне, что и версия 2.7. Новым, однако, является функция, общая для SysInternals: вам не нужно устанавливать инструменты, а только распаковывать и запускать их. Теперь это верно и для RDCMan 2.8, которую можно скачать здесь.

Если Марк Руссинович серьезно относится к спасению RDCMan, то просто перевыпустить его после исправления ошибки безопасности будет недостаточно.

Подпишитесь на рассылку новостей 4sysops!

В настоящее время у этого инструмента так много недостатков, что он не является реальной альтернативой конкурентам с открытым исходным кодом mRemoteNG или PremoteM. Microsoft пришлось бы приложить больше усилий для его разработки.

Читайте также: