Ftp

Производные

FTPS

Явный FTPS — это расширение стандарта FTP, которое позволяет клиентам запрашивать шифрование сеансов FTP. Это делается путем отправки команды «AUTH TLS». У сервера есть возможность разрешить или запретить соединения, которые не запрашивают TLS. Это расширение протокола определено в RFC   . Неявный FTPS — это устаревший стандарт FTP, который требовал использования SSL или TLS-соединения. Было указано использовать порты, отличные от обычного FTP.

Протокол передачи файлов SSH

Протокол передачи файлов SSH (в хронологическом порядке второй из двух протоколов, сокращенно SFTP) передает файлы и имеет аналогичный набор команд для пользователей, но использует протокол Secure Shell (SSH) для передачи файлов. В отличие от FTP, он шифрует как команды, так и данные, предотвращая открытую передачу паролей и конфиденциальной информации по сети. Он не может взаимодействовать с программным обеспечением FTP.

Простой протокол передачи файлов

Trivial File Transfer Protocol (TFTP) — это простой протокол FTP с блокировкой, который позволяет клиенту получить файл с удаленного хоста или поместить файл на него. Одно из его основных применений — на ранних этапах загрузки из локальной сети , потому что TFTP очень просто реализовать. TFTP не хватает безопасности и большинства расширенных функций, предлагаемых более надежными протоколами передачи файлов, такими как протокол передачи файлов. TFTP был впервые стандартизирован в 1981 году, а текущую спецификацию протокола можно найти в RFC   .

Простой протокол передачи файлов

Простой протокол передачи файлов (первый протокол, сокращенно SFTP), как определено в RFC   , был предложен как (незащищенный) протокол передачи файлов с промежуточным уровнем сложности между TFTP и FTP. Он никогда не был широко принят в Интернете , и теперь IETF присвоил ему статус Исторического . Он работает через порт 115 и часто получает инициализацию SFTP . Он имеет набор команд из 11 команд и поддерживает три типа передачи данных: ASCII , двоичный и непрерывный. Для систем с размером слова , кратным 8 битам, реализация двоичного и непрерывного языков одинакова. Протокол также поддерживает вход с использованием идентификатора пользователя и пароля, иерархические папки и управление файлами (включая переименование , удаление , загрузку , загрузку , загрузку с перезаписью и загрузку с добавлением ).

Особенности FTP сервера

Более подробно рассмотрим технические аспекты и расскажем, что такое ftp сервер и как он работает.

Главная функция FTP — передача файлов.

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

  1. Требуется аутентификация.
  2. Наличие выделенного канала для каждого соединения.
  3. Поддержка 2-х режимов передачи данных: текста и бинарного (в двоичной системе). Второй вариант сокращает время и трафик.
  4. Использование множественного подключения как минимум двуканального. Через один передаются команды управления и возвращаются обработанные ответы. С помощью других осуществляется файловая передача из расчета выделенный канал на каждую.

Зачем нужен FTP

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

  • в первом отображается все, что загружено на сервер;
  • во втором — все, что находится на компьютере.

Кроме этих, используются вспомагательные окна. Пользователь выделяет документ, который хочет поместить на хостинг, и переносит его. Перед этим он должен обязательно авторизоваться. Данные указываются в формате: @название ресурса.доменное имя.

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

Особенности FTP-сервера

Теперь детальнее разберемся, что собой представляет и как работает любой FTP-сервер. Итак, основная задача такого сервера — отправка и получение файлов. Но кроме нее пользователь может выполнять различные команды, позволяющие еще и управлять каталогами и файлами.

Также FTP-сервер имеет такие технические отличия:

  1. Для подключения к нему необходимо пройти аутентификацию.
  2. На каждое соединение с сервером выделяется один канал передачи данных.
  3. Можно работать в 2-х режимах отправки информации: текстовом и бинарном (двоичная система). Используя второй режим, можно сэкономить трафик и выиграть на скорости.
  4. Подключение к FTP-серверу может быть множественным (не менее, чем двухканальным). Один канал, при этом, используется для отправки команд и получения ответов, а остальные позволяют передавать и получать файлы.

Подключение и обмен данных

Предусмотрено два возможных вида работы:

  • активный;
  • пассивный.

