Обзоры
Удаленное управление через Web
0

Удаленное управление через Web

На первый взгляд, ничего необычного в названии статьи нет. Удаленное управление давно уже перестало быть диковинкой даже для мира Windows. Относительно небольшой список программ, попавших в наш почти двухгодичной давности обзор ("Компьютерное Обозрение", # 27, 1999), сегодня можно расширить несколькими десятками новых наименований. Решения найдутся на любой вкус: с поддержкой различных сетевых протоколов и способов соединения, с кучей дополнительных возможностей, совершенно аскетичные в смысле потребления компьютерных ресурсов и даже бесплатные. К последним, как правило, относятся реализации VNC, например AT&T и Tridia, которые к тому же распространяются в исходных текстах.

Internet же, в частности Web, представляет собой уже готовую универсальную среду, объединяющую миллионы компьютеров. Формально каждый из них может получить доступ к любому другому — вот наиболее радикальное воплощение того "anywhere", которое присутствует (или подразумевается) в названиях программ. К сожалению, для традиционных решений на этом пути возникает слишком много препятствий: кросс-платформенность, необходимость установки специального клиентского ПО (для коммерческих разработок тут имеются еще и лицензионные ограничения), корпоративные брандмауэры и т. д.

Безусловно, ни одна из этих проблем не является фатальной, однако нередко усилия, необходимые для их преодоления, сводят на нет все преимущества самой концепции удаленного управления. Вот потому-то и появилась идея утилизации инфраструктуры именно Web: броузер в качестве клиента, HTTP в качестве транспорта — что может быть проще и очевиднее? Даже удивительно, что соответствующие продукты появились относительно недавно, — видимо, должна была накопиться некоторая "критическая масса" стандартов, способов защиты и других вспомогательных средств.

RemotelyAnywhere

RemotelyAnywhere: Telnet-сессия внутри HTTP-соединения

Именно эта разработка небольшой венгерской компании 3am Labs и послужила поводом для написания данной статьи. Исторически RemotelyAnywhere предназначалась для обслуживания серверов под управлением NT, однако современные версии работают и на платформе Windows 9x. В каждом случае одни специфические возможности появляются, другие исчезают. Структурно программа состоит из нескольких системных служб, инсталлирующихся и запускающихся на хост-компьютере. Фактически они организуют специализированный Web-сервер, обратиться к которому можно из обычного броузера, поддерживающего JavaScript и (для некоторых задач) Java. Таким образом, доступ осуществляется практически с любого ПК или PDA. Имеется даже встроенный WAP-сервер, но это, скорее, из разряда экзотики.

Собственно удаленное управление (т. е. визуализация экрана удаленного компьютера и передача ему команд от мыши и клавиатуры) — всего лишь одна из функций программы. Назначение ее вполне очевидно, а из дополнительных возможностей можно упомянуть пересылку содержимого буфера обмена и специальных комбинаций клавиш (вроде <Ctrl+Alt+Del> или <Ctrl+Esc>). Как обычно, в локальной сети все работает вполне приемлемо, по коммутируемому же соединению, естественно, "подтормаживает" — это общая беда всех аналогичных программ. К тому же именно в этом случае задействуются Java-апплеты, которые многие пользователи предпочитают запрещать (или вообще не устанавливать Java-машину).

Есть где развернуться администратору!

Тут-то RemotelyAnywhere и проявляет себя во всей красе. Дело в том, что в программу встроены особые средства удаленного администрирования. Прямо из броузера вы можете напрямую работать с файловой системой (не только копировать файлы, но и запускать программы) и реестром, контролировать выполняющиеся приложения и службы, настраивать пользовательские полномочия, получать информацию о загрузке процессора и оперативной памяти и даже просматривать список установленных обновлений OC. Что еще нужно системному администратору?

Таким образом обеспечивается удаленный доступ к наиболее востребованным административным апплетам, хотя и в несколько непривычном интерфейсе. Естественно, модули, оформленные на HTML и JavaScript, не так удобны, как, скажем, стандартный редактор реестра и Проводник, зато существенно снижают требования к качеству соединения. Более того, функциональность программы можно расширить собственноручно благодаря встроенной поддержке C-подобного языка Small. Написанные на нем сценарии могут, в частности, использоваться для мониторинга состояния хост-системы и выполнения необходимых действий в ответ на определенные события.

Еще одна полезная возможность — Telnet. На самом деле RemotelyAnywhere реализует отдельный Telnet-сервер, обеспечивающий работу с командной строкой из стандартных Telnet-клиентов. Однако Telnet-сессию (в широком смысле, т. е. просто сеанс работы с командной строкой) можно организовать непосредственно в рамках установленного HTTP-соединения (при этом используются Java-апплеты). В составе RemotelyAnywhere также имеется полнофункциональный FTP-сервер (во всяком случае, с возможностью "докачки" файлов). Таким образом, с хост-компьютером можно устанавливать именно тот вид соединения, который оптимален для выполнения конкретной задачи.

Естественно, такое богатство возможностей, к тому же предоставляемое по Internet, не может не вызывать серьезных переживаний по поводу безопасности. Разработчики позаботились и об этом. Естественно, программа обеспечивает парольную защиту и ограничение полномочий удаленных пользователей и даже может использовать средства аутентификации Windows NT/2000. Для HTTP-соединения поддерживается SSL: на хост-компьютере создается соответствующий сертификат, после чего весь трафик шифруется с помощью современных алгоритмов (со 128-битовым ключом). Кроме того, RemotelyAnywhere поддерживает SSH, IP-фильтрацию, блокировку адресов, с которых пытаются подбирать пароли, и множество других средств.

И все же наиболее интересна именно реализация концепции "anywhere". Использование обычного броузера позволяет клиентскому компьютеру преспокойно находиться за корпоративным брандмауэром. Обычно все прекрасно работает даже без дополнительной настройки. В самых каверзных случаях можно включить "туннелирование" и прочие хитрости, поддерживаемые RemotelyAnywhere.

С хост-компьютером ситуация несколько сложнее. Если он непосредственно виден из Internet (например, именно на нем и установлен proxy-сервер), достаточно только открыть соответствующие порты. В противном случае нужно выполнить процедуру, называемую port forwarding. Суть ее состоит в том, что какой-то порт брандмауэра "отображается" на порт хост-компьютера, прослушиваемый RemotelyAnywhere. Причем необходимое ПО (естественно, только для Windows) имеется в составе самой программы. Безусловно, при этом нужно особенно тщательно позаботиться о безопасности, например, пропускать внутрь локальной сети только SSL-трафик и т. д. Однако таким образом можно организовать удаленное администрирование всей локальной сети.

Одним словом, программа получилась очень удачной: продуманной, удобной, интуитивной. Несмотря на весьма неплохое качество документации, обращаться к ней приходится разве что за какими-то нюансами. Достаточно сказать, что среди использующих RemotelyAnywhere компаний числится даже AT&T, создатель VNC (в общем-то конкурирующего продукта) — можно ли дать лучшую характеристику? Пожалуй, это тот случай, когда не жалко будет выложить $99, — именно столько стоит одиночная лицензия (академическим организациям предоставляется скидка). Вдвое дороже обойдется лицензия на версию Server Tools, которая поддерживает неограниченное число одновременных подключений.

GoToMyPC

GoToMyPC: ничего необычного, но работает по HTTP-соединению

И все же, несмотря на очевидные достоинства RemotelyAnywhere, полноценное "anywhere" достигается только на одном конце соединения. Действительно, если речь идет об управлении компьютером в локальной сети (с внутренним IP-адресом), то все равно приходится настраивать proxy-сервер. В таком случае ненамного сложнее организовать аналогичную систему на основе, скажем, Symantec pcAnywhere, которая хоть и не настолько "anywhere" (поскольку необходимо устанавливать клиентское ПО), но в некоторых вопросах наверняка окажется эффективнее, в частности за счет использования более специализированного протокола. Попробуйте также представить себе реакцию системного администратора, когда его попросят настроить переадресацию портов корпоративного брандмауэра.

Все-таки подлинное Web-решение должно действительно связывать два любых ПК без какого бы то ни было изменения текущей конфигурации сети. Оказывается, есть такое. Причем, как ни парадоксально, "anywhere" в его названии нет — быть может, просто исчерпался запас английских составных слов с использованием этого местоимения?

Идея GoToMyPC (реализованная компанией Expertcity, специализирующейся на Web-ориентированных средствах удаленного доступа и технического обслуживания) отчасти напоминает ICQ и прочие IM, поскольку соединение осуществляется через посредника. Серверная часть программы представляет собой одноименную системную службу, которая постоянно связана с Web-сервером gotomypc.com (во всяком случае, периодически подтверждает свое присутствие). Клиентская — небольшой выгружаемый модуль (менее 300 KB), однако поскольку весь трафик инкапсулируется в HTTP, то неудивительно, что для его работы необходим броузер, причем с поддержкой Java. Пока GoToMyPC функционирует только на платформе Windows, хотя в ближайшей перспективе и Mac, и Linux.

Не нужно даже помнить IP-адреса, на своей странице вы сразу получите список всех доступных компьютеров

Преимущества такого подхода налицо. Клиент фактически связывается с gotomypc.com, создающим "виртуальный" Web-сервер, информацию для которого, в свою очередь, поставляет хост-служба. При такой организации все брандмауэры остаются совершенно прозрачными — никакой дополнительной настройки не требуется (как и для IM, поддерживающих HTTP-proxy). Не нужно даже помнить IP-адрес или URL хост-компьютера. На персональной Web-странице службы GoToMyPC ему можно присвоить любое подходящее имя, а в дальнейшем проверять присутствие в Сети и отсюда же устанавливать связь.

Безопасность обеспечивается шифрованием трафика, причем SSL активизируется уже на этапе посещения gotomypc.com и регистрации. Но и только, хотя ограничение доступа на уровне IP-адресов и другие меры предосторожности также не помешали бы. Вероятно, все это появится в будущем, поскольку в настоящее время GoToMyPC проходит этап бета-тестирования (до 1 мая воспользоваться этой услугой можно совершенно бесплатно).

Функциональность программы достаточно традиционна для своего класса: кроме собственно удаленного управления (в графическом, естественно, режиме), имеется возможность обмена файлами и текстовыми сообщениями. Из экзотики — средство рисования на экране хост-компьютера. В целом — без излишеств, хотя разработчики обещают существенно расширить функциональность своего продукта в коммерческой версии.

Основная проблема с GoToMyPC — скорость. Сказываются накладные расходы на использование HTTP, непрямой доступ, шифрование — недаром разработчики рекомендуют "стабильное Internet-соединение на основе кабельного модема, ISDN, DSL или лучшее". Однако еще одним узким местом оказывается сам сервер-посредник. Вероятно, его ресурсов (или пропускной способности внешнего канала) попросту недостаточно для обширной тестовой программы, но когда ping стабильно составляет более секунды, нормальной работы, естественно, не получится, и никакие выделенные линии тут не помогут.

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

По предварительной информации, GoToMyPC будет распространяться на условиях подписки из расчета примерно $100 на один хост-компьютер в год. Хотя специалисты из Expertcity настаивают на том, что совокупная стоимость владения для их решения будет существенно ниже, чем для традиционных программ удаленного управления, цена кажется несколько завышенной. За ту же сумму, к примеру, вы можете пользоваться RemotelyAnywhere бесконечно долго.

SpyAnywhere

SpyAnywhere: сервер — небольшой апплет, клиент- броузер

Эта программа приведена в основном для демонстрации популярности описанных в статье идей. Отсутствие серьезных средств обеспечения безопасности (кроме парольной защиты, имеется только IP-фильтрация) не позволяет рекомендовать ее для использования по внешним соединениям, хотя для intranet она вполне годится. Концептуально SpyAnywhere напоминает RemotelyAnywhere: серверная системная служба, фактически реализующая Web-сервер, доступ из любого броузера, нацеленность на решение задач администрирования. Основное отличие — отсутствие собственно удаленного управления, допускается только просмотр снимков экрана хост-компьютера.

К наиболее ценным функциям относится возможность работы с файловой системой (можно запускать программы) и списками выполняющихся процессов и открытых окон. Кроме того, SpyAnywhere позволяет просмотреть основные сведения о конфигурации хост-системы, передать на нее текстовое сообщение и дистанционно выполнить ряд команд: блокировать мышь, выключить или перезагрузить компьютер. Из совершенно "шпионских" штучек — просмотр в реальном времени ввода с клавиатуры.

Одним словом, широтой возможностей SpyAnywhere пока похвастать не может (особенно по сравнению с RemotelyAnywhere), а "ценность для жанра" вряд ли оправдывает $40, которые необходимо заплатить за одну лицензию. Однако номер текущей версии — всего 1.5 — позволяет надеяться на дальнейшее совершенствование, тем более что сама идея довольно актуальна.

Смотрим в будущее

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

К сожалению, описанные Web-ориентированные технологии все еще не готовы к повсеместному внедрению. Причем даже в локальной сети. Дело в том, что создать набор программ (апплетов, сценариев), которые позволят продублировать абсолютно все стандартные средства конфигурации и настройки, — все равно что переписать добрую половину ОС (вспомните, из скольких миллионов строк кода состоит Windows 2000). Потому-то до сих пор превалируют более традиционные подходы — либо решающие узкие задачи, вроде обычного Regedit или Service+, которые могут работать по сети, либо выполненные в виде терминальных служб, которые, кстати, будут встроены в клиентские версии Windows XP.

Однако компьютерная индустрия все больше тяготеет к универсализации, что, похоже, может обеспечить только Web, — действительно, что еще сегодня работает где угодно и на чем угодно? Потому не исключено, что когда-нибудь броузер станет главным оружием "сисадмина".


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: