Terminal Services или VNC?
Учитывая, что технология Terminal Services встроена в Windows 2000, нуждаются ли администраторы сетей Windows 2000 в VNC? Безусловно, да.
По-видимому, в однородной сети Windows 2000 лучше всего использовать Terminal Services. Это бесплатный продукт, поставляемый на одном компакт-диске с Windows 2000 Server, достаточно удобный для дистанционного администрирования. Но в настоящее время лишь в очень немногих средах применяется единственная операционная система. Главное преимущество VNC - кросс-платформенная совместимость, благодаря которой с одного удаленного клиента можно администрировать серверы, работающие на Windows 2000, NT, Linux и многочисленных разновидностях Unix. Такой многофункциональный и в то же время бесплатный продукт трудно превзойти.
Применение VNC и Terminal Services не приводит к значительному снижению производительности. Как правило, эти инструменты потребляют лишь небольшую долю ресурсов процессора, очень мало памяти и почти не увеличивают нагрузку на дисковую подсистему ввода/вывода. В этом отношении они на голову выше решений, в большей степени ориентированных на настольные компьютеры (например, pcAnywhere компании Symantec). VNC обеспечивает надежную информационную защиту благодаря использованию протокола аутентификации с квитированием, имеющего много общего с Microsoft Challenge Handshake Authentication Protocol (MSCHAP), собственным протоколом аутентификации NT. Кроме того, как VNC, так и Terminal Services располагают клиентом на базе Windows CE, предоставляющим возможности истинно дистанционного администрирования.
Тем не менее между VNC и Terminal Services существует несколько важных различий. Эти различия относятся к управлению удаленным рабочим столом, технической поддержке продуктов, ограничениям операционной системы и быстродействию.
Управление удаленным рабочим столом. Как отмечалось выше, VNC предоставляет лишь один дистанционно управляемый рабочий стол, независимо от числа разрешенных соединений. Terminal Services позволяет двум администраторам одновременно подключиться к серверу и предоставляет каждому из них собственный рабочий стол.
Техническая поддержка. В отличие от производителя Terminal Services, пользователи которой получают поддержку от Microsoft, ни одна компания технологию VNC не поддерживает. Однако пользователи могут загрузить исходный текст VNC и настроить инструмент на конкретное применение. Получить исходный текст Terminal Services значительно труднее.
Ограничения операционной системы. Серверная программа Terminal Services поставляется только в составе Windows 2000 Server и более поздних версий. Но клиентские программы работают почти на любой 16- и 32-разрядной платформе. Программа просмотра и сервер VNC совместимы почти со всеми 32-разрядными операционными системами Windows, в том числе NT Server 4.0, NT Workstation 4.0 и Windows 9.x. Программа просмотра и сервер работают и на NT 3.51 (в режиме с ограниченной функциональностью). Мне удалось успешно запустить сервер VNC даже на третьей бета-версии .NET Server. Программа просмотра и сервер VNC также работают на системах Linux и Unix.
Скорость. Процедуры дистанционного администрирования VNC чуть медленнее, чем Terminal Services. Иногда приходится ждать, когда VNC обновит удаленный дисплей.
Remote Command
Некоторое время назад разработчики Microsoft дополнили набор ресурсов Windows Server программой Remote Command (rcmd.exe). Утилиту Remote Command можно рассматривать как вариант Terminal Services или VNC, запускаемый из командной строки: она позволяет выполнять команды на удаленном сервере. Remote Command, несомненно, понравится тем администраторам, которые предпочитают пользоваться командой Net Use вместо графического интерфейса, чтобы подключиться к удаленному диску. Кроме того, небольшие операции, запускаемые из командной строки, гораздо быстрее выполняются с помощью Remote Command, нежели с использованием графического интерфейса.
Remote Command состоит из двух компонентов: rcmd.exe (клиентский компонент) и rcmdsvc.exe (серверный компонент). С помощью этих двух компонентов администратор может получить доступ к командной строке удаленного сервера, выполнить команды и завершить сеанс. Он также может инициировать однокомандный сеанс с автоматической регистрацией, выполнением одной команды и завершением связи. Например, команда
rcmd.exe \server1 net share maryj$=d:usersmaryj
обеспечивает регистрацию на Server1 и предоставляет в общее пользование каталог D:usersmaryj под именем MaryJ$. Remote Command можно использовать в сценариях. С помощью сценариев, запускаемых на рабочей станции, можно администрировать один или несколько серверов. В большинстве продуктов Microsoft наряду с графическим интерфейсом предусмотрена и командная строка, поэтому основные задачи можно выполнить с помощью Remote Command.
Механизм защиты Remote Command довольно прост. Чтобы зарегистрироваться на удаленной машине, пользователи вводят те же учетные данные, что и для регистрации на локальном компьютере. Пользователи должны иметь право интерактивной регистрации на удаленной машине, и все действия производятся в соответствии с их полномочиями. По умолчанию Remote Command работает на сервере от имени учетной записи LocalSystem. Remote Command обслуживает 10 соединений одновременно, обеспечивая уникальную и независимую оболочку командной строки для каждого соединения.
Remote Command работает на сервере под учетной записью LocalSystem, поэтому с помощью данной утилиты сложно выполнить команды, требующие подключения к другому серверу. Например, чтобы корректно выполнить команду Net Use и сделать диск общим сетевым ресурсом, необходимо указать для Net Use альтернативные учетные данные.
Telnet
Корни telnet - в мире Unix, где утилита считается стандартным административным инструментом. По принципу работы telnet очень похожа на Remote Command, она также обеспечивает доступ к удаленному серверу из командной строки. Но в отличие от утилиты Remote Command, ориентированной на сети Microsoft, telnet основана на открытых стандартах. Существуют клиенты telnet для Palm PDA, устройств Windows CE и почти любых TCP/IP-совместимых машин; Remote Command работает только с Windows XP, Windows 2000 и NT.
Администраторы сетей с маршрутизаторами и коммутаторами, вероятно, знакомы с telnet, поскольку данная утилита - основной инструмент управления такими устройствами (хотя многие изготовители начинают встраивать в свои сетевые устройства административные интерфейсы на базе Web). Администраторам, которые привыкли работать с telnet, будет приятно узнать, что эту службу можно запустить и на серверах Windows. В действительности, Windows 2000 располагает встроенной службой telnet. В целях безопасности службу требуется запускать вручную. Систему можно настроить на автоматический запуск службы или запускать вручную в случае необходимости.
Служба telnet Windows 2000 обеспечивает работу двух соединений. Как правило, для дистанционного администрирования этого достаточно. Для дополнительных соединений можно использовать продукт Microsoft Windows Services for UNIX (SFU), который располагает более мощной службой telnet и может быть лицензирован для обслуживания большего числа соединений. Microsoft также выпустила утилиту командной строки telnet Server Administration для настройки режима аутентификации службы, порта TCP и других параметров. Значок утилиты расположен в разделе Administrative Tools панели управления. Microsoft не выпускает серверной программы telnet для NT, но в Internet нетрудно найти бесплатные и недорогие NT-совместимые серверы telnet.
Telnet - почти идеальный инструмент для смешанной операционной среды, так как, скорее всего, служба уже работает на серверах, отличных от Windows. Но следует помнить, что telnet была разработана на ранних стадиях развития Internet, когда проблема безопасности не была столь актуальной. В telnet нет механизма шифрования - все данные пересылаются в текстовом формате.
По умолчанию в службе Microsoft telnet используется достаточно надежный метод аутентификации MSCHAP. Но его можно настроить на прием чисто текстовых паролей - совершенно незащищенный, но необходимый способ при обращении к telnet с компьютера, не совместимого с MSCHAP, например с настольной машины Unix. Telnet подходит для внутренних серверов, но мало кто рискнет использовать данную службу для серверов, подключенных к Internet. Это связано, прежде всего, с тем, что стандартный TCP-порт telnet (23) - первый порт, который атакует большинство взломщиков.
Remote Shell
Remote Shell - инструмент удаленного управления, запускаемый из командной строки, очень похожий на Remote Command и telnet. Remote Shell состоит из двух компонентов: серверного (rshsvc.exe) и клиентского (rsh.exe). Оба компонента входят в состав Microsoft Windows 2000 Server Resource Kit и набор ресурсов NT Server 4.0.
Remote Shell - кросс-платформенный инструмент. Многие серверы Unix совместимы с Remote Shell, а большинство операционных систем с поддержкой TCP/IP располагает клиентом Remote Shell. Благодаря такой поддержке Remote Shell может быть альтернативой для Remote Command в гетерогенных средах. Однако Remote Shell защищена хуже, чем Remote Command и telnet.
В папке %systemroot%system32driversetc необходимо создать файл с именем RHOSTS для хранения списка компьютеров, на которых может работать rsh.exe, и имен пользователей, имеющих право запускать rsh.exe на конкретной машине. При попытке пользователя установить связь Rshsvc.exe выполняет поиск в этом файле в обратном порядке. Программа разрешит соединение только после того, как обнаружит имя компьютера и пользователя. Для обращения к Remote Shell пароля не требуется.
Из-за слабых встроенных функций защиты Remote Shell многие администраторы предпочитают более надежные варианты инструмента производства независимых компаний. В частности, широко распространен пакет Secure Shell компании SSH Communications.
Remote Console
Функционально близкая к telnet утилита Remote Console отличается тем, что она не просто перенаправляет командную строку с сервера на компьютер, а позволяет управлять видеопамятью удаленного сервера и запускать такие полноэкранные приложения командной строки, как MS-DOS Edit. По умолчанию, утилитой могут пользоваться только члены группы Administrators сервера. Это ограничение можно снять, разрешив и другим пользователям подключаться к службе. Программное обеспечение и документацию Remote Console можно получить вместе с комплектом ресурсов Windows 2000 Server или NT Server 4.0.
Как выбрать инструмент?
Подбирая подходящий инструмент, следует тщательно взвесить потребности компании, а если вычислительная среда состоит из нескольких серверных операционных систем, отличных от Windows или дополняющих Windows 2000 и NT, необходимо учесть и возможность кросс-платформенного дистанционного администрирования.
Рекомендуется использовать по крайней мере один графический инструмент дистанционного администрирования, такой, как Terminal Services или VNC. Во врезке "Большой выбор" приведена информация об особенностях других графических решений.
Кроме того, следует выбрать один из инструментов дистанционного администрирования с командной строкой. В средах Unix повсюду применяется telnet. Выбор telnet оправдан в тех организациях, где уже работают с Unix.
С помощью Remote Command можно выполнять команды администрирования по одной. Эта утилита удобна для использования в сценариях и автоматических процедурах. Remote Shell совместима с различными платформами, хотя настройка режима безопасности на отдельных серверах может отнимать много времени. Remote Console позволяет дистанционно запускать приложения MS-DOS на полном экране.
Независимо от выбранного решения, необходимо проверить, подходит ли клиентское программное обеспечение, установив клиенты на управляющей рабочей станции как дома, так и в офисе. Записав программы установки различных клиентов на компакт-диск, их можно распространить среди администраторов предприятия или взять с собой в командировку (на всякий случай). Правильно подобранный набор инструментов дистанционного администрирования поможет в любое время устранить неполадки и обслуживать сервер из любого места, где бы ни находился администратор.
Большой выбор
В распоряжении администраторов Windows всегда был богатый набор графических инструментов дистанционного администрирования. Прошло немало времени с момента появления Virtual Network Computing (VNC), а многие организации по-прежнему используют программу pcAnywhere компании Symantec вместо встроенных терминальных служб Windows 2000 Server.
Эффективность дистанционного администрирования очевидна, но выбрать оптимальный инструмент нелегко. Вот несколько советов.
- Избегайте решений, связанных с высокой нагрузкой на процессор. В частности, во время сеанса pcAnywhere нагрузка на процессор может возрасти на 20%.
- Выбирайте клиентскую программу дистанционного администрирования, с помощью которой можно одновременно управлять несколькими серверами с настольного компьютера. Такая возможность предусмотрена как в службе VNC, так и в Terminal Services.
- Выбирайте компактную клиентскую программу. Клиент VNC, как и Terminal Services, легко умещается на дискете.
- Выбирайте решение, которое позволяет администрировать все серверы с помощью одного клиента. В смешанной операционной среде предпочтительна кросс-платформенная служба VNC.