Они отличаются способом установки соединения. Активный способ предполагает, что в программе создается tcp-соединение с сервером и посылается нужный IP, порт. Пассивный же нужен, когда подобные соединения блокируются межсетевым экраном. Тогда сервер возвращает адрес и порт, затем юзер использует полученные данные для подключения.

В настройках FTP можно выбрать следующие режимы передачи:

  • поточный;
  • блочный;
  • сжатый.

При выборе первого режима данные отсылаются в виде непрерывного потока. Обработка выполняется по TCP. В обычном режиме данные сегментируются и, как правило, отправляются в таком виде: блок заголовка, количество байт, поле данных. В сжатом методе все данные сжимаются одним алгоритмом и передаются значительно быстрее из-за того, что объект меньше весит.

Как можно создать сервер FTP

Простой FTP сервер с небольшим количеством файлов вы и сами сможете создать у себя на компьютере. Способ создания такого сервера напрямую зависит от средств, которыми вы располагаете и от установленной у вас на компьютере операционной системы. В целом, методы установки сервера можно поделить на те, которые подходят для Linux, и те, которые подходят для Windows.

В операционных системах, похожих на Linux, создать сервер можно прямо из терминала. Это очень легко, и после первого раза вы быстро освоите этот навык. Для создания такого сервера в Linux и в подобных операционных системах используется сервис VSFTPD. Это тот же протокол FTP, только с некоторыми особенностями, которые в работе вам абсолютно не помешают. Для начала вам нужно будет зайти в командную строку и через консоль ввести команду для установки сервиса VSFTPD: sudo apt-get install vsftpd. После этого вы сможете управлять папками и правами на них через тот же консоль. Чтобы узнать дополнительные возможности, пропишите в терминале строку man 5 vsftpd.conf для вызова мануала.

Настройка сервера в операционной системе Linux и подобных OC при помощи сервиса VSFTPD проходит внутри файла vsftpd.conf. Он располагается в файловой системе компьютера в папке ETC. Найдите его и откройте при помощи текстового редактора. Внутри вы обнаружите множество строчек. Те, которые начинаются с решетки #, считаются закомментированными, потому не активны и на конфигурации сервера никак не влияют. Над каждой функциональный строкой есть пояснение на английском. Там вы найдете и строки для добавления анонимных пользователей, для изменения способа авторизации, корректировки уровня доступа для юзеров, создания бан-листа и др. Не забудьте прежде почитать мануал и определиться с тем, для каких целей вам нужен сервер.

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

Итак, чтобы у вас был сервер, у которого есть свой адрес, и на который пользователи могут заходить и через клиент, и через браузер, вам нужно активировать некоторые компоненты Windows. Эта опция находится в “Панели управления” внутри вкладки “Программы и компоненты”. В левом боковом меню вы найдете пункт для включения различных компонентов. Вам нужно активировать службы IIS, в том числе ФТП сервер и другие компоненты внутри папки IIS. После того, как добавите компоненты, они активируются в разделе “Администрирование”. Вам нужно найти “Диспетчер служб IIS” и запустить его. Внутри диспетчера вы сможете добавить новый FTP-сайт. У него будет свой адрес, по какому пользователи и смогут подключиться к вашему серверу.

Учтите, что вам нужно будет не только указать адрес, но и создать пользователей для сервера. По-другому они не смогут получить доступ к вашему удаленному ПК и к его файловой системе. Вам нужно создать сначала группу пользователей, потом отдельного пользователя, а уже затем назначить всей группе права для корневого каталога сервера. Затем, вбивая адрес, они смогут зайти к вам на сервер через браузер или клиент. Но может возникнуть еще одна проблема – они не смогут получить доступ, если у вас не настроен брандмауэр. Вам нужно активировать внешний и исходящий трафик для FTP, то есть включить такие правила внутри настроек брандмауэра.

Как можно настроить сервер FTP протокола в Windows 10

Способов создать такой сервер существует большое множество. И не удивительно, ведь FTP – это один из самых старых протоколов, которые вообще есть – ему больше 40 лет. За это время появилось не мало программ и сервисов, через которые вы можете настроить сервер в Windows 10. Некоторые из них бесплатные, другие стоят денег. Но в данной статье будет рассмотрен самый простой способ, который не потребует от вас загрузки каких-либо программ.

