Открыть сервис

rlogin

rlogin — это протокол прикладного уровня для удалённого доступа к компьютерам в сети, работающий поверх транспортного протокола TCP. Разработан в начале 1980-х годов в Калифорнийском университете в Беркли в рамках операционной системы BSD Unix. Предназначен для установления интерактивного текстового сеанса связи между двумя Unix-подобными системами, позволяя пользователю авторизоваться на удалённом хосте и работать с его командной оболочкой так, как если бы он сидел за его консолью. В отличие от более позднего протокола Telnet, rlogin изначально ориентировался на доверенные сети и не шифровал передаваемые данные, включая пароли.

История

Протокол rlogin появился как часть дистрибутива 4.2BSD, выпущенного в 1983 году. Его создание было обусловлено потребностью в простом и быстром способе удалённого администрирования компьютеров в локальных сетях университетов и исследовательских центров. В те годы сети были изолированными, а вопросы безопасности не стояли так остро, как впоследствии.

Основной альтернативой rlogin на тот момент была программа telnet, которая также не шифровала трафик, но имела более сложный механизм согласования опций и эмуляции терминала. Разработчики BSD сделали rlogin более «лёгким» и тесно интегрированным с системой доверенных хостов Unix, что позволяло пользователям входить на удалённую машину без повторного ввода пароля, если их хост был занесён в файл /etc/hosts.equiv или ~/.rhosts.

С ростом популярности Интернета и увеличением числа атак, направленных на перехват трафика, недостатки rlogin стали критическими. В середине 1990-х годов началось активное внедрение протокола SSH, который обеспечивал шифрование и аутентификацию с открытым ключом. К началу 2000-х годов rlogin был вытеснен SSH в большинстве операционных систем. Тем не менее, в некоторых устаревших корпоративных и научных сетях он продолжал использоваться вплоть до 2010-х годов.

Архитектура и принцип работы

Протокол rlogin работает по модели «клиент-сервер». Клиентская программа обычно называется rlogin, серверная — rlogind. Взаимодействие происходит через TCP-порт 513.

Установление соединения

Процесс подключения состоит из нескольких этапов:

  1. Клиент открывает TCP-соединение к порту 513 на удалённом хосте.
  2. Сервер отправляет клиенту нулевой байт (в качестве приветствия).
  3. Клиент отправляет строку, содержащую имя пользователя на удалённом хосте, имя пользователя на локальном хосте, тип терминала и скорость передачи, разделённые нулевыми байтами.
  4. Сервер проверяет файлы доверенных хостов (/etc/hosts.equiv и ~/.rhosts). Если локальный хост и пользователь считаются доверенными, аутентификация не требуется, и сеанс начинается немедленно.
  5. Если доверие не установлено, сервер запрашивает пароль. Пароль передаётся по сети в открытом виде (без шифрования).
  6. После успешной аутентификации сервер запускает для пользователя командную оболочку (обычно /bin/sh или /bin/csh).

Передача данных

Весь ввод с клавиатуры клиента и вывод с сервера передаётся в виде обычного текста (ASCII или UTF-8). Протокол поддерживает специальные управляющие последовательности для обработки прерываний (Ctrl+C), приостановки вывода (Ctrl+S/Ctrl+Q) и изменения размера окна терминала.

Ключевые особенности и недостатки

Преимущества (в контексте своего времени)

Недостатки

Сравнение с альтернативными протоколами

ХарактеристикаrloginTelnetSSH
ШифрованиеНетНетДа
АутентификацияПароль / доверенные хостыПарольПароль, ключи, сертификаты
Порт по умолчанию5132322
Поддержка сжатияНетНетДа
Перенаправление портовНетНетДа
Статус (2020-е)Устарел, не рекомендуетсяУстарел, не рекомендуетсяАктивно используется

Безопасность

Из-за отсутствия шифрования и уязвимости к атакам «человек посередине» (MITM) использование rlogin в современных сетях, особенно в Интернете, считается крайне опасным. Перехват пароля позволяет злоумышленнику получить полный доступ к удалённой системе. Даже в локальных сетях, где перехват трафика сложнее, не рекомендуется применять rlogin без дополнительных мер защиты, таких как туннелирование через SSH или VPN.

В большинстве современных дистрибутивов Linux и BSD-систем сервер rlogind не устанавливается по умолчанию или удалён из репозиториев. В macOS до версии 10.13 (High Sierra) клиент rlogin ещё присутствовал, но затем был исключён из базовой поставки.

Применение в настоящее время

Несмотря на устаревание, rlogin изредка встречается:

Однако в подавляющем большинстве случаев rlogin заменён протоколом SSH, который является стандартом де-факто для удалённого администрирования Unix-подобных систем.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →