Архивы FTP. Поиск в архивах FTP. Архивы FTP. Поиск в архивах FTP.

  1. Протокол FTP
    1. для чего предназначен
    2. схема работы
    3. недостатки, проблемы безопасности
  2. FTP-архивы
    1. схема взаимодействия компонентов FTP-обмена
    2. анонимный FTP, FSP
    3. безопасный FTP (FTP через SSH, FTP поверх SSL)
  3. Поиск в архивах FTP
    1. Archie
    2. WAIS
    3. Veronica
    4. Jughead
  4. Литература
  1. Протокол FTP
    1. для чего предназначен
      File Transfer Protocol (букв. «протокол передачи файлов») или просто FTP — сетевой протокол, предназначенный для передачи файлов в компьютерных сетях. Протокол FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер, кроме того возможен режим передачи файлов между серверами (см. FXP).
      FTP является одним из старейших прикладных протоколов, появившимся задолго до HTTP в 1971 году. До начала 90-х годов на долю FTP приходилось около половины трафика в сети интернет. Этот протокол и сегодня широко используется для распространения программного обеспечения и доступа к удалённым хостам. FTP предназначен для решения задач разделения доступа к файлам на удаленных хостах, прямого или косвенного использования ресурсов удаленных компьютеров, обеспечения независимости клиента от файловых систем удаленных хостов, эффективной и надежной передачи данных.
      Протокол не шифруется, при аутентификации передаёт логин и пароль открытым текстом. Если злоумышленник находится в одном сегменте сети с пользователем FTP, то, используя сниффер (например, Wireshark), он может перехватить логин и пароль пользователя, или, при наличии специального ПО, получать передаваемые по FTP файлы без авторизации. Чтобы предотвратить перехват трафика, необходимо использовать протокол шифрования данных SSL.
      Обмен данными в FTP происходит по TCP-каналу. Обмен построен на технологии “клиент-сервер”. FTP не может использоваться для передачи конфиденциальных данных, поскольку не обеспечивает защиты передаваемой информации и передает между сервером и клиентом открытый текст. FTP-сервер может потребовать от FTP-клиента аутентификации (т.е. при присоединении к серверу FTP-пользователь должен будет ввести свой идентификатор и пароль). Однако пароль, и идентификатор пользователя будут переданы от клиента на сервер открытым текстом.
      На многих FTP-серверах существует каталог (под названием incoming, upload и т.п.), открытый на запись и предназначенный для закачки файлов на сервер. Это позволяет пользователям наполнять сервер свежими данными.

    2. схема работы
      Простейшая модель работы протокола FTP представлена на рисунке 1. В FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора протокола пользователя средствами.

      Рис.1.Модель работы протокола FTP.

      Команды FTP определяют параметры канала передачи данных и самого процесса передачи. Они также определяют и характер работы с удаленной и локальной файловыми системами.
      Сессия управления инициализирует канал передачи данных. При организации канала передачи данных последовательность действий другая, отличная от организации канала управления. В этом случае сервер инициирует обмен данными в соответствии с согласованными в сессии управления параметрами.
      Канал данных устанавливается для того же хоста, что и канал управления, через который ведется настройка канала данных. Канал данных может быть использован как для приема, так и для передачи данных.
      Алгоритм работы протокола FTP состоит в следующем:

      1. Сервер FTP использует в качестве управляющего соединение на TCP порт 21, который всегда находится в состоянии ожидания соединения со стороны пользователя FTP.
      2. После того как устанавливается управляющее соединение модуля "Интерпретатор протокола пользователя" с модулем сервера — "Интерпретатор протокола сервера", пользователь (клиент) может отправлять на сервер команды. FTP-команды определяют параметры соединения передачи данных: роль участников соединения (активный или пассивный), порт соединения (как для модуля "Программа передачи данных пользователя", так и для модуля "Программа передачи данных сервера"), тип передачи, тип передаваемых данных, структуру данных и управляющие директивы, обозначающие действия, которые пользователь хочет совершить (например, сохранить, считать, добавить или удалить данные или файл и другие).
      3. После того как согласованы все параметры канала передачи данных, один из участников соединения, который является пассивным (например, "Программа передачи данных пользователя"), становится в режим ожидания открытия соединения на заданный для передачи данных порт. После этого активный модуль (например, "Программа передачи данных сервера") открывает соединение и начинает передачу данных.
      4. После окончания передачи данных, соединение между "Программой передачи данных сервера" и "Программой передачи данных пользователя" закрывается, но управляющее соединение "Интерпретатора протокола сервера" и "Интерпретатора протокола пользователя" остается открытым. Пользователь, не закрывая сессии FTP, может еще раз открыть канал передачи данных.

      Возможна ситуация, когда данные могут передаваться на третью машину. В этом случае пользователь организует канал управления с двумя серверами и прямой канал данных между ними. Команды управления идут через пользователя, а данные - напрямую между серверами. Канал управления должен быть открыт при передаче данных между машинами. Иначе, в случае его закрытия передача данных прекращается.
      Основу передачи данных FTP составляет механизм установления соединения между соответствующими портами и выбора параметров передачи. Каждый участник FTP-соединения должен поддерживать порт передачи данных по умолчанию. По умолчанию "Программа передачи данных пользователя" использует тот же порт, что и для передачи команд (обозначим его "U"), а "Программа передачи данных сервера" использует порт L-1, где "L"- управляющий порт. Однако, участниками соединения используются порты передачи данных, выбранные для них "Интерпретатором протокола пользователя", поскольку из управляющих процессов участвующих в соединении, только "Интерпретатор протокола пользователя" может изменить порты передачи данных как у "Программы передачи данных пользователя", так и у "Программы передачи данных сервера".
      Пассивная сторона соединения должна до того, как будет подана команда "начать передачу", "слушать" свой порт передачи данных. Активная сторона, подающая команду к началу передачи данных, определяет направление перемещения данных.
      После того как соединение установлено, между "Программой передачи данных сервера" и "Программой передачи данных пользователя" начинается передача. Одновременно по каналу "Интерпретатор протокола сервера" — "Интерпретатор протокола пользователя" передаются уведомления о получении данных. Протокол FTP требует, чтобы управляющее соединение было открыто, пока по каналу обмена данными идет передача. Сессия FTP считается закрытой только после закрытия управляющего соединения.
      Как правило, сервер FTP ответственен за открытие и закрытие канала передачи данных. Сервер FTP должен самостоятельно закрыть канал передачи данных в следующих случаях:
      • Сервер закончил передачу данных в формате, который требует закрытия соединения.
      • Сервер получил от пользователя команду "прервать соединение".
      • Пользователь изменил параметры порта передачи данных.
      • Было закрыто управляющее соединение.
      • Возникли ошибки, при которых невозможно возобновить передачу данных.

    3. недостатки, проблемы безопасности
      Общие недостатки:

      1. Невысокая надежность соединения на плохих линиях.
      2. Встречающиеся проблемы при обрыве соединения со включенным proxy
      3. Невысокая скорость работы из-за закрытия соединения после пересылки.
      4. Недоступность файлов через ftp, адресуемых через протокол http (хотя это и не недостаток самого http, это его особенность.)
      5. Требуется установка FTP-клиента
      6. После закачки необходимо проверить ключевые слова и отправить снимки на проверку через Web-интерефейс

      Недостатки FTP-серверов:
      FTP-серверы представляют собой потенциальную дыру в системе безопасности сети. Поэтому если не планируется организация архивов, библиотек, т.е. хранилищ данных, доступных для широкого доступа, лучше не запускать FTP-сервер вообще. Однако данный сервис широко распространен, поэтому его безопасности необходимо уделить самое пристальное внимание. Следует сразу заметить, что все FTP-серверы уязвимы в той или иной степени. Но различия в реализации и конфигурации приводят в одних случаях к отказу от обслуживания, а в других - к полному контролю над хостом. Причем из-за особенностей протокола FTP могут быть поражены как серверы, так и клиенты.
      FTP серверы достаточно неустойчивы к DoS атакам.
      Одной из проблем FTP-серверов является отсутствие проверки подлинности источника пакетов. Суть в следующем: при установке соединения сервер прослушивает один из TCP портов, сообщает его номер клиенту, после чего клиент открывает указанный порт и начинает передачу данных. Это так называемый пассивный режим. При активном режиме TCP порт назначает клиент, а сервер открывает соединение с порта 20 на порт, назначенный клиентом. Поскольку в процессе сеанса подлинность абонента не проверяется, то возможна атака следующего вида: на открытый порт периодически посылаются запросы на TCP соединение. Как только соединение установлено, происходит подмена клиента. Уязвимость к данной атаке демонстрируют все ftpd - серверы.
      Недостатки FTP-клиентов:
      Основные недостатки FTP с точки зрения клиента - возможность перехвата данных, недостаточная стандартизованность и плохая совместимость с брандмауэрами. Это само по себе уже достаточный повод избегать использования FTP везде, где можно.

  2. FTP-архивы
    1. схема взаимодействия компонентов FTP-обмена
      FTP-архивы являются одними из основных информационных ресурсов Internet. Фактически, это распределенный депозитарий текстов, программ, фотографий и прочей информации, хранящейся в виде файлов на различных компьютерах во всем мире.
      Информация в FTP-архивах разделена, в основном, на три категории:
      1. Защищенная информация, режим доступа к которой определяется ее владельцами и разрешается по специальному соглашению с потребителем. К этому виду ресурсов относятся коммерческие архивы (к примеру, коммерческие версии программ в архивах ftp.microsoft.com), закрытые национальные и международные некоммерческие ресурсы (например, работы по международным проектам CES или IAEA), частная некоммерческая информация со специальными режимами доступа (например,частные благотворительные фонды).
      2. Информационные ресурсы ограниченного использования, к которым относятся, например, программы класса shareware. В данный класс могут входить ресурсы ограниченного времени использования или ограниченного времени действия.
      3. Свободно распространяемые информационные ресурсы или freeware, если речь идет о программном обеспечении. К этим ресурсам относится все, что можно свободно получить по сети без специальной регистрации. Это может быть документация, программы или что-либо еще. Следует отметить,что свободно распространяемое программное обеспечение не имеет сертификата качества, но его разработчики открыты для обмена опытом. Из выше перечисленных ресурсов наиболее интересными являются две последних категории, которые, как правило, оформлены в виде FTP-архивов.

      Технология FTP была разработана в рамках проекта ARPA и предназначена для обмена большими объемами информации между машинами с различной архитектурой. Главным в проекте было обеспечение надежной передачи, поэтому с современной точки зрения FTP кажется перегруженным излишними редко используемыми возможностями. Стержень технологии составляет FTP-протокол.
      FTP-архив можно использовать и в качестве архива коммерческого программного обеспечения, которое используется в компании, только в этом случае такой архив не должен разрешать анонимного доступа к хранящимся в нем ресурсам.
      Часто возможность авторизированного FTP-доступа используют и для обмена сообщениями, т.е. в качестве средства коммуникации. Это происходит обычно в том случае, когда система электронной почты по тем или иным причинам не работает.
      В настоящее время всю систему взаимодействия компонентов FTP-обмена можно представить в виде схемы представленной на рисунке 2.
      На этой схеме показано два важных технологических момента: во-первых, доступ к архиву можно осуществлять не только из специализированной программы-клиента, но и из универсального броузера, например Netscape Communicator или Microsoft Internet Explorer, а во-вторых, для поиска информации в FTP-архивах можно воспользоваться программой Archie.

      Рис.2. Схема взаимодействия компонентов FTP-обмена

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

    2. анонимный FTP, FSP
      Анонимный доступ FTP является весьма новой службой Интернет, возникшей в конце 80-х годов. Такой доступ обеспечивается под видом специально выделенного пользователя (которого чаще всего зовут "anonymous" и который имеет пароль совпадающий с адресом электронной почты). При входе в систему с правами "anonymous" вы получаете доступ к специально выделенному для этих пользователей каталогом (как правило, только на чтение), который называется FTP-сервером. Сообщать серверу в качестве пароля адрес своей электронной почты не является обязательным, считается правилом "хорошего тона" в поведении пользователя.

      С момента организации анонимного FTP доступа на многих машинах в сети Internet созданы такого типа каталоги (анонимного FTP сервера), которые накопили огромные коллекции (терабайты информации) архивов программных средств, всевозможной документации, художественной литературы, компьютерных фильмов, музыки и дp. Как правило, эта служба на большинстве FTP серверах работает бесплатно, хотя существуют сервера (например, в сети RELCOM), которые предоставляют информацию только своим пользователем.
      На FTP серверах находятся гигантские архивы файлов, в которых можно найти базовое программное обеспечение, утилиты и новые версии драйверов, программы исправления замеченных в коммерческих программах ошибок (patches), документацию, адреса, сборники и многое другое. Практически все, что может быть предоставлено мировому сообществу в виде файлов, доступно с серверов anonymous FTP. Это и программы - свободно распространяемые и демонстрационные версии, это и мультимедиа, это, наконец просто тексты - законы, книги, статьи, отчеты.
      Доступ к FTP серверу, в большинстве операционных систем, как правило, организован через вызов специальной утилиты ftp. Хотя существуют различные программные оболочки, как под UNIX (например, ncftp2), так и под MS Windows (например, Norton Navigator), реализующие протокол FTP и облегчающие работу с этой службой Интернет.
      Таким образом, если вы имеете IP-соединение и выход в глобальный Интернет, то вызвав утилиту ftp, набрав соответствующий адрес (или имя FTP-сервера), назвавшись "anonymous" и послав в качестве пароля свой E-mail адрес вы получите доступ к выбранному вами файловому архиву.

    3. безопасный FTP (FTP через SSH, FTP поверх SSL)
      FTPS — это протокол FTP, выполняемый по защищенному соединению SSL. Возможность использования протокола FTPS предусмотрена во многих популярных клиентах FTP, но, к сожалению, она не реализована в службе FTP Service корпорации Microsoft. Поэтому вам придется задействовать обеспечивающее такую возможность приложение сервера FTP (например, популярный продукт WFTPD). Не путать FTPS с протоколом SSH File Transfer Protocol.

      SFTP - FTP через SSH
      SFTP (Secure File Transfer) - ftp-подобный клиент, который может быть использован для передачи файлов по сети. Он не использует FTP демонов (ftpd или wu-ftpd) для соединения, что позволяет существенно повысить уровень защиты. Анализируя журналы нашей системы за последний месяц, мы обнаружили, что 80% атак было направлено на wu-ftpd. Использование sftp прозволяет отключить потенциально опасный wu-ftpd.
      Sftp не требует никакого специально выделенного сервера, так как он соединяется с ssh сервером.
      Sftp использует ssh2 при соединении, это означает, что передаваемые файлы защищены настолько, насколько это возможно. Есть два основных преимущества при использовании sftp вместо ftp:
      Пароли никогда не передаются отрытым текстом, что предотвращает атаки с использованием сниферов (sniffer). Данные шифруются во время передачи, затрудняя прослушивание и подтасовку. Использование sftp2: Предположим, что нужно соединиться с помощью sftp с хостом host1, имея на ней аккаунт myname. Используется команда:
      sftp myname@host1
      некоторые опции могут быть заданы из командной строки.
      Когда sftp2 будет готов к выполнению команд, высветится приглашение sftp>.
      Так как sftp использует крипто, это имеет свои минусы: уменьшение скорости соединения (примерно в 2-3 раза по моему опыту), но это не так важно по сравнению с проблемами защиты сети.

  3. Поиск в архивах FTP
    1. Archie
      Первые сайты начали появляться в 1993 году, в большинстве это были сайты университетов, но задолго до того как появились они, появился "Арчи", так назывался первый созданный поисковик. Он появился в 1990 году, благодаря Алану Эмтагу, студенту уничерситета МакГила в Монреале. Вначале проект хотели назвать "Архивы", но потом сократили до Арчи.
      Арчи помог решить проблему поиска разбросанной по всей сети информации, комбинируя основанный на скрипте механизм сбора и выдачи данных по запросу, основываясь на совпадении в названиях файлов с поисковыми запросами. Арчи превратился в базу данных документов, в которой и производился поиск по запросам пользователей.
      В настоящее время доступ по FTP-протоколу осуществляется из множества мультипротокольных интерфейсов (например, Mosaic или Netscape) или графических ftp-оболочек типа ftptool для X-Window. Все они гораздо удобнее и проще в использовании, но и потребляют гораздо больше ресурсов.
      Любопытно, что FTP-сервер есть даже для MS-DOS (пакет NCSA Telbin), не говоря о многозадачных средах. Однако поиск нужного FTP-сервера в Internet - задача сложная и трудоемкая. Для ее облегчения существует специальное средство - Archie. Archie был разработан в Университете McGill в Канаде. Задача Archie - сканировать FTP-архивы на предмет наличия в них требуемых файлов. Работать с Archie можно через telnet-сессию, через локального клиента или по электронной почте.

    2. WAIS
      WAIS (Wide Area Information Server) распределенная система поиска информации (В настоящее время утилита устарела и не используется. Статья сохранена для понимания эволюции Интернет). Поиск производится по базам данных, содержащим текстовые документы (но допустимы также графические, звуковые или видео документы). Тематика баз данных и поиска произвольны. Базы данных могут иметь любую структуру, но пользователю не нужно знать языка управления этими базами. WAIS использует естественный управляющий язык. WAIS доступен в Интернет. Для пользователей, имеющих доступ только к электронной почте, предназначен интерфейс, размещенный по адресу waismail@quake.think.com. В сети Интернет существует много серверов WAIS. Список депозитариев серверов достаточно широк, начать можно с анонимного FTP по адресу Think.com секция /wais, файл wais-sources.tar.Z (файл архивирован и пересылка должна осуществляться в режиме BINARY). В настоящее время многие WAIS-сервера интегрированы в сети WEB.
      Существуют клиент-серверы WAIS для систем MS-DOS, VMS, MVS, OS/2, UNIX и Macintosh, а также для GNU Emacs, NeXT, X-Windows, MS-Windows, Sunview и т.д. Эти продукты несколько отличаются друг от друга, но обычно процедура содержит следующие шаги:
      1. Пользователь выбирает набор баз данных, где будет проводиться поиск, из числа имеющихся.
      2. Формулируется задание на поиск, выбираются ключевые слова.
      3. В процессе поиска WAIS запрашивает информацию из всех указанных баз данных.
      4. Отображаются заголовки документов, отвечающих критериям отбора. Документы аранжируются согласно их степени соответствия условиям запроса.
      5. Для получения копии пользователь просто отбирает документы из предлагаемого списка.
      6. При необходимости пользователь может переформулировать критерии отбора и повторить поиск.
      7. Вновь найденные документы, если они не совпадают с уже известными будут добавлены в список.
    3. Veronica
      Для поиска в виртуальной файловой системе GopherSpace разработана система Veronica. Обращение к ней содержится в корневом меню большинства серверов Gopher. Это полноценная информационно-поисковая система (ИПС), которая позволяет осуществлять поиск с использованием ключевых слов в массивах, поддерживаемых зарегистрированными в университете Миннесоты серверами GopherSpace.

    4. Jughead
      Арчи стал настолько популярным, что группа System Computing Services при университете Невады создала Veronica, которая служила тем же целям, что и Арчи, но осуществляла поиск по текстам документов в простом текстовом формате. Всоре появился еще один интерфейс для поиска информации - Jughead, который служил тем же целям, что и Veronica. Они оба работали с документами, пересылаемыми через Gopher, который был создан как альтернатива "Арчи" Марком МакКахилом в университете Миннесоты в 1991 году.

  4. Литература
    1. Free Encyclopedia Wikipedia
    2. http://www.cryptopro.ru/cryptopro/documentation/dig-cert.htm
    3. http://sources.ru/protocols/ftp_learning.shtml
    4. http://www.sgu.ru/ie/csit/p/glava21.htm
      Hosted by uCoz

      Hosted by uCoz