Дело в том, что FTP уже есть у вас на компьютере с Windows 10. Эта служба идет в стандартной комплектации, но по умолчанию она не активирована. Так что вам нужно лишь активировать ее, и настроить сервер, чтобы можно было подключить удаленный клиент к компьютеру.

Чтобы активировать соединение FTP, вам нужно добавить специальный компонент через “Панель управления”, которую вы найдете в “Пуске”. Там сбоку отыщите пункт “Программы”, а оттуда отправляйтесь во вкладку “Программы и компоненты”. Чтобы пробраться к списку компонентов Windows 10, посмотрите в боковое меню слева и найдите пункт “Включение или отключение компонентов Windows”.

Чтобы создать сервер на компьютере, вам нужно в появившемся списке найти каталог “Службы IIS”. Активируйте в этом каталоге все пункты, какие есть. Самое главное, чтобы вы поставили галочку возе “FTP-сервер”, “Службы Интернета” и “Средства управления веб-сайтом”. После этого нажимайте OK и ожидаете некоторое время. Если службы будут удачно установлены, то во всплывающем окне вы увидите уведомление: “Windows применила требуемые изменения”.

Следующий этап – это непосредственный запуск сервера на компьютере. Для этого вам снова понадобится “Панель управления”, только теперь не пункт “Программы и компоненты”, а “Сеть и безопасность”. Далее отыщите раздел “Администрирование”. После установки служб, в нем появился новый пункт – “Диспетчер служб IIS”, который вам нужно открыть. В появившемся меню вам нужно нажать правой кнопкой мыши в левом боковом меню. Далее отыщите пункт “Добавить FTP-сайт” и нажмите на него.

Для начала вам нужно назвать ваш FTP-сайт. Затем укажите папку в файловой системе, какая будет считаться корневой для сервера. Следующий шаг настройки FTP-сайта – это определение параметров его запуска относительно системы, а также настройки SSL. Рекомендуется сразу поставить метку возле “Без SSL”, так как шифрованное соединение вам навряд ли понадобится в работе.

Третий шаг настройки FTP-сайта – это разрешение или запрет для авторизации анонимных и обычных пользователей. Также вы можете указать уровень доступа для них (чтение или запись). После того, как определитесь с этими настройками, можете нажимать “Готово”, и FTP-сайт будет добавлен, а значит сервер можно считать созданным! Но из-за стандартных параметров брандмауэра клиент не сможет подключиться к вашему серверу. Так как клиент будет пытаться авторизоваться, а система безопасности его не пропустит.

Итак, заходите в “Брандмауэр” во вкладке “Система и безопасность” в “Панели управления”. В боковом левом меню снизу выберите “Дополнительные параметры”. В левом списке выберите пункт “Правила для входящих соединений”. Чтобы клиент смог подключиться к вашему серверу, найдите в списке два пункта, “FTP-сервер” и “Трафик FTP-сервера в пассивном режиме”, и поставьте возле них галочки. Только для этого нужно не просто нажать левой кнопкой мыши на эти пункты, а навести на них правую кнопку и клацнуть на “Включить правило”. А в правилах исходящих соединений вам нужно включить пункт “Трафик FTP-сервера”.

Теперь клиент сможет подключиться к серверу. Но учтите, что вам еще нужно для этого создать пользователя на сервере. Для этого нужно сначала создать группу пользователей через раздел “Локальные пользователи и группы” во вкладке “Управление компьютером” в разделе “Администрирование”. А затем уже в группе сформировать пользователя и задать параметры для авторизации его в системе. После нужно разрешить пользователю через “Свойства” диска и вкладку “Безопасность” вносить изменения на компьютер – и на этом все!

Безопасная передача данных

Существуют следующие методы отсылки данных, защищенные от хакерских атак: FTPS, SFTP, а также передача FTP через SSH. С FTPS можно защитить сессию. FTP-server получает команду AUTH TLS, после чего отклоняет соединения, которые не зашифрованы.

У SFTP похожий список команд, как у FTP. Здесь используется протокол SSH, который шифрует весь трафик. Этим способом кодируются команды и данные. Соответственно, все пароли и другая информация, не предназначенная третьим лицам, не передается в открытом виде.

