Что такое FTP-хранилища?
FTP-сервер (File Transfer Protocol – протокол передачи файлов) – это протокол, предназначенный для хранения данных. Он входит в локальную или всемирную сеть, и к нему по определённым правилам организован удалённый доступ посетителей, которые могут скачивать и закачивать файлы.
Существует множество других протоколов передачи данных. Однако FTP представляет собой один из самых первых протоколов, используемых для передачи данных, и который применяется и сейчас. FTP-сервер обеспечивает доступ к каталогу с подкаталогами. Пользователи присоединяются к этим серверам при помощи специального ПО – FTP-клиента, который позволяет как скачивать, так и загружать файлы на сервер.
FTP используется обычно на виртуальном хостинге, виртуальных серверах (VPS/VDS) или выделенных серверах. Этим хранилищам присущи определенные функции, которых нет у других:
- способность различать расширения;
- использование связки имени пользователя и пароля для авторизации;
- разбивка каждого соединения на отдельные каналы;
- передача информации не только в текстовом, но и в двоичном виде.
Для чего нужен FTP-протокол?
FTP – это ценный инструмент для копирования необходимой информации с компьютера, за которым Вы работаете; на сервер, где расположен Ваш веб-сайт. Он может также выполнять роль хранилища информации любого объема и содержания, будь то видео или фото.
Огромное количество информации, используемое людьми каждый день, находится в FTP-хранилищах. Это электронные версии книг, фильмы, видеоролики, музыка, документы и многое другое.
Несмотря на то, что FTP расшифровывается как File Transfer Protocol (протокол передачи данных), он также может производить операции непосредственно с ОС, например, переименовать или создать новые папки, директории и так далее.
Как работает FTP?
Он реализован по принципу «клиент-сервер». При помощи различных сетевых соединений позволяет передавать файлы и команды между хостом и клиентом. Его особенность — множественное соединение. Один канал играет роль управляющего, через него сервер принимает команды и возвращает ответы. Прочие каналы применяются для передачи файлов.
FTP также можно настроить на бесконтрольный или защищенный доступ с прохождением входа, что обычно происходит через прямую передачу логина и пароля. Однако в некоторых случаях может использоваться шифрование для анонимизации при предварительной настройке.
FTP-сессия начинается с процедуры аутентификации пользователя. После успешной проверки пароля пользователь получает доступ к файлам на удаленном сервере. Имеется возможность настройки беспарольной аутентификации и свободного доступа к файлам для любого присоединившегося по FTP, при этом клиент использует в качестве имени пользователя специальный логин “anonymous” (аноним), не требующий пароля.
Перед началом работы с протоколом клиентское устройство открывает сессию. На протяжении всей дальнейшей работы она остаётся открытой — сервер «запоминает» состояние сессии.
FTP поддерживает активный и пассивный режимы работы. Наиболее распространён активный режим. Он обеспечивает связь между клиентом и сервером по обоим каналам, в то время как сервер исполняет активную роль в формировании соединения, одобряя запросы на получение данных. Пассивный режим используется в случае, если клиент защищён брандмауэром. В этой ситуации он не может принять от сервера FTP входящее соединение. Вопрос решается путём отсылки серверу управляющей команды PASV. Сервер, получив её, отправляет клиенту собственный IP-адрес, а также номер порта. В свою очередь, клиент, получив эти сведения, сам генерирует соединение с сервером, после чего открывается сессия и начинается передача файлов.
Особенности подключения
Так как FTP-протокол был разработан достаточно давно, в 1999 году авторы решили объединить все известные проблемы, среди которых есть взлом через бесконечный подбор учетных записей, перехват трафика и обман сервера путем подмены IP.
Решением данных проблем стало применение более надежных TLS защищенных версий. Существует несколько способов безопасной передачи, поэтому работа FTP-протокола зависит от соединения:
- FTPS — расширение, которое не дает подключиться, если сессия не зашифрована. На сегодняшний день является немного устаревшим за счет использования SSL или TLS, что приводит к необходимости использования нестандартных портов.
- SFTP — часто относят к категории File Transfer Protocol, так как он использует идентичный синтаксис, однако он использует Secure Shell, что дает возможность шифрования всего отправляемого трафика. Это делает невозможным взаимодействие обычного FTP-сервера и SFTP-клиента и наоборот. Также использует отдельный стандартный порт.
- SSH — способ туннелирования обычной сессии через SSH. Более простой способ обезопасить обмен, однако может вызывать сложности с множественным подключением. Так как использует один порт и для туннеля, и для передачи данных.
Плюсы и минусы FTP-протоколов
Из преимуществ File Transfer Protocol можно выделить:
- Возможность скачивать и загружать различную информацию с любого устройства;
- Удаленное управление и редактирование директорий;
- Большое количество клиентов, облегчающих работу;
- Возможность исполнения команд: создание, редактирование и удаление каталогов и файлов;
- Возможность ограничения прав пользователям на конкретные виды операций и создание черных/белых списков.
Однако есть и недостатки:
- Уязвимость, которая связанна с проверкой подлинности пакетов, делает возможным проведение DDoS-атак;
- В отличие от HTTP не содержит метаинформацию, что приводит к отсутствию понятия кодировки.