Многие серверы предоставляют доступ лишь к отдельным ресурсам компьютера, на котором они выполняются. Например, временной сервер, рассмотренный в главе 10, сообщает о показаниях системных часов, а сервер шрифтов, который будет обсуждаться в главе 15, передает клиентам битовые карты символов того или иного шрифта. Существуют, однако, серверы, которые предоставляют более или менее полный доступ к ресурсам компьютера и называются серверами удаленной регистрации (remote login server). Такие серверы позволяют пользователям регистрироваться в системе и запускать в ней различные программы так же, как это происходит при работе
за консольным терминалом. Сервер удаленной регистрации организует работу нескольких пользователей на одном компьютере.
Существует несколько типов серверов удаленной регистрации. Выбор типа сервера зависит от конкретной ситуации. В данной главе обсуждаются серверы, которые обеспечивают работу с системой в текстовом режиме. При этом пользователь может запускать программы с алфавитно-цифровым интерфейсом, например, почтовые клиенты
pine
и
mutt
, компилятор
gcc
, текстовые редакторы Vi и Emacs и т.д. Рассматриваемые здесь серверы не позволяют выполнять программы, предназначенные для работы в среде X Window, например KMail или Nedit; для этой цели используются средства доступа, поддерживающие графический интерфейс, которые будут рассматриваться в главе 14.
Данная глава посвящена рассмотрению трех инструментов, предназначенных для поддержки удаленной регистрации:
rlogind
, Telnet и SSH. Каждый из них обладает своими уникальными характеристиками и используется для решения конкретных типов задач. Различия между серверами удаленной регистрации в основном связаны с вопросами защиты и наличием специальных возможностей. Например, среди рассматриваемых в данной главе инструментов
rlogind
реализует минимальный уровень защиты, a SSH обеспечивает наибольшую степень безопасности. Следует заметить, что керберизованные версии
rlogind
и Telnet сравнимы по степени защиты с SSH. (Система Kerberos рассматривалась в главе 6.)
Использование сервера удаленной регистрации
Основное назначение сервера удаленной регистрации состоит в том, чтобы предоставить пользователям возможность запускать произвольные текстовые программы на других компьютерах. В зависимости от конфигурации аппаратных средств и специфики выполняемых программ на компьютере под управлением Linux могут одновременно работать до тысячи удаленных пользователей. Компьютер среднего уровня способен реально обслуживать несколько десятков пользователей, при условии, что программы, которые они запускают, не потребляют слишком много ресурсов.
Внимание
Серверы удаленной регистрации более критичны с точки зрения безопасности по сравнению с другими типами серверов. Предположим, например, что злоумышленник сумел получить пароль, позволяющий пользоваться услугами сервера POP. Если считать, что сервер POP не имеет недостатков в системе защиты, неавторизованный пользователь не сможет причинить существенного вреда компьютеру. Если злоумышленнику удастся зарегистрироваться на сервере удаленного доступа, в его распоряжении окажутся тысячи утилит и приложений. В защите многих программ существуют недостатки, воспользовавшись которыми можно получить доступ к ресурсам компьютера с привилегиями системного администратора. Поэтому необходимо внимательно относиться к настройке сервера удаленного доступа и принимать меры к обеспечению секретности паролей. Если на компьютере не предполагается работа удаленных пользователей, на нем следует запретить выполнение всех серверов регистрации.
Настройка
rlogind
Сервер
rlogind
— одна из нескольких программ, поддерживающих так называемые r-команды. Эти команды были реализованы для обеспечения различных типов удаленного
доступа к системе UNIX. При запуске клиента
rlogin
он старается установить соединение с сервером
rlogind
или
in.rlogind
. Одно из преимуществ
rlogind
состоит в том, что настройка данного сервера осуществляется очень просто. Однако используемый протокол чрезвычайно примитивен, поэтому контролировать обращения к системе посредством
rlogind
очень трудно.
Запуск
rlogind
Сервер
rlogind
обычно запускается посредством суперсервера. Во многих дистрибутивных пакетах в конфигурационном файле
/etc/inetd.conf
уже присутствует запись для
rlogind
, но чаще всего она закомментирована. Для того, чтобы сервер выполнялся на компьютере, вам надо убрать символ комментариев из соответствующей строки и перезапустить суперсервер. Если в системе используется
xinetd
, в ней обычно создается файл для запуска
rlogind
, который помещается в каталог
/etc/xinetd.d
. Файл запуска, как правило, настраивается так, чтобы по умолчанию выполнение сервера было запрещено. Поэтому, чтобы обеспечить работу
rlogind
, надо специально разрешить его запуск. Необходимые для этого действия описаны в главе 4.
На выполнение
rlogind
влияют перечисленные ниже опции.
•
– n
. В обычных условиях
rlogind
периодически проверяет наличие клиента, даже если он длительное время не передает данные. Опция
– n
отменяет такое поведение сервера.
•
– а
. Данная опция была введена для поддержки расширенной процедуры аутентификации, но во многих системах она не работает.
•
– h
. В обычных условиях
rlogind
не использует файл
.rhosts
суперпользователя. Опция
– h
указывает на то, что данный файл должен использоваться.
•
– l
. Данная опция запрещает использование файла
.rhosts
для аутентификации пользователей. Исключение составляет суперпользователь, взаимодействие с которым определяет опция
– h
.
•
– L
. Эта опция запрещает аутентификацию на основе данных, содержащихся в файлах
.rhosts
и
hosts.equiv
.
Внимание
Несмотря на то что опции
– h
,
– l
и
– L
входят в официальный набор опций
rlogind
, в новых версиях Linux они обычно не оказывают влияния на работу сервера. Причина в том, что в новых версиях системы используются модули РАМ; в результате действие указанных опций отменяется.
Средства защиты
rlogind
Средства защиты всех утилит, реализующих r-команды, в лучшем случае могут считаться устаревшими. А если подходить к этому вопросу с позиции современных требований, следует признать, что защита в них вовсе отсутствует. В частности, работа сервера
rlogind
основана на принципе доверия, а это значит, что
rlogind
полагается на результаты процедуры аутентификации, выполненной на клиентской машине. Существуют способы несколько улучшить защиту
rlogind
, а использование системы Kerberos позволяет реально обезопасить ресурсы сети.