Протокол Telnet часто используется для удаленной регистрации в сети Internet. Клиент-программа Telnet (как правило, она называется telnet
) поставляется с большинством версий Linux. Программы, реализующие Telnet-серверы, также широко распространены, однако они в основном включаются в состав тех операционных систем, которые обеспечивают одновременную работу нескольких пользователей, например в Linux, UNIX и VMS. Несмотря на то что протокол Telnet сложнее протокола, используемого rlogind
, он, как и все протоколы семейства TCP/IP, достаточно прост. Выполняя настройку сервера Telnet для работы в системе Linux, необходимо обеспечить запуск соответствующей программы посредством суперсервера. В отдельных случаях приходится предусматривать запуск сервера Telnet с помощью сценария SysV. Настройка Telnet также предполагает дополнительные операции, например, создание сообщения, выводимого в качестве приглашения к регистрации.
С точки зрения современных стандартов защита Telnet очень слабая, но она все же лучше, чем соответствующие средства программы rlogind
. Зная слабые стороны системы защиты Telnet, вы сможете принять обоснованное решение о том, в каких случаях применение Telnet оправдано, а в каких лучше использовать другие средства удаленной регистрации. Кроме того, вы сможете принять меры, минимизирующие опасность для системы при работе с сервером Telnet. Если в вашей сети установлены средства Kerberos, вы можете повысить уровень безопасности, применяя керберизованные версии клиента и сервера Telnet.
Опции, используемые при запуске сервера Telnet
В некоторых случаях сервер Telnet инсталлируется по умолчанию при установке операционной системы, но иногда приходится инсталлировать этот сервер самостоятельно. Пакет, содержащий сервер Telnet, в различных системах называется по-разному. Например, в Caldera он называется netkit-telnet
, в Debian — telnetd
, в Mandrake и Red Hat — telnet-server
, в Slackware — tcpipl
, в SuSE — nkitserv
а в TurboLinux — telnet
. Некоторые из этих пакетов, например telnetd
, поставляемый в составе системы Debian, содержат только сервер Telnet, а в других, например в telnet
системы TurboLinux, находится как серверная, так и клиентская программа. В большинстве случаев сервер Telnet устанавливается по умолчанию, но это не означает, что в системе разрешено выполнение данного сервера. Вопросы запуска серверов с помощью суперсервера были рассмотрены в главе 4 (программа, реализующая сервер Telnet, обычно носит имя telnetd
или in.telnetd
).
При запуске сервера 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, которые можно использовать для повышения уровня защиты при удаленной регистрации пользователей на сервере.