На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

КОМАНДЫ   УДАЛЕННОЙ РАБОТЫ

Набор команд Unix содержит подмножество команд, известных как команды уда­ленной работы (или команды -г). Они были разработаны в Университете Беркли, штат Калифорния. Все они начинаются с буквы г. Эти команды наиболее часто используются пользователями и хакерами.
С помощью этих команд пользователь может зарегистрироваться на любом уда­ленном сервере в любом домене. Эта служба использует передачу пакетов по Internet, телефонным линиям и глобальным сетям. Каждый пакет содержит но­мер пользователя и группы, к которой он принадлежит (в виде обычного тек­ста), а также некоторую другую информацию. Очевидно, что эта информация может стать очень полезной для хакера. Более того, если вы попытаетесь присо­единиться к удаленному серверу, для которого вы не являетесь надежным хос­том, то команда удаленной работы передаст ваше имя и пароль «открытым тек­стом». Как уже говорилось, многие администраторы исключают использование команд удаленной работы. Только так можно избежать открытой передачи паро­лей по сети.
КОМАНДА RLOGIN
Одной из наиболее распространенных операций в сети является регистрация на удаленном хосте. Ее можно провести с помощью команды rlogin. Предполо­жим, что пользователь Happy хочет зарегистрироваться на удаленном хосте Dogs. При этом он использует одно и то же имя для регистрации на своем сервере и на сервере Dogs. Если он воспользуется командой rlogin, то на его экране будут отображены примерно такие строки:
$ rlogin Dogs <Enter>
Last successful login for Happy: Sun Sep 21 16:25:47 EDT 1997 on ttypl
Last unsuccessful login for Happy: Tue Sep 23 07:15:57 EDT 1997 on ttypO
SCO Unix System V/386 Release 3.2
<3десь располагаются имена зарегистрированных компаний>
All  Rights Reserved
Dogs
Terminal type is dialup
Тип терминала удаленного соединения совпадает с типом терминала ло­кального пользователя (если пользователь не указал иного). Все эти строки яв­ляются ответом удаленного сервера. Таким образом, процесс регистрации на удаленном сервере абсолютно прозрачен для пользователя. Завершив работу,
пользователь должен выйти из удаленного хоста и вернуться на свой (локаль­ный) хост.
Из приведенного примера становится понятно, почему многие пользователи предпочитают использовать именно эту команду. Однако если хосты поддержи­вают надежные отношения, то эта команда может создать немалое количество дополнительных проблем. Например, пользователь, попытавшийся с помощью команды зарегистрироваться на надежном хосте, не должен повторно вво-
дить свой пароль (если он зарегистрирован на другом сервере под тем же име­нем). Однако, зарегистрировавшись на одном удаленном сервере, пользователь сможет зарегистрироваться и на другом удаленном сервере, который является надежным для первого, но не для хоста пользователя. И снова пользователю не придется вводить свой пароль (предполагается, что третий сервер также содер­жит учетную запись для этого пользователя).
Вероятность использования одного и того же имени пользователя на различных серверах достаточно мала. Однако, чтобы понять потенциальную опасность этой команды, давайте рассмотрим учетную запись root. Если пользователь обладает roof-правами на первом компьютере, то он сможет зарегистрироваться на любом сервере, совместно использующем надежные отношения с сервером, на кото­ром уже зарегистрировался этот пользователь.
Кроме того, если пользователь попытается зарегистрироваться на сервере, кото­рый не является надежным по отношению к серверу пользователя, то он должен будет передать свои имя и пароль в виде обычного текста. А это уже само по себе представляет достаточно большую опасность для сети.
КОМАНДА RCP
Если пользователь работает на распределенной сети с несколькими хостами (сер­верами), то ему нередко требуется скопировать файлы с одного сервера на дру­гой. Для этого в операционной системе Unix используется команда rep (Remote СоРу — удаленное копирование). Однако вы не можете копировать посредством этой команды файлы в пределах одного сервера. Далее приводится синтаксис команды
rep   [~Р]  filet file2
Необходимо указать имя удаленного файла (который -копируется или в который производится копирование) в виде В остальном команда
гср будет работать подобно команде ср. Эта команда особенно опасна в тех сис­темах, где пользователю разрешается изменять разрешения доступа к файлу. Например, на удаленном сервере есть файл, на который пользователю предо­ставлены права только для чтения. В данном случае пользователь может скопи­ровать этот файл на свою машину и попытаться изменить свои права.
Более того, пользователь, копирующий файлы с удаленного сервера, должен передать этому серверу свой номер, номер своей группы, а также адрес, по которому сервер должен переслать информацию. Поэтому, передавая эти дан­ные, пользователь может очень навредить безопасности своего сервера.
КОМАНДА RSH
В некоторых реализациях Unix эта команда известна под именами remsh или rcmd. Она представляет собой одну из наиболее опасных команд удаленной ра­боты. С ее помощью пользователь может выполнять команды на удаленном хос­те. Например, пользователь может скопировать с файл с некоторой програм­мой, а затем запустить его на выполнение.
Команда rsh позволяет выполнять на удаленном сервере любую команду (даже несмотря на то, что некоторые команды требуют ввода данных с клавиатуры или
нуждаются в определенных настройках терминала).
Команда представляет достаточно большую опасность для сети. Например, с ее помощью пользователь может зарегистрироваться в системе, создать оболочку и запустить троянского Если пользователь может удаленно зарегистриро-
ваться в системе и скопировать туда файл, то он сможет переполнить буфер стека (см. далее) и тем самым заставить оболочку загрузиться повторно. Благо­даря этому пользователь может оставить троянского коня, который будет запу­щен на выполнение после некорректного завершения работы оболочки.
^ОТКЛЮЧЕНИЕ УДАЛЕННОЙ
Если пользователи системы не нуждаются в коман-
дах удаленной работы (rlogin, rsh и т. д.), то вы должны уда­лить их из системы. позволит значительно уменьшить воз­можность перехвата паролей и проведения атак наблюдения.
Если же вам обязательно нужно работать этими командами,
воспользуйтесь их более новыми версиями. Например, Wietse Venema создала пакет logdaemon, в который входят более безопасные версии Команд работы с удаленным хостом. Вы можете настроить демонов Venema так, чтобы они запрашивали информацию из каталога /'etc/hosts.equiv, а не SBOME/.rhosts. Кроме        можно на своем сервере использование символов
лона для этих команд.
Если же вы решили отключить команды, вам придется также
ровать информацию, приходящую на TCP-порты маршрутизатора (их номе­ра 512, 513 и 514). Благодаря этому вы сможете запретить внешним пользо­вателям использовать команды удаленной работы. Однако это абсолютно не помешает пользователям вашей сети обмениваться данными с сервером. Кроме того, воспользуйтесь программой tcp_wrappers, чтобы предоставить пользователям большее количество служб доступа к TCP-сетям. Чтобы за­грузить logdaemon и tcp_wrappers,посетите Web-сайт издательства Jamsa Press, расположенный по адресу http://www.jamsa.com/.
КОМАНДА su
Это последняя из рассматриваемых нами команд Unix. С ее помощью обычный пользователь может получить права другого пользователя. Команда su (Switch User) была создана для облегчения работы системных администраторов. С ее помощью можно временно переключиться на учетную запись другого пользова­теля. Если же не указывать учетную запись, то команда su расценит это как попытку получить доступ к учетной записи root. Если учетная запись не обладает паролем, то система автоматически назначит этой записи пользователя, первым переключившегося на нее. Другими словами, если пользователь попытается пе­реключиться на запись, у которой нет пароля, то он сам станет хозяином этой записи. Если же запись обладает паролем, то оболочка попросит пользователя ввести его. Как уже говорилось в главе 12, каждая попытка использования ко­манды su регистрируется в журнале sulog.
Использованы КОМАНДЫ да
Многие системные администраторы удаляют эту команду из системы, потому что считают ее достаточно опасной. Как уже говорилось в предыдущем разделе, если пользователь по- | пытается переключиться на запись, у которой нет пароля, то он сам станет хозяином этой записи.
Однако здесь я позволю себе сказать несколько слов против подобного обра­щения с системой. Если ваша система опирается на согласованную политику создания паролей, то команда su представляет не большую опасность, чем команда login (команда регистрации в системе). Поэтому нужно придерживать­ся следующих правил. Если безопасность вашей системы не так безупречна,
как хотелось бы, то вы должны удалить команду su. Если же у вас достаточно надежная политика создания паролей, то можете спокойно оставлять команду в системе. Так или иначе, команда su представляет собой достаточно мощное средство администрирования системы.
ДЕМОНЫ
На продолжении всей книги мы уже несколько раз упоминали о демонах. Демо­ном называется процесс, который выполняется не каким-либо пользователем, а
самой операционной системой. Чаще всего демоны отвечают за администриро­вание и управление системой, работу сетевых служб, службы печати, а также
своевременное выполнение определенных действий. Чтобы процесс можно было рассматривать как демон, он должен удовлетворять двум условиям:
Операционная система не должна ассоциировать демона с пользователем. 2.  Демон должен выполняться даже после выхода пользователя из системы. Несмотря на то что работа демонов практически незаметна, они предоставляют
большинство наиболее полезных услуг. Демоны принимают и обрабатывают за­просы пользователей. Кроме того, они реагируют на всевозможные события в
системе. Например, демон syslogd отвечает на сообщения и сохраняет их в опре­деленном администратором месте. В отличие от большинства процессов, демо­ны большее время проводят в «спячке». «Спят» они до тех пор, пока их услуги не потребуются системе. Благодаря этому системе не приходится несколько раз запускать один и тот же процесс, что позволяет избежать лишних затрат систем­ных ресурсов.
Чтобы отличить демона от обычного пользовательского процесса, достаточно
посмотреть на таблицу выполняющихся процессов. Для отображения этой таб­лицы нужно воспользоваться командой ps. Один из столбцов таблицы (обозна­ченный как ТТ) отображает терминал, выполняющий процесс. Если вместо терминала в этом столбце стоит знак вопроса, то соответствующий процесс яв­ляется демоном.
Чтобы лучше разобраться с концепциями демонов, рассмотрим конную почту. Если почтовая станция ожидает прибытия своего служащего, то она заранее готовит очередную лошадь. Таким образом, служащий не должен ожидать, пока ему оседлают новую лошадь, а сразу пересаживается на оседланную. Благодаря этому ускоряется процесс пересылки писем. Точно так же ведет себя и систем­ный демон. Он постоянно ожидает очередного запроса. Получив его, демон обрабатывает этот запрос и ожидает следующий. В следующих разделах мы по­знакомимся с наиболее часто используемыми демонами Unix.
ДЕМОН INIT
Этот демон является родительским процессом для всех остальных процессов си­стемы. В его обязанности входит выполнение многих жизненно необходимых функций операционной системы Unix. Прежде всего, он отвечает за загрузку системы. После этого демон init просматривает файл /etc/inittab, определяющий начальную конфигурацию системы. Итак, без этого демона невозможна работа
всей операционной системы Unix. ДЕМОН LPD
Этот демон управляет службами печати. Он постоянно прослушивает TCP/IP-co-единения в ожидании очередного запроса печати. Демон 1рс1{в System V он заменен на Ipsched) ответственен за фоновую печать документов. Получив очередной за­прос на печать, демон обрабатывает его и передает готовый к распечатке файл сетевому принтеру.
ДЕМОН SENDMAIL
Демон sendmail — это команда Mail Transport Agent. Этот демон постоянно прослу­шивает порты TCP/IP в ожидании сообщений электронной почты. Получив сооб­щение, демон передает его локальному или удаленному пользователю. Демон sendmail никоим образом не взаимодействует с пользователями. Он просто отвечает за рассылку приходящих и отправку исходящих сообщений электронной почты, постоянно прослушивает порты TCP/IP в ожидании новых сообщений, а также занимается рассылкой почты удаленным хостам (через те же порты TCP/IP).
Программа sendmail прослушивает порт с номером 25. Из-за общеизвестности
этой информации демон представляет очень удобную «мишень» для атак хакеров.
С его помощью хакеры пытаются проникнуть в систему либо переслать свои со­общения далее по сети.
ОБЗОР
Мы уже познакомились с основными командами и демонами Unix. Вы уже дол­жны обладать достаточным запасом знаний, чтобы понять основные уязвимые места этой операционной системы. В следующих разделах я расскажу вам об основных типах атак на Unix-системы.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика