Выбрать главу

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

• -D режим_отладки. Данная опция используется при отладке сервера. Она задается в тех случаях, когда запуск программы telnetd осуществляется вручную с консольного терминала. В зависимости от указанного режима отладки, сервер отображает информацию о соединении либо о данных, которыми он обменивается с клиентом. Режим отладки может быть задан с помощью значений options, report (оба эти значения отображают информацию об установлении соединения), netdata и ptydata (эти значения выводят соответственно сведения о входном и выходном потоках данных).

• -h. По умолчанию telnetd передает клиентской программе начальное сообщение, в котором содержится информация, предназначенная для пользователя. Опция -h подавляет вывод начального сообщения. Если вы опасаетесь взлома системы, но в то же время вынуждены поддерживать работу сервера Telnet, вы можете указать эту опцию для того, чтобы не предоставлять злоумышленнику дополнительные сведения о системе.

• -L программа_регистрации. По умолчанию telnetd использует для регистрации пользователей /bin/login. При желании вы можете указать посредством данной опции другую программу.

• -n. Подобно rlogind, telnetd проверяет наличие клиента, используя для этого специальные сообщения. Опция -n подавляет передачу данных сообщений.

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

Редактирование начального сообщения Telnet

При получении запроса на установление соединения сервер telnetd читает содержимое файла /etc/issue.net и передает его клиенту. Данные, содержащиеся в этом файле, отображаются перед тем, как пользователь получает возможность зарегистрироваться на сервере. Опция -h, указанная при запуске telnetd, подавляет вывод данного сообщения. Как правило, в начальном сообщении приводятся некоторые сведения о компьютере, на котором выполняется Telnet-сервер. Ознакомившись с ними, пользователь может убедиться, что он обратился к нужному ему узлу сети. По умолчанию в начальном сообщении содержатся данные о версиях системы и ядра. Большинству пользователей эти сведения не нужны, но они наверняка заинтересуют злоумышленника, который собирается взломать систему. Прочитав начальное сообщение, он сможет определить, какое программное обеспечение выполняется на компьютере, и догадаться, какими недостатками в защите можно воспользоваться.

На заметку

Аналогичные сведения отображаются при регистрации пользователя с консольного терминала (непосредственно подключенного к компьютеру). Они содержатся в файле /etc/issue. (При установлении соединения с помощью X Window данный файл не используется. Вопросы удаленной регистрации средствами X Window будут рассматриваться в главе 14.)

Многие системы позволяют непосредственно редактировать файл /etc/issue.net. Вы можете изменять текст в этом файле по своему усмотрению. В составе начального сообщения могут содержаться специальные переменные, которые telnetd заменяет данными о системе. Назначение этих переменных описано в табл. 13.1.

Таблица 13.1. Переменные, используемые в файле /etc/issue.net

Переменная Описание
%t Используемый терминал (число, описывающее устройство ввода-вывода текста)
%h Полное доменное имя компьютера
%D Имя домена NIS (если сервер NIS используется в сети)
%d Текущая дата и время
%s Имя операционной системы (Linux)
%m Тип аппаратного обеспечения (процессора)
%r Номер версии ядра
%v Версия операционной системы (обычно не используется)
%% Символ %

Предположим, что текст в файле /etc/issue.net выглядит следующим образом:

Welcome to %h.

Current time is %d.

Notice: For authorized users only!

Если ваш компьютер имеет имя maple.threeroomco.com, начальное сообщение будет выглядеть так:

$ telnet maple.threeroomco.com

Trying 172.21.32.43...

Connected to maple.threeroomco.com.

Escape character is '^]'.

Welcome to maple.threeroomco.com.

Current time is 10:57 on Monday, 12 August 2002.

Notice: For authorized users only!

В некоторых разновидностях Linux (в частности, в Caldera, Mandrake и некоторых версиях Red Hat) файлы /etc/issue и /etc/issue.net создаются в процессе загрузки. Формированием этих файлов занимается сценарий /etc/rc.d/rc.local. Код сценария, используемого в системе Mandrake 8.1, приведен ниже.

# Этот сценарий создает файл /etc/issue при каждой

# загрузке системы. Чтобы сохранить изменения, внесенные