Чтение онлайн

ЖАНРЫ

Сетевые средства Linux

Смит Родерик В.

Шрифт:

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

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 позволяет реально обезопасить ресурсы сети.

Рассмотрим принцип работы базовых средств защиты

rlogind
. Когда клиентская программа предпринимает попытки установить соединение с сервером
rlogind
, система выполняет для аутентификации пользователя следующие действия.

1. Сервер проверяет порт клиента, выступающего инициатором установления соединения. Обычно клиент-программы

rlogin
используют номер порта в диапазоне 512-1023. Если номер порта клиента лежит за пределами этого диапазона,
rlogind
отвергает попытки установить соединение. Такая мера предотвращает использование для взаимодействия подложного клиента
rlogin
, написанного обычным пользователем, поскольку номера портов ниже 1024 может использовать только
root
. Однако это не мешает злоумышленнику подключить к сети свой компьютер под управлением Linux и зарегистрироваться на нем как
root
. Кроме того, в некоторых операционных системах порты с номерами ниже 1024 доступны всем пользователям, поэтому описанная здесь мера защиты не очень эффективна.

2. Сервер удаленной регистрации обращается к серверу DNS, чтобы преобразовать IP-адрес клиента в доменное имя.

3. Если имя, полученное в результате DNS-преобразования, принадлежит тому же домену, что и сервер, или если при запуске

rlogind
была указана опция
– а
, сервер ищет IP-адрес по доменному имени. Если полученный в результате адрес не отличается от исходного IP-адреса и если опции
– L
и
– l
не были указаны,
rlogind
обращается к файлам
~/.rhosts
и
/etc/hosts.equiv
и проверяет, объявлен ли данный клиент как пользующийся доверием. Если проверка дала положительный результат и если удалённый пользователь имеет учетную запись на сервере,
rlogind
осуществляет регистрацию без дальнейшей проверки.

Поделиться с друзьями: