r-команды Беркли

Набор утилит удаленного доступа
r-команды Беркли
Разработчик(и)Исследовательская группа компьютерных систем Калифорнийского университета в Беркли
Первоначальный выпускИюнь 1981 г .; 43 года назад ( 1981-06 )
Операционная системаUnix и Unix-подобные
ТипКомандный пакет
ЛицензияБСД

Команды R-типа Berkeley представляют собой набор компьютерных программ, разработанных для того, чтобы пользователи одной системы Unix могли входить в систему или отдавать команды другому компьютеру Unix через компьютерную сеть TCP/IP . [1] Команды R-типа были разработаны в 1982 году Исследовательской группой компьютерных систем Калифорнийского университета в Беркли на основе ранней реализации TCP/IP ( стек протоколов Интернета ) . [2]

CSRG включила r-команды в свою операционную систему Unix , Berkeley Software Distribution (BSD). Впервые r-команды появились в BSD v4.1. [2] Среди программ в этом наборе: (remote copy ), (remote execution ), (remote login ), (remote shell ), , и (remote who ). [2] [3]rcprexecrloginrshrstatruptimerwho

Команды r были значительным нововведением и стали фактическими стандартами для операционных систем Unix. [4] [5] С более широким распространением Интернета их уязвимости безопасности стали проблемой, [6] и, начиная с разработки протоколов и приложений Secure Shell в 1995 году, их принятие полностью вытеснило развертывание и использование команд r (и Telnet ) в сетевых системах. [7]

Обзор
УслугаПортТранспортРеф.
КлиентДемон
рчпршд514ТКП
rexecrexecd512ТКП[8]
rloginrlogind513ТКП[9]
ршршд514ТКП
рстатrstatdУДП
время разрываrwhod513УДП[10]
rwho[9] [10]

Протокол

Оригинальный пакет Berkeley, который rloginтакже предоставляет функции rcp(remote-copy, позволяющий копировать файлы по сети) и rsh (remote-shell, позволяющий запускать команды на удаленной машине без входа пользователя в систему).

В качестве примера можно привести следующий протокол: [11]

Клиент:<ноль> имя
пользователя  на  клиенте  <null> имя
пользователя  на  сервере  <null> тип
терминала /скорость  передачи данных терминала  <null>Сервер:

Сервер проверит, должен ли пользователь иметь доступ. Если да, он возвращает сообщение, в котором ничего нет (даже нет нулевого символа ), что означает, что соединение установлено. Например:

Клиент:<ноль>бостик<null>kbostic<null>vt100/9600<ноль>Сервер:

Оба rloginи rshразделяют схему управления доступом /etc/hosts.equiv(применяется ко всем пользователям на сервере) и $HOME/.rhosts(применяется только к пользователю, который помещает файл в свою домашнюю папку), хотя они подключаются к разным демонам. rloginподключается к rlogind, в то время как rshподключается к rshd. hosts.equivи .rhostsиспользует тот же формат. Ниже показаны некоторые аспекты формата: [12] [13]

хост1хост2  пользователь_a-хост3+@group1  -user_b-@group2

Это позволяет всем пользователям с хоста host1 входить в систему, пользователю user_a с хоста host2 входить в систему, пользователям с хоста host3 — нет, всем пользователям в группе group1, кроме user_b, и пользователям в группе group2 — нет.

Команды

rlogin

rloginпозволяет пользователю войти на другой сервер через компьютерную сеть , используя сетевой порт TCP 513.

rloginтакже является названием протокола прикладного уровня , используемого программным обеспечением, частью набора протоколов TCP/IP . Аутентифицированные пользователи могут действовать так, как будто они физически присутствуют за компьютером. RFC 1282, в котором он был определен, гласит: « Средство предоставляет удаленно отображаемый, локально управляемый потоком виртуальный терминал с надлежащей очисткой вывода». взаимодействует с демоном , , на удаленном хосте. похож на команду Telnet , но не так настраиваем и может подключаться только к хостам типа Unix.rloginrloginrlogindrlogin

рш

rshоткрывает оболочку на удаленном компьютере без процедуры входа в систему . После подключения пользователь может выполнять команды на удаленном компьютере через интерфейс командной строки оболочки . rshпередает ввод и вывод через стандартные потоки и отправляет стандартный вывод на консоль пользователя . По сети стандартный ввод и стандартный вывод проходят через порт TCP 514, в то время как стандартная ошибка проходит через другой порт TCP, который открывает rsh демон ( rshd). [14]

