Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Yazov_ITKS

.pdf
Скачиваний:
348
Добавлен:
31.05.2015
Размер:
7.37 Mб
Скачать

согласования ограничений, накладываемых на синтаксис (наборы символов, структура данных).

Указанные функции определяют виды сервиса, которые прикладной уровень предоставляет прикладным процессам. Кроме этого, прикладной уровень передает прикладным процессам сервис, предоставляемый физическим, канальным, сетевым, транспортным, сеансовым и представительским уровнями.

На прикладном уровне необходимо предоставить в распоряжение пользователей уже переработанную информацию. С этим может справиться системное и пользовательское программное обеспечение.

К числу наиболее распространенных протоколов верхних трех уровней относятся:

FTP (File Transfer Protocol) – протокол передачи файлов;

TFTP (Trivial File Transfer Protocol) – простейший протокол пересылки файлов;

SFTP (Simple File Transfer Protocol) – простейший протокол пересылки файлов;

X.400 – протокол для международного обмена электронной почтой;

TELNET (TErminaL NETwork) – работа с удален-

ным терминалом;

SMTP (Simple Mail Transfer Protocol) – простой протокол почтового обмена;

SLIP (Serial Line IP) IP – протокол последова-

тельной посимвольной передачи данных;

SNMP (Simple Network Management Protocol) –

протокол для мониторинга сети и сетевых компонентов в сети Internet;

101

FTAM (File Transfer, Access, and Management) –

протокол передачи, доступа и управления фай-

лами.

Рассмотрим некоторые протоколы, которые широко используются для реализации сетевых атак.

Протокол TELNET - один из самых старых коммуникационных протоколов Internet, предназначенный для реализация доступа к ресурсам удаленного компьютера. Протокол TELNET обеспечивает двунаправленный восьмибитный канал передачи данных. Его главной задачей является создание стандартного метода взаимодействия терминальных устройств. Схема соединения терминала пользователя с сервером TELNET приведена на рис. 1.34.

 

Internet

 

Компьютер пользователя

Данные и управляющая

Сервер Telnet

Терминал

информация

 

Рис. 1.34. Схема соединения терминала пользователя с сервером TELNET

TELNET использует TCP-соединение для передачи данных совместно с управляющей информацией протокола. В принципе, для работы протокола передавать какуюлибо управляющую информацию не обязательно. Таким образом, протокол может использоваться для соединения с любым сервисом, использующим TCP в качестве транспортного протокола.

Протокол TELNET находится на сеансовом уровне стандартной модели OSI. Для обеспечения удаленного доступа к терминалу сервера стандартом резервируется порт 23. Основу протокола составляют три базовых положения:

102

концепция «Сетевого Виртуального Терминала»;

использование принципа согласования параметров;

симметрия терминалов и процессов.

Концепция «Сетевого Виртуального Терминала» состоит в следующем. Когда устанавливается соединение, предполагается, что оно начинается и завершается на «Сетевом Виртуальном Терминале» (Network Virtual Terminal, NVT). NVT – это воображаемое устройство, которое создает промежуточное стандартное представление канонического терминала. NVT является стандартным описанием наиболее широко используемых возможностей реальных физических терминальных устройств. Терминальная программа и реализуемый в ней процесс преобразовывают характеристики физических устройств в спецификацию NVT, что позволяет, с одной стороны, унифицировать характеристики физических устройств, а с другой – обеспечить совместимость устройств с различными возможностями.

Характеристики диалога определяются устройством с меньшими возможностями. В результате, «пользовательскому» и «серверному» узлам не нужно хранить информацию о характеристиках терминалов друг друга. Все узлы отображают характеристики своих устройств так, чтобы другой стороне казалось, что она имеет дело с NVT. Обычно, под «пользовательским» понимают узел, к которому подключен реальный терминал или который инициирует соединение по протоколу TELNET, а под «серверным» - который предоставляет некоторый сервис.

Принцип согласования параметров состоит в сле-

дующем. NVT - это минимально необходимый набор параметров, который позволяет работать даже самым примитивным устройствам. Многие современные устройства об-

103

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

Впротоколе предлагаются дополнительные параметры «DO, DON'T, WILL, WON'T», позволяющие пользователю и серверу более точно договориться об используемых в соединении соглашениях.

Команда WILL XXX указывает на предложение отправляющей стороны использовать параметр XXX, при этом DO XXX и DON'T XXX являются, соответственно, положительным и отрицательным ответом.