Другой способ передачи через протокол SSH тунеллирует сессию через SSH-соединение.

Зачем нужен FTP

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

  • в первом отображается все, что загружено на сервер;
  • во втором — все, что находится на компьютере.

Кроме этих, используются вспомагательные окна. Пользователь выделяет документ, который хочет поместить на хостинг, и переносит его. Перед этим он должен обязательно авторизоваться. Данные указываются в формате: @название ресурса.доменное имя.

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

10- DrFTPD (Windows, Linux, Unix Servers)

DrFTP is a distributed FTP server built with Java, which makes it run on Windows Servers, as well as Linux/ Unix-based servers. It uses the «slaves» concept to provide better control and improve the security & performance of file transfers. It can be used to create an FTP Grid or Multi-FTP based websites, through a distributed FTP daemons.

DrFTP has a modular plugin-ready architecture, and it still in active development. It requires Java, and ANT for compiling and installation. We would recommend it for advanced users.

Features

  • Runs without root/administrator privileges.
  • Supports Passive (PASV) mode
  • In-memory file list with cached checksums.
  • Archiving (plugin)
  • Monitoring (plugin)
  • Slave selection based on user bandwidth.
  • Stripe files across slaves.
  • User account expiration and trial options

Что такое FTP-сервер?

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

Самые популярные ftp-сервера это vsftpd и proftpd. Их настройка осуществляется в файлах .ftpaccess.

ФТП-сервера нужны для того, чтобы размещать на них для публичного и приватного скачивания больших объемов данных: как по количеству файлов, так и по их размеру. Часто такие сервера используются для анонимного (гостевого) доступа к размещенным в открытом виде дистрибутивов ПО, музыки и фото. Доступ для анонимов как правило позволяет только просматривать каталоги и скачивать требуемую информацию, но на некоторых серверах наоборот — есть спецкаталоги, куда любой аноним может загрузить файл для обмена.

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

Несмотря на то, что работа с FTP-серверами может быть организована из браузера, я бы рекомендовал пользоваться программами-клиентами — в случае обрыва связи с сервером они позволят докачать файл как только связь будет восстановлена.

Ну и кратко о наиболее популярных FTP-клиентах — программах для доступа к FTP-серверам с шифрованием передаваемых данных:

  • WS_FTP;
  • LeechFTP;
  • CuteFTP;
  • FileZilla — самый популярный FTP-клиент для Windows/Mac/Linux. Есть поддержка FTPS, SFTP.
  • FAR Manager — самый «древний» консольный файловый менеджер для Виндоуса. Очень простой, имеет много плагинов, поддерживает SFTP (нужен плагин WinSCP).
  • Total Commander — теряет популярность (на любителя) и поддерживает FTPS. Плагины для SFTP, к сожалению, устаревшие.
  • FireFTP — а это вообще плагин для Мозиллы Фаерфокс. Есть поддержка FTPS, SFTP.
  • Cyberduck — фтп клиент для маков, поддерживает FTP/SFTP.
  • WinSCP — минималистичный и красивый SCP-, FTP- и SFTP-клиент для Виндоуса.

Лично я пользуюсь WinSCP.

Подведу итог. В чистом виде, ФТП не предназначен для безопасной передачи файлов по сети, хоть и является стандартом. Я рекомендую более безопасные протоколы с шифрованием FTPS и SFTP.

Успехов при работе по FTP!

Безопасная передача данных

Существуют следующие методы отсылки данных, защищенные от хакерских атак: FTPS, SFTP, а также передача FTP через SSH. С FTPS можно защитить сессию. FTP-server получает команду AUTH TLS, после чего отклоняет соединения, которые не зашифрованы.

У SFTP похожий список команд, как у FTP. Здесь используется протокол SSH, который шифрует весь трафик. Этим способом кодируются команды и данные. Соответственно, все пароли и другая информация, не предназначенная третьим лицам, не передается в открытом виде.

Другой способ передачи через протокол SSH тунеллирует сессию через SSH-соединение.

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

FTP не был разработан как безопасный протокол и имеет множество слабых мест в системе безопасности. В мае 1999 года авторы RFC   перечислили уязвимость для следующих проблем:

  • Атака грубой силой
  • Атака с отказом FTP
  • Захват пакетов
  • Кража порта (угадывание следующего открытого порта и узурпация законного соединения)
  • Атака спуфингом
  • Перечисление имени пользователя
  • DoS или DDoS