рексек

Как и rsh, rexecпозволяет пользователю запускать команды оболочки на удаленном компьютере. Однако, в отличие от сервера rsh, rexecсервер ( rexecd) требует входа в систему: он аутентифицирует пользователей, считывая имя пользователя и пароль (незашифрованные) из сетевого сокета . [15] rexec использует порт TCP 512.

рчп

rcpможет копировать файл или каталог из локальной системы в удаленную систему, из удаленной системы в локальную систему или из одной удаленной системы в другую. [16] Аргументы командной строки и cpпохожи rcp, но в rcpудаленных файлах они имеют префикс в виде имени удаленной системы:

rcp file.txt поддомен.домен:~/home/foo/file.txt

Как и команда копирования Unix cp , rcpперезаписывает существующий файл с тем же именем в целевом объекте; в отличие от cp, она не предоставляет механизма предупреждения пользователя перед перезаписью целевого файла. [16] Как и rsh, rcpиспользует TCP-порт 514. [17]

rwho

Так же, как команда who выводит список пользователей, вошедших в локальную систему Unix, rwhoвыводит список пользователей, вошедших во все многопользовательские системы Unix в локальной сети. [18] rwho Демон , rwhod, поддерживает базу данных о состоянии систем Unix в локальной сети. Демон и его база данных также используются программой ruptime. [19]

рстат

rstatвозвращает статистику производительности ядра.

время разрыва

Так же, как uptimeкоманда показывает, как долго система Unix работает с момента последнего перезапуска, ruptimeзапрашивает отчет о состоянии всех компьютеров в локальной сети. Затем она возвращает отчет о времени безотказной работы. Если компьютер не ответил в течение установленного срока, то ruptimeсообщает, что система отключена . [20] Эта информация отслеживается и сохраняется демоном rwhod, который также используется командой rwho. [19]

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

Те r-команды, которые включают аутентификацию пользователя ( rcp, rexec, rlogin, и rsh), имеют несколько серьезных уязвимостей безопасности:

  • Вся информация, включая пароли, передается в незашифрованном виде (что делает ее уязвимой для перехвата).
  • Файл .rlogin(или .rhosts) легко использовать не по назначению. Они разработаны для обеспечения входа без пароля , но их зависимость от удаленных имен пользователей, имен хостов и IP-адресов может быть использована. По этой причине многие корпоративные системные администраторы запрещают .rhostsфайлы и активно проверяют свои сети на наличие нарушителей.
  • Протокол частично полагается на то, что клиент удаленной стороны rloginчестно предоставляет информацию, включая исходный порт и имя исходного хоста. Злонамеренный клиент может подделать это и получить доступ, поскольку rloginпротокол не имеет средств аутентификации того, что клиент запущен на доверенной машине. Он также не может проверить, является ли запрашивающий клиент на доверенной машине настоящим rloginклиентом, что означает, что вредоносные программы могут выдавать себя за клиента, соответствующего стандарту, rloginиспользуя те же протоколы.
  • Распространенная практика монтирования домашних каталогов пользователей через сетевую файловую систему делает rlogin уязвимым для атак с использованием поддельных .rhostsфайлов — это означает, что любая его ошибка безопасности автоматически ставит под угрозу rlogin.

Из-за этих проблем r-команды вышли из употребления (и многие дистрибутивы Unix и Linux больше не включают их по умолчанию). Многие сети, которые ранее полагались на SSH rloginи telnetзаменили их на SSH и его rloginэквивалент slogin. [21] [22]

Смотрите также

