Дистанционное управление с трибуны стадиона

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

А подобные сообщения как раз приходят в самый неподходящий момент - в переполненном кинозале или в кресле у зубного врача. Но беда не в том, что мне приходится прервать свое занятие: я обязан помочь клиенту, попавшему в критическую ситуацию. Однако, когда я нахожусь не в офисе, у меня просто нет под рукой средств дистанционного управления и соединения с Internet. Так что же делать, если администратору необходимы мощные средства удаленного доступа при отсутствии канала связи с хорошей пропускной способностью? На помощь приходит Telnet.

Telnet

Telnet - протокол на базе TCP/IP, появившийся в эпоху IBM и ставший важнейшей частью большинства систем UNIX. В те времена, когда графической среды пользователя еще не существовало, в системах UNIX, как и в системах DOS, использовалась командная строка. В случае с UNIX нужно было ввести команду с консоли (экран и клавиатура), подключенной непосредственно к системе, или во время сессии через сеть - а для этого необходимо организовать в сети сеанс с использованием Telnet.

Чтобы понять, как работает Telnet, можно представить себе пользователя, который сидит за клавиатурой DOS-компьютера и вводит команды, отображаемые на экране. Такая организация взаимодействия с машиной равноценна доступу с консоли. Если пользователь, сидящий за другими экраном и клавиатурой, может обратиться к данному компьютеру через сеть и запустить свой сеанс DOS, то этот сеанс будет равноценен доступу к системе по Telnet. С помощью Telnet администраторы UNIX могут дистанционно управлять компьютером, как если бы они сидели перед ним и имели полный доступ к его консоли.

В игру вступает Microsoft

Telnet появился на заре сетевых технологий, но в течение ряда лет Microsoft не использовала в Windows инструментарий на базе UNIX. Разработчики проектировали системы Windows, полагая, что пользователи будут управлять ими через графический интерфейс Microsoft. Со временем стало очевидно, что многие администраторы нуждаются в системах из командной строки и средствах удаленного управления системами. Такую возможность как раз обеспечивает сервер Telnet, входящий в состав Windows 2000 Server и Windows 2000 Professional.

Установка и конфигурирование Telnet

Сервер Telnet позволяет организовать два соединения с любой системой Windows 2000. Если требуется больше двух соединений, нужно купить пакет Microsoft Services for UNIX-SFU. Когда администратор устанавливает соединение с сервером Telnet и регистрируется, сервер предоставляет ему командную строку на целевой машине. В ответ на приглашение можно вводить команды системы Windows 2000, управляя компьютером на расстоянии.

По умолчанию, функции Telnet операционной системы Windows 2000 отключены, так как активизация службы Telnet без ведома администратора может создать угрозу для безопасности. Поэтому службу должен запустить администратор, и параметры начального запуска можно изменить таким образом, чтобы служба Telnet активизировалась всякий раз в ходе начальной загрузки сервера. Запустить службу Telnet можно с помощью меню StartProg-ramsAdministrative ToolsComputer Ma-nagement. В левой панели окна Computer Management, показанном на Экране 1, нужно развернуть поддерево Services and Applications, выбрать Servi-ces, а затем выделить Telnet в правом подокне. Чтобы настроить службу Tel-net для запуска при загрузке сервера, следует изменить тип запуска с ручного на автоматический.

Экран 1. Запуск службы Telnet.

Чтобы убедиться в работоспособности Telnet после активизации службы, нужно ввести в командной строке

telnet localhost

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

Стой! Кто идет?

Telnet - протокол изначально незащищенный. По умолчанию, сетевая аутентификация Telnet производится в чисто текстовом режиме. Это значит, что каждый, кто следит за сетью во время регистрации пользователя на сервере Telnet, может узнать его имя и пароль. Это может привести к серьезным последствиям - особенно если регистрируется пользователь с именем Administrator.

Чтобы устранить этот недостаток, разработчики Microsoft внесли изменения в версию Telnet в составе Windows 2000. Сервер Telnet в составе Windows 2000 может выполнять аутентификацию не только в текстовом режиме, но и в режиме NT LAN Manager (NTLM). NTLM шифрует имена пользователей и пароли, передаваемые через сеть, чтобы их нельзя было раскрыть.

Однако здесь есть одна тонкость. Чтобы использовать NTLM для аутентификации на сервере Telnet, необходим NTLM-совместимый клиент Telnet. Единственный клиент, обеспечивающий NTLM-аутентификацию, - это клиент Telnet фирмы Microsoft. Поэтому, если предполагается обращаться к машинам с клиента Telnet Windows 2000, службу Telnet можно защитить, ограничив возможности аутентификации лишь режимом NTLM. Но если организовывать сеансы Telnet с NTLM-несовместимых клиентов, придется понизить уровень безопасности.

Экран 2. Программа управления для настройки Telnet.

Чтобы изменить параметры аутентификации для службы Telnet, следует запустить из командной строки программу администрирования Telnet, tlntadmn.exe. Из главного меню программы администрирования, показанного на Экране 2, нужно выбрать функцию Display/change registry settings (отобразить/изменить параметры реестра) и изменить параметры службы Telnet. В результате на экране появляется меню, в котором следует выбрать пункт NTLM, чтобы изменить параметры аутентификации. В ответ на приглашение нужно ввести значение для аутентификации NTLM. Можно выбрать значения 0, 1 или 2. Эти параметры конфигурирования нельзя назвать интуитивно понятными, поэтому их следует пояснить: если не предполагается когда-либо прибегать к аутентификации NTLM, следует выбрать значение 0, и служба Telnet не будет даже пытаться использовать режим NTLM. Если нужно, чтобы служба Telnet попробовала NTLM, но затем вернулась к чисто текстовой аутентификации, следует выбрать значение 1. Данный режим стоит использовать, если к серверу будут подключаться клиенты, отличные от Windows 2000. Если планируется работать только в режиме NTLM (и, следовательно, только с клиентами Windows 2000 Telnet), следует выбрать значение 2, которое запрещает службе Telnet использовать чисто текстовую аутентификацию.