FTP не шифрует свой трафик; все передачи осуществляются в виде открытого текста, а имена пользователей, пароли, команды и данные могут быть прочитаны любым, кто может выполнять захват ( анализ ) пакетов в сети. Эта проблема характерна для многих спецификаций интернет-протоколов (таких как SMTP , Telnet , POP и IMAP ), которые были разработаны до создания механизмов шифрования, таких как TLS или SSL.

Общие решения этой проблемы включают:

  1. Использование безопасных версий незащищенных протоколов, например FTPS вместо FTP и TelnetS вместо Telnet.
  2. Использование другого, более безопасного протокола, который может обрабатывать задание, например протокола передачи файлов SSH или протокола безопасного копирования .
  3. Использование безопасного туннеля, такого как Secure Shell (SSH) или виртуальная частная сеть (VPN).

FTP через SSH

FTP через SSH — это практика туннелирования обычного сеанса FTP через соединение Secure Shell. Поскольку FTP использует несколько TCP- соединений (что необычно для протокола TCP / IP, который все еще используется), туннелирование через SSH особенно сложно. Со многими клиентами SSH попытка настроить туннель для канала управления (начальное соединение клиент-сервер на порту 21) защитит только этот канал; при передаче данных программное обеспечение FTP на обоих концах устанавливает новые TCP-соединения (каналы данных) и, таким образом, не имеет защиты конфиденциальности или целостности .

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

Tectia ConnectSecure (Win / Linux / Unix) пакета программного обеспечения SSH Communications Security

Протокол ftp и FTP сервис

Протокол ftp можно считать оптимизированным для передачи файлов. Такая особенность является причиной того, что современные программы ftp можно считать частью отдельного сервиса в Интернете.

Основная особенность заключается в том, что серверы ftp удобно настраивать таким способом, что получается соединиться с ним не только с использованием собственного имени, но с применением и условного имени anonymous — аноним.

В таком случае можно считать доступной не только всю файловую систему компьютеров, но еще и определенный набор файлов, которые находятся на сервере. Речь идет о тех файлах, которые относятся к содержимому сервера anonymous ftp в виде публичного файлового архива.

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

FTP-клиентами (список внизу) считают такие программы, которые предназначены для доступа к соответствующим FTP-сайтам с открытием папок на них в виде простых папок на ПК.

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

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

FTP сервис имеет определенные отличия от обычной электронной почты, которые заключаются в том, что практически не увеличиваются размеры передаваемых файлов. При этом можно передавать такие файлы, у которых достаточно большой размер.

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

Командная строка

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

  1. Подключение осуществляется командой Open. Использование должно выглядеть так: open ftp.server.com port.
  2. Параметр port можно не указывать, если предполагается использование стандартного 21.
  3. Вместо server.com указывается адрес сервера, на котором располагается сайт.

Для переименования используется rename, для смены текущего каталога стандартно используются cd, для выхода необходимо ввести close, а для удаления — delete или disconnect.

Что из себя представляет FTP и как “оно” отличается от HTTP

Если разобрать, то система ФТП представляет собой тот же протокол, что и HTTP. По сути, протокол – это прописанные правила, которые использует определенная программа для чтения или записи информации. Например, существует протокол SSH, который позволяет при помощи специальной шифровки и читать, и записывать данные. А HTTP – это, можно сказать, специальный сервис, который позволяет скачивать на компьютер текстовую информацию. А точнее не на компьютер, а в браузер. То есть инструмент для работы с протоколом HTTP – это браузер. А текст, который вы на него загружаете при помощи HTTP – это страницы сайтов. Ведь они полностью состоят из текстового кода, если вдуматься, а именно гипертекст и позволяет загружать HTTP в ваш браузер.

Но чем же отличается подключение по ФТП от HTTP? С одной стороны, вам может показаться, что только HTTP использует для работы браузер. На деле это совсем не так. Подключение FTP в Интернете реально организовать и через браузер. Только для этого нужно особое приложение, так как любой попавшийся браузер не подойдет. А именно нужен стандартный браузер операционной системы Windows – Internet Explorer, который многие так не любят. Для того, чтобы активировать подключение по протоколу FTP через этот браузер используется специальная функция ftp://логин:пароль@доменное_имя_сайта. Так вы сможете проникнуть в хранилище файлов сайта в свой запароленный аккаунт или любой другой сервис, который использует FTP соединение.

