Средства защиты rlogind

We use cookies. Read the Privacy and Cookie Policy

Средства защиты 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 осуществляет регистрацию без дальнейшей проверки.

4. Если IP-адрес, полученный в результате DNS-преобразования, и IP-адрес, указанный в запросе, не совпадают, либо если была задана опция -L или -l, либо если клиент не найден в списке клиентов, пользующихся доверием, программа rlogind запрашивает пользовательское имя и пароль. Если пользователь ввел корректный пароль, rlogind предоставляет доступ в систему. Если пароль не совпадает с паролем, хранящимся в базе данных, пользовательское имя и пароль запрашиваются снова. Если пользователь не смог зарегистрироваться с нескольких попыток, соединение разрывается.

При выполнении описанной выше процедуры регистрации предполагается, что программа rlogind знает имя пользователя, по инициативе которого устанавливается соединение. Эта информация передается с одного компьютера на другой и скрыта от пользователя. При желании, вызывая клиент-программу rlogin, можно задать имя пользователя с помощью опции -l, например rlogin -l s jones.

Поскольку rlogind использует принцип доверия и пользователи на узлах, пользующихся доверием, могут самостоятельно изменять данные в файле .rhosts, защиту сервера rlogind можно обойти несколькими способами. Это можно сделать, воспользовавшись недостатками в защите клиента, включив в запрос фальшивый IP-адрес компьютера, пользующегося доверием, удалив клиентскую машину из сети и подключив к ней свой компьютер, либо включив в файл .rhosts нужную запись. Некоторые из указанных способов атаки осуществить достаточно сложно. Например, если администратор постоянно следит за состоянием сети, пользователю вряд ли удастся незаметно подключить к ней свой компьютер но само разнообразие способов делает сервер rlogind чрезвычайно уязвимым для злоумышленника. При всех своих недостатках сервер rlogind имеет одно неоспоримое преимущество: регистрация на сервере может осуществляться без указания пользовательского имени и пароля, поэтому соединение с удаленным узлом устанавливается достаточно быстро.

[rodsmith@nessus rodsmith]$ rlogin speaker

Last login: Mon Aug 12

14:48:58 2002 from nessus on 4

[rodsmith@speaker rodsmith]$

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

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