Поскольку 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 обеспечивают гораздо более высокую степень защиты.
Управление доступом к rlogind
Если вы обращаетесь к rlogind
с узла, не относящегося к списку узлов, пользующихся доверием, вам придется ввести пользовательское имя и пароль. Однако не исключено, что вы захотите регистрироваться на удаленном узле, не задавая имя и пароль. Для этого вам придется определить компьютер, на котором вы работаете, как узел, пользующийся доверием. Это можно сделать двумя способами.
• Создать запись в файле /etc/hosts.equiv
. Данный конфигурационный файл содержит установки для всей системы. Если компьютер указан в данном файле, любой пользователь, работающий на нем, может обращаться к службам, поддерживающим r-команды. Для того чтобы такие обращения поддерживались, необходимо, чтобы на сервере существовала учетная запись для текущего пользователя либо выполнялось отображение пользовательских имен. Если же соответствие имен установить не удалось (например, если пользователь julia
хочет зарегистрироваться на удаленном сервере с помощью учетной записи fred
), придется вводить пароль.
• Создать запись в файле ~/.rhosts
. Этот файл хранится в рабочем каталоге пользователя и содержит описания клиентов, которые пользуются доверием у этого пользователя. Если имя удаленного пользователя совпадает с именем пользователя, для которого на сервере существует учетная запись, удаленный пользователь получает доступ к ресурсам сервера. Кроме того, можно принять меры для отображения пользователей (средства отображения будут рассмотрены ниже). Если на сервере используется файл .rhosts
, за его поддержку отвечает пользователь, для которого создан этот файл.
Тот факт, что файл ~/.rhosts
доступен для пользователя, означает, что вы как системный администратор делегируете вашим пользователям право настраивать средства защиты системы. Это одна из причин, по которым применять сервер rlogind
не рекомендуется. Если же по каким-либо причинам вам приходится запускать на компьютере rlogind
, используйте TCP Wrappers либо другие средства ограничения доступа.
Оба описанных выше файла управляют использованием всех r-команд на сервере, в частности rlogin
, rcp
и rsh
. Если на компьютере поддерживается система печати BSD LPD (системы печати были рассмотрены в главе 9), эти файлы также осуществляют контроль доступа к принтерам.