Служба передачи файлов FTP имеет приятную особенность – с ней работать в Интернете надежнее, чем через стандартный загрузчик браузера. Так, все файлы, которые вы скачиваете, обязательно попадут вам на компьютер, даже если они большие или загрузка будет прервана.

Авторизация

Для идентификации пользователя и последующего назначения прав для управления файлами используется схема — имя пользователя/пароль. Отправка имени осуществляется командой USER, а пароля — PASS.

Сервер принимает эти данные, если они сходятся с теми, что указаны в базе данных. Далее клиент получает приглашение, после чего начинается сессия. Иногда сервер поддерживает возможность входа без учетных данных. Как правило, предоставляется ограниченный доступ для таких связей, используется какое-то стандартное имя, например anonymous. Но чаще всего для авторизации нужно ввести адрес действующей почты, и в дальнейшем она используется, чтобы войти.

6- glFTPd (Linux, Unix)

glFTPd homepage.

glFTPd is an open-source free FTP server for Unix/ Linux operating systems. The first public release of this freeware dates back to the beginning of 1998, glFTPd stands for GreyLine FTP (the name of the original creator). It runs smoothly with Unix systems like FreeBSD, OpenBSD, and many server-ready Linux distros like Ubuntu server, However, If for more Linux support we would recommend Vsftpd.

glFTP supports many FTP/ site commands and runs within a chroot environment which makes it relatively safe.

Features

  • Runs in chroot mode
  • Virtual user management
  • Bandwidth throttling global or per-user
  • Encryption: through TLS/SSL
  • Upload/ Download ratio control
  • User management: create, update, remove
  • Usage monitoring and calculation
  • IPv6 support
  • Users can have an IP mask
  • Stats line for download(DL) and upload (UL) usage
  • cookies support
  • Support for ECDHE key exchange to make PFS work for ECC certs
  • Allow IPv6 masks to be added to users
  • Show disk space, usage, free-space, used space
  • Hide real username and group name at file listings
  • Supports «dirlog» caching
  • Support for the XCWD/XMKD/XRMD/XPWD/XCUP FTP commands
  • Support for SSCN command as an alternate way of doing SSL FXL.

Отличие от http протокола

Свойство

FTP

HTTP

Возможность аутентификации

да

нет

Прием

большие двоичные файлы

небольшие текстовые документы

Способ соединения

двойной

одиночный

Передача

да

нет

Осуществление операций над файловой системой

да

нет

Одна из ярких особенностей FTP — это множественное подключение, при котором сервер принимает команды и отправляет ответ по одному каналу, а по другим передает данные. Благодаря этому можно одновременно закачивать или скачивать много файлов.

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

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

Авторизоваться

Для входа в систему FTP используется обычная схема имени пользователя и пароля для предоставления доступа. Имя пользователя отправляется на сервер с помощью команды USER, а пароль отправляется с помощью команды PASS. Эта последовательность не зашифрована «на проводе», поэтому может быть уязвима для атаки сетевого сниффинга . Если информация, предоставленная клиентом, будет принята сервером, сервер отправит клиенту приветствие, и сеанс начнется. Если сервер поддерживает это, пользователи могут входить в систему без предоставления учетных данных, но тот же сервер может разрешать только ограниченный доступ для таких сеансов.

Анонимный FTP

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

FTP — что это такое?

FTP — стандартный TCP-сетевой протокол для передачи файлов, используемый чтобы организовать отправку и прием файлов с удаленного компьютера или сервера.

Чтобы передать файл по TCP-порту через протокол ФТП, FTP-клиенту нужно связаться с настроенным и запущенным FTP-сервером. Подобная организация передачи файлов наиболее часто используется веб-разработчиками — когда с ПК нужно получить доступ к «внутренностям» сайта и что-нибудь там изменить, улучшить.

Как и HTTP (что это такое?), протокол FTP построен на «клиент-серверной» архитектуре и использует несколько сетевых соединений, чтобы передавать команды и файлы между «клиентом» и «сервером».

Доступ к сайту по фтп аккаунту — что это? Это функция, позволяющая просматривать, изменять, скачивать и загружать файлы. Для получения клиентом доступа к FTP-серверу сайта нужно пройти аутентификацию — ввести логин и пароль. Для отправки имени используется команда «USER», для отправки пароля — команда «PASS».

Если сервер принимает пару логин:пароль, то он отправляет клиенту приглашение. Клиент принимает приглашение и начинается сессия.

У FTP предельно простой синтаксис, описанный в спецификации RFC1738 (данные в квадратных скобках необязательны для заполнения) — ftp://@]<HOST>/<FTP_URL>.

Пример 1 — ftp://ftp.7bloggers.ru/FTP/humans.txt

Также есть т.н. «анонимный FTP» — когда любой пользователь может анонимно подключиться к ФТП серверу без предоставления данных USER/PASS. Для сессий такого типа предоставляется ограниченный доступ.

Анонимный FTP-хосты достаточно популярны, ведь они часто используются для скачивания и обновления ПО на ПК. Более того, доступ может быть организован и через обычные браузеры — ведь они могут напрямую извлекать файлы с FTP-серверов. Происходит это очень просто — при указании FTP-адреса фтп-контент предоставляется точно также как веб-контент при HTTP. А в браузере Фаерфокс можно даже установить полноценный FTP-клиент — FireFTP.

Несмотря на то что работать с FTP можно в браузере, FTP довольно сильно отличается от HTTP:

Особенности протокола FTP:

  1. Использование множественного подключения, минимум — двойного. Один канал — управляющий, через него поступают команды для фтп-сервера и возвращаются ответы; другие каналы используются для передачи данных: одна передача — один канал (для каждого открывается TCP-порт). Благодаря этому свойству, в обоих направлениях одновременно можно передавать несколько файлов, а управляющий поток остается открытым на все время ftp-сессии.
  2. В FTP-протоколе есть двоичный режим передачи данных — при котором уменьшается время передачи файлов и расход трафика. В HTTP такого нет.
  3. По FTP-протоколу проводятся операции в рамках одной сессии с помощью TCP/IP — пока сервер «не забыл» текущее состояние и авторизованного пользователя. В HTTP сессий нет: он просто отдает данные.

FTP имеет три режима передачи данных:

  • Поточный — непрерывная передача данных в виде потока (без обработки, обработка выполняется TCP);
  • Блочный — FTP делит данные на блоки (заголовок, поле данных, размер файла в байтах) и передает их TCP;
  • Режим сжатия данных единым алгоритмом.

FTP-архивы

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

  • свободно распространяемую. Доступ к файлам такого типа можно получить без специальной регистрации. Это может быть документация, программное обеспечение и другие файлы. При этом стоит учесть, что программное обеспечение, распространяемое таким образом, не обладает сертификатом качества, но и не скрывает своих разработчиков;

  • ограниченного пользования. К этой категории могут относиться ресурсы с ограниченным временем действия, например программы категории shareware, которые предоставляют определенное время для использования, после чего предлагают приобрести полную версию ПО;

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

Поиск в FTP-архивах осуществляется посредством системы Archie. Она сканирует все хранилища, предоставляя затем ссылку на нужный сервер, с которым необходимо установить соединение.

Как пользоваться FTP сервером

Чтоб понять, как пользоваться FTP сервером, необходимо вернуться к его особенностям. И самая главная из них – необходимость аутентификации для создания подключения. Кроме использования стандартной связки «логин-пароль» для каждого пользователя, предусмотрена возможность использования анонимного соединения, когда в качестве логина используется значение «anonymous», а паролем должен служить (по задумке разработчиков) адрес их электронной почты. В действительности же этот адрес нигде не проверяется, так что его достоверность не обязательна.

С точки зрения безопасности, FTP соединение имеет множество уязвимостей, поскольку на момент его создания многие виды атак не были широко распространены. Вся информация, включая личные данные пользователей, передаваемая по FTP (пароль и логин) передается незашифрованной в текстовом виде и может быть прочитана при перехвате пакетов злоумышленником. Для передачи данных в зашифрованном виде используется расширение FTPS (команда AUTH TLS).

Добавить комментарий

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