Защита службы Telnet

Прежде чем развернуть службу Telnet, следует изучить различные виды клиентов Telnet; почти каждая современная TCP/IP-совместимая система Windows, UNIX и Macintosh располагает клиентом Telnet. Если система подключена к Internet, многие клиенты могут попытаться установить соединение с ней. Если NTLM-аутентификация не обеспечивает достаточной безопасности, следует подумать о дополнительных мерах защиты.

Во-первых, необходимо защитить системы с помощью брандмауэра. Это позволит назначать правила, определяющие, кто может соединяться со службой Telnet, в какое время суток устанавливать соединение и с каких IP-адресов. Во-вторых, Telnet использует порт 23. Если перевести ее на другой порт, то возможность удаленного администрирования сохранится, но получить доступ по Telnet к системам будет труднее. Чтобы изменить порт службы Telnet, нужно запустить программу tlntadm, выбрать пункт Display/change registry settings, а затем пункт Telnet Port.

Конец седьмой подачи

Так как же успеть вернуться на бейсбольный матч до конца седьмой подачи? Очень просто: использовать миниатюрный беспроводный ПК (PDA) с установленным на нем клиентом Telnet. Как выяснилось, неполадки в сети были связаны с блокировкой службы спулинга. После перезапуска службы проблема была устранена, и мне не пришлось отходить от своего места на трибуне дальше чем на 30 м.

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

Пять простых административных функций

Несмотря на большой выбор средств управления с графическим интерфейсом, которыми располагают операционные системы Microsoft, разработчики усовершенствовали функции командной строки Windows 2000. Например, из командной строки можно выполнить следующие типичные административные операции.

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

net user  

указав новое имя и пароль пользователя. Если соединение устанавливается с автономным сервером, то команда меняет пароль в базе данных локальных учетных записей сервера. Если соединение установлено с контроллером домена (DC) Active Directory (AD), то команда изменяет пароль пользователя в домене AD. Чтобы изменить пароль для учетной записи домена, необходимо указать параметр /DOMAIN и имя домена.

Удаление задания на печать. Обычно принтеры не могут печатать по двум причинам (если только в принтере достаточно бумаги): задание на печать зависло или служба спулинга блокировала систему. Зная номер задания печати, зависшее задание можно освободить. Чтобы получить список заданий в очереди на печать, следует ввести с любой машины в домене следующую команду:

net print 

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

net print  
/RELEASE

Данная команда освободит задание с указанным номером. Если команда /RELEASE не освобождает зависшее задание, можно попробовать команду /DELETE. Освобождая и уничтожая задания в очереди, следует подождать результатов операции примерно минуту.

Перезапуск зависшей службы. Службы Windows 2000 зависают по разным причинам. Чтобы выяснить их, лучше всего исследовать службу, но иногда в первую очередь необходимо вновь запустить ее. Чтобы остановить и запустить службу Windows 2000 Server, нужно выдать команду Net Start в сеансе Telnet с сервером, на котором она зависла. Если ввести команду Net Start без параметров, то система выдаст список всех служб, запущенных на системе; просмотрев этот список, можно выяснить, функционируют ли в сети основные службы. Для перезапуска отказавшей службы следует ввести команду Net Start с именем службы:

net start 

При этом необходимо использовать сокращенное имя (например, W3SVC вместо Web Publishing Service или SPOOLER вместо Print Spooler). Краткие имена всех служб системы указаны в свойствах каждой службы. Рекомендуется составить список важнейших служб предприятия и хранить его в PDA.

Остановить службу можно с помощью команды Net Stop. Синтаксис данной команды напоминает синтаксис команды Net Start:

net stop 

Чтобы остановить службу и запустить ее вновь, следует воспользоваться кратким именем службы и командой Net Stop, а затем ввести команду Net Start.

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

cacls  <<>> 
/T /E /G:permissions

Параметры в конце команды определяют, каким образом назначаются полномочия для доступа к файлам системы. Например, ключ /T указывает на необходимость применить команду к файлам в текущем каталоге и во всех подкаталогах. Ключ /E указывает, что нужно не заменить, а отредактировать существующие списки ACL для файла или каталога. Ключ /G указывает на назначаемые полномочия: R - Read (чтение), W - Write (запись), C - Chan-ge (изменение), и F - Full Control (полный доступ). Существует и множество других параметров Cacls; более подробную информацию о них можно получить, если ввести команду Cacls /?.

Перезапуск сервера. Иногда бывает необходимо перезапустить сервер. Однако дистанционно этого лучше не делать: если во время перезагрузки машины возникнет проблема, то, вероятно, ее не удастся решить без физического вмешательства. Если же перезагрузить компьютер все же необходимо, удаленно перезагрузить сервер через соединение Telnet следует с помощью утилиты shutdown.exe из комплекта ресурсов Microsoft Windows 2000 Resource Kit.

Финишная прямая

Telnet - превосходный инструмент для дистанционного управления системами Windows 2000. Из командной строки всех проблем не решить, но с помощью команд Windows 2000 можно выполнять многие административные задачи. Администраторам, нуждающимся в удобном средстве дистанционного администрирования систем - даже в разгар бейсбольного матча, - безусловно следует обратить внимание на службу Telnet.

Дуглас Тумбс - внештатный редактор журнала Windows NT Magazine. Имеет сертификаты MCSE, Compaq ASE и Novell CNA. С ним можно связаться по адресу: doug@netarchitect.com.