1 Протокол FTP
1.1 Краткое описание
FTP – это протокол передачи данных [1]. Он предназначен для передачи файлов с удаленного компьютера на локальный. Данный протокол описывает спецификацию команд, которые используют программы для своей работы. Протокол реализуется на основе клиент-серверного взаимодействия.
1.2 Сценарий взаимодействия
Работа FTP на прикладном уровне содержит несколько этапов:
идентификация (ввод имени-идентификатора и пароля);
выбор каталога;
определение режима обмена (ASCII или двоичный);
выполнение команд обмена;
завершение работы.
FTP поддерживает два соединения между ЭВМ (Рис.1). Сначала по запросу клиента формируется канал управления, который в дальнейшем используется для передачи команд от клиента и откликов от сервера. Информационный канал формируется сервером по команде клиента, он не должен существовать постоянно на протяжении всей FTP-сессии и может формироваться и ликвидироваться по мере необходимости. Канал управления может быть закрыт только после завершения информационного обмена. Для команд по каналу управления используется формат протокола Telnet. После того как управляющий канал сформирован, клиент может посылать по нему команды. Сервер воспринимает, интерпретирует эти команды и передает отклики.
Рис. 1 Схема работы протокола FTP
Возможна и другая схема взаимодействия, когда по инициативе клиента осуществляется файловый обмен между двумя ЭВМ, ни одна из которых не является машиной клиента.
Рис. 2 Организация информационного обмена между двумя удаленными машинами
1.3 Механизмы разграничения доступа
Базовая схема установления подлинности основана на том, что агент пользователя подтверждает подлинность при помощи идентификатора пользователя (user-ID) и пароля (password) для каждого запрошенного URI, находящегося в защищенной области. Сервер обслужит запрос, только если он может проверить правильность идентификатора пользователя (user-ID) и пароля (password) для запрошенного URI.
Структура учетной записи пользователя для FTP совпадает с учетной записью локальной файловой системы ОС.
1.4 Реализации протокола
Протокол реализуется на основе клиент-серверного взаимодействия. Далее приводится список наиболее популярных FTP серверов:
Ms IIS Server;
Serv-U FTP Server;
Apache.
IIS Server – сервер компании Microsoft. Он входит в комплект поставки Microsoft BackOffice и сетевой операционной системы Windows. Несомненными плюсами Internet Information Server являются: полная совместимость с ОС Windows и графический интерфейс. На данный момент существует неофициальная реализация IIS Server для Linux.
Serv-U FTP Server - сервер компании Rhino Software, обладающий простым интерфейсом. Сервер позволяет назначать права доступа к файлам и каталогам для разных пользователей, создавать несколько виртуальных FTP серверов, что необходимо для полноценной работы FTP сервера. Serv-U позволяет создать FTP-сервер с высокой степенью защищенности. Сервер реализован для ОС Windows. Характерная особенность - открытая архитектура, позволяющая расширять и модернизировать сервер за счет использования внешних DLL.
Apache – самый распространенный сервер в Internet. Характерные особенности: широкий набор функциональных возможностей, низкие требования к ресурса по сравнению с ранее рассмотренными FTP-серверами. Данный сервер реализован на таких популярных платформах, как Windows, Linux, Unix. Модернизацией продукта занимается не коммерческая организация Apache Group.
2 Протокол SMB
2.1 Краткое описание
SMB – универсальный прикладной протокол, используемый для передачи файлов между ЭВМ и печати документов с аутентификацией в среде Windows [6]. Данный протокол создавался с расчётом на совместное использование с протоколом NetBIOS, но в среде TCP/IP может работать не только совместно с NetBIOS, а напрямую через TCP/IP; при этом вместо порта 139 используется порт 445. В то время как SMB работает по схеме клиент-сервер, основанные на нём службы могут создавать широковещательный трафик.
2.2 Сценарий взаимодействия
Работа SMB содержит несколько этапов:
установление соединения;
установка параметров сессии и авторизация пользователя (ввод имени-идентификатора и пароля);
выполнение команд обмена;
завершение работы.
Когда пользователь впервые посылает запрос на доступ к сетевому ресурсу или принтеру, средствами протокола NetBIOS устанавливается соединение на уровне сессии. В результате создается соединение между клиентом и сервером. С этого момента открыт канал между клиентом и сервером. После этого клиент посылает сообщение серверу для выбора версии протокола SMB. Следующим шагом является передача параметров сессии и доступа для создания полноценного соединения. В них входят имя пользователя и пароль (если он существует), имя рабочей группы, максимальный размер передаваемых данных и количество ожидаемых запросов. Сервер посылает клиенту сообщение о том, что
Читать далее...