Вотличие от других протоков, таких как FTP или SMTP, команды передаются не английскими словами (или их сокращениями), а в виде восьмибитных последовательностей (байтов).

Симметрия терминалов и процессов отражает тот факт, что все управляющие команды протокола могут даваться любой стороной, участвующей в соединении. Разделения на «клиент» и «сервер» здесь нет.

Протокол TELNET позволяет обслуживающей машине рассматривать все удаленные терминалы как стандартные «сетевые виртуальные терминалы» строчного ти-

104

па, работающие в коде ASCII16, а также обеспечивает возможность согласования более сложных функций (например, локальный или удаленный эхо-контроль, страничный режим, высота и ширина экрана и т.д.). TELNET работает на базе протокола TCP. На прикладном уровне над TELNET находится либо программа поддержки реального терминала (на стороне пользователя), либо прикладной процесс в обсуживающей машине, к которому осуществляется доступ с терминала. Протокол TELNET широко распространен, создано множество реализаций для самых разных операционных систем. Вместе с тем протокол недостаточно защищен, что позволяет его использовать при проведении сетевых атак.

Протокол FTP (File Transfer Protocol – протокол передачи данных) – один из старейших протоколов в Internet и входит в его стандарты. Первые спецификации FTP относятся к 1971 году. С тех пор FTP претерпел множество модификаций и значительно расширил свои возможности. FTP может использоваться как в программах пользователей, так и в виде специальной утилиты операционной системы. FTP предназначен для решения задач разделения доступа к файлам на удаленных хостах, прямого или косвенного использования ресурсов удаленных компьютеров, обеспечения независимости клиента от файловых систем удаленных хостов, эффективной и надежной передачи данных.

Достаточно яркая особенность протокола FTP состоит в том, что он использует множественное (как минимум — двойное) подключение. При этом один канал явля-

16 ASCII (англ. American Standard Code for Information Interchange) —

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

105

ется управляющим, через который поступают команды серверу и возвращаются его ответы (обычно через TCPпорт 21), а через остальные происходит собственно передача данных, по одному каналу на каждую передачу. Поэтому в рамках одной сессии по протоколу FTP можно передавать одновременно несколько файлов, причём в обоих направлениях. Для каждого канала данных открывается свой TCP порт, номер которого выбирается либо сервером, либо клиентом, в зависимости от режима передачи

Обмен данными в FTP построен на технологии «клиент-сервер». FTP не может использоваться для передачи конфиденциальных данных, поскольку не обеспечивает защиты передаваемой информации и передает между сервером и клиентом открытый текст. FTP-сервер может потребовать от FTP-клиента аутентификации по паролю. Однако пароль пользователя передается от клиента на сервер открытым текстом.

В соответствии с протоколом FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер, при этом используются три группы команд: команды управления доступом к системе, команды управления потоком данных и команды FTP-сервиса.

Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора протокола пользователя средствами.

Алгоритм работы протокола FTP состоит в следу-

ющем:

106

1.Сервер FTP использует в качестве управляющего канала соединение через TCP-порт 21, который всегда находится в состоянии ожидания соединения со стороны пользователя FTP.

2.После того как устанавливается управляющее соединение модуля «Интерпретатор протокола пользователя» с модулем сервера «Интерпретатор протокола сервера», пользователь (клиент) может отправлять на сервер команды. FTP-команды определяют параметры соединения передачи данных: роль участников соединения (активный или пассивный), порт соединения, тип передачи, тип передаваемых данных, структуру данных и управляющие директивы, обозначающие действия, которые пользователь хочет совершить (например, сохранить, считать, добавить или удалить данные или файл и другие).

3.После того как согласованы все параметры канала передачи данных, один из участников соединения, который является пассивным, становится в режим ожидания открытия соединения на заданный для передачи данных порт. После этого активный модуль открывает соединение

иначинает передачу данных.

4.После окончания передачи данных, соединение между абонентами закрывается, но управляющее соединение «Интерпретатора протокола сервера» и «Интерпретатора протокола пользователя» остается открытым. Пользователь, не закрывая сессии FTP, может еще раз открыть канал передачи данных.

Сервер FTP ответственен за открытие и закрытие канала передачи данных. Сервер FTP должен самостоятельно закрыть канал передачи данных в следующих случаях:

1.Сервер закончил передачу данных в формате, который требует закрытия соединения.

107

2.Сервер получил от пользователя команду «прервать соединение».

3.Пользователь изменил параметры порта передачи

данных.

4.Было закрыто управляющее соединение.

5.Возникли ошибки, при которых невозможно возобновить передачу данных.

Протокол FTP имеет двух «младших братьев»:

TFTP – Trivial FTP и SFTP – Simple FTP.

Протокол TFTP - это простейший протокол передачи файлов. Он работает с транспортным протоколом UDP и обеспечивает выполнение только самых элементарных операций передачи файлов: записи и чтения файлов. Он не имеет никаких средств аутентификации, но может передавать 8-битную информацию в соответствии со всеми стандартами Internet.

Поскольку передача данных осуществляется поверх UDP, протокол TFTP реализует собственные методы надежной доставки данных – пакеты подтверждения, нумерация блоков данных и пакетов подтверждения и т.п. Все очень похоже на упрощенный вариант эмуляции протокола TCP (см. ниже).

TFTP использует пять команд:

1.Read request (RRQ) - запрос на чтение.

2.Write request (WRQ) - запрос на запись.

3.Data (DATA) - пакет данных.

4.Acknowledgment (ACK) - подтверждение.

5.Error (ERROR) - ошибка.

Процесс передачи данных начинается с поступления от клиента TFTP на сервер запроса на чтение или запись файла. Соединение устанавливается после получения подтверждения готовности на один из запросов, либо на запись, либо на чтение.

108

При открытии соединения каждая из сторон выбирает (случайным образом) уникальный идентификатор, который используется и протоколом UDP как порт соединения. Каждый пересылаемый пакет ассоциирован с двумя идентификаторами, соответствующими каждой стороне соединения. Первоначальный запрос отправляется инициатором TFTP-соединения на UDP-порт 69 (порт инициализации), в котором указывается порт соединения. Дальнейший обмен уже происходит через порты, выбранные участниками передачи данных.

Если сервер разрешает запрос, обмен открывается и указанный файл передается (блоками по 512 байт). Каждый пакет передаваемых данных содержит, кроме указанного блока, номер блока в передаваемом потоке. Поступление каждого блока на хост назначения должно быть подтверждено пакетом с флагом ACK (подтверждение) с номером поступившего блока. Только после получения пакета подтверждения будет отправлен следующий пакет данных.

Если длина пакета менее 512 байтов, то это служит сигналом для закрытия канала связи. В случае потери пакета при передаче через некоторый промежуток времени сервер отправит этот пакет данных повторно.

Три типа ситуаций порождают отправку ошибочных пакетов:

1.Не подтвержден запрос, например, не был найден файл, нет прав доступа и др.

2.Неправильный формат пакета, например, произошла ошибка коммутации.

3.Потеря доступа к требуемому ресурсу.

При большом количестве сообщений об ошибках соединение может быть закрыто по инициативе одной из сторон.

109

Протокол SFTP передачи файлов пользуется популярностью в тех случаях, когда пользователю необходим чуть более гибкий и надежный протокол, чем TFTP, и не такой сложный и громоздкий, как FTP. SFTP поддерживает механизмы идентификации пользователя, передачу файлов, просмотр каталогов, изменение текущего каталога, переименование и удаление файлов. В большинстве операций, которые пользователь проводит с удаленным FTPсервером, этого сервиса вполне достаточно. SFTP может передавать 8-битный поток данных и использует, как TFTP, только один канал как для команд, так и для данных. В отличие от TFTP, SFTP работает поверх TCP, порт 115.

Протокол SMTP (Simple Mail Transfer Protocol -

простой протокол передачи почты) поддерживает передачу сообщений (электронной почты) между произвольными узлами сети Internet. Имея механизмы промежуточного хранения почты и механизмы повышения надежности доставки, протокол SMTP допускает использование различных транспортных служб. Он может работать даже в сетях, не использующих протоколы семейства TCP/IP. Протокол SMTP обеспечивает как группирование сообщений в адрес одного получателя, так и размножение нескольких копий сообщения для передачи в разные адреса. Над модулем SMTP располагается почтовая служба конкретных вычислительных систем. Следует отметить, что в то время как электронные почтовые серверы и другие агенты пересылки сообщений используют SMTP для отправки и получения почтовых сообщений, клиентские почтовые приложения, работающие на пользовательском уровне, обычно используют SMTP только для отправки сообщений на почтовый сервер и для ретрансляции. Для получения сообщений клиентские приложения обычно используют либо протоколы POP (англ. Post Office Protocol – протокол почтового

110

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]