Примечания

  1. ^ Хорвиц, Джефф (2003) [2002]. «Использование r-команд Berkeley без пароля». Unix System Management: Primer Plus . Sams Publishing. стр. 339. ISBN 978-0-672-32372-0. Получено 2018-03-04 – через Google Книги.
  2. ^ abc McKusick, Marshall Kirk (1999). "Двадцать лет Berkeley Unix: от AT&T-Owned до Freely Redistributable". Открытые источники: голоса из Open Source Revolution . O'Reilly & Associates. Раздел: "4.2BSD". ISBN 978-1-56592-582-3. Получено 2018-03-03 .
  3. ^ Пайлс, Джеймс; Каррелл, Джеффри Л.; Титтел, Эд (2017). «Какие IP-сервисы наиболее уязвимы?». Руководство по TCP/IP: IPv6 и IPv4 (5-е изд.). Cengage Learning. стр. 659. ISBN 978-1-305-94695-8– через Google Книги.
  4. ^ Касад (2008), стр. 346
  5. ^ Негус, Кристофер (2004-07-02). "О командах "r"". Red Hat Fedora Linux 2 Bible . Wiley. ISBN 0-7645-5745-9. OCLC  441918216 . Получено 2018-03-04 .
  6. ^ «Исследование случая использования защищенного протокола сетевого уровня». CiteSeerX 10.1.1.178.8497 . 
  7. ^ Николас Росаско; Дэвид Ларошель. «Как и почему более безопасные технологии добиваются успеха на устаревших рынках: уроки успеха SSH» (конференц-материалы) . Гарвардский университет . doi :10.1007/1-4020-8090-5_18. S2CID  19035681. Получено 13 апреля 2023 г.
  8. ^ "Команда REXEC — выполнение команды на удаленном хосте и получение результатов на локальном хосте". z/OS Communications Server: Руководство пользователя и команды IP . 2013 [1990] . Получено 04.03.2018 .
  9. ^ ab "Подробнее о портах". FreeBSD Network Administrators Guide . Получено 2018-03-04 .
  10. ^ аб Касад (2008), стр. 350–51.
  11. ^ Кантор, Брайан (декабрь 1991 г.). BSD Rlogin (отчет). Internet Engineering Task Force.
  12. ^ "Формат файла .rhosts для TCP/IP". www.ibm.com . Получено 29.11.2023 .
  13. ^ "Формат файла hosts.equiv для TCP/IP". www.ibm.com . Получено 29.11.2023 .
  14. ^ Эдвардс, Уэйд; Ланкастер, Том; Куинн, Эрик; Ром, Джейсон; Тоу, Брайант (2004). CCSP: Руководство по безопасному PIX и безопасной VPN. Sybex . стр. 154. ISBN 0-7821-4287-7. Получено 2018-03-07 – через Google Books.
  15. ^ "rexecd(8)". manpagez.com . Получено 2018-03-03 .
  16. ^ ab Farrell, Phillip (3 августа 2004 г.). "rcp". earthsci.stanford.edu . Школа наук о Земле, энергетике и окружающей среде Стэнфордского университета. Архивировано из оригинала 2021-02-07 . Получено 2018-03-06 .
  17. ^ "Rlogin, RSH и RCP". SourceDaddy . Получено 2018-02-18 .
  18. ^ "rwho (1) - Linux Man Pages" . Получено 2018-03-07 .
  19. ^ ab "rwhod (8) - Linux Man Pages" . Получено 2018-03-07 .
  20. ^ "ruptime (1) - Linux Man Pages". SysTutorials . Получено 2018-03-07 .
  21. ^ Собелл, Марк (2010). Практическое руководство по командам, редакторам и программированию оболочки Linux . Pearson Education, Inc. ISBN 978-0-13-136736-4.
  22. ^ "Список команд управления заданиями Unix". Университет Индианы . Получено 20 декабря 2014 г.

Ссылки

  • Casad, Joe (2008). "Berkeley Remote Utilities". Sams Teach Yourself TCP/IP за 24 часа . Pearson Education. ISBN 978-0-13-271513-3– через Google Книги.

Дальнейшее чтение

  • Noordergraaf, Alex (2003) [2002]. "Службы удаленного доступа (rsh, rlogin и rcp)". Enterprise Security: Solaris Operating Environment, Security Journal, Solaris OE v2.51, 2.6, 7 и 8. Prentice Hall. ISBN 978-0-13-100092-6.
  • Понятовский, Марти (2000). Справочник пользователя UNIX (1-е изд.). Prentice Hall. стр. 475–77. ISBN 978-0-13-027019-1. OCLC  43561861.
  • Роджерс, Лоуренс Р. (ноябрь 1998 г.). "rlogin(1): Нерассказанная история" (PDF) . Архивировано из оригинала (PDF) 2001-12-17.
  • «Unix User Enumeration». Лаборатория тестирования на проникновение . 10 апреля 2012 г.
Взято с "https://en.wikipedia.org/w/index.php?title=Berkeley_r-commands&oldid=1187434056"