ProCloud Yandex
05.10.2023
читать 7 минут

Что такое FTP (File Transfer Protocol)

/upload/iblock/57e/cmluv5xv5znfsjrp6jzdhlyykep3xwiz/114001_1_.jpg

Что такое FTP (протокол передачи файлов)?

FTP является сетевым программным протоколом обмена информацией между различными компьютерами через подключения TCP/IP. В сетевой модели TCP/IP протокол FTP относится к прикладным.

В FTP пользовательский компьютер принято называть локальным хостом (localhost). Другой компьютер, который используется в FTP, является удаленным хостом (remote host), обычно представляющим собой сервер. Чтобы передавать данные с использованием FTP, нужно, чтобы каждый из компьютеров был подсоединен к сети и соответствующим образом сконфигурирован. На серверах необходимо установить ПО для взаимодействия со службами FTP, а на клиенте - ПО для работы с этими службами.

Несмотря на то, что протокол HTTP, другой протокол из стека TCP/IP, может закрыть большую часть потребностей современных систем, FTP все еще активно применяется для обмена внутренними данными различных приложений, таких как, скажем, банковские. Он также иногда используется для загрузки новых приложений через веб-браузеры.

Как работает FTP?

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

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

  1. Как правило, требуется выполнить вход в систему на FTP сервере, однако иногда частичный или полный доступ предоставляется без необходимости авторизации (такая модель получила название anonymous FTP).
  2. При запросе пользователя на скачивание файлов пользователь инициирует соединение с сервером.
  3. Посредством FTP пользователь получает возможность загрузки, скачивания, удаления, изменения, переноса и последующего копирования файлов на сервере.

Протокол функционирует в двух режимах, от них зависит способ установки соединения:

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

Что такое FTP (File Transfer Protocol)

Для работы с FTP может использоваться обычный интерфейс командной строки (консоль в Microsoft Windows, Apple macOS либо в Linux) или специальный пользовательский графический интерфейс. Web-браузеры также могут использоваться как FTP клиенты.

Почему FTP важен и для чего он используется?

FTP представляет собой стандарт или же сетевой протокол, обеспечивающий широкие возможности передачи данных. Кроме FTP обмениваться данными можно с помощью других протоколов, например, электронной почты(SMTP) или HTTP. Но FTP имеет ряд преимуществ.

Как мы уже упомянули, FTP используется для обмена данными между устройствами, самыми распространенными вариантами применения являются:

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

Типы FTP

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

  • Анонимный FTP. Это самая базовая форма FTP. Он обеспечивает передачу информации без их шифрования или использования логина юзера и пароля. Чаще всего применяется для установки материалов, разрешенных к неограниченному распространению.
  • FTP защищенный паролем. Это также базовый FTP-сервис, но он требует логина юзера и пароля для получения доступа, хотя этот сервис может быть не зашифрован и не защищен. Он также использует порт 21/TCP.
  • FTP Secure (FTPS). Иногда называемый FTP Secure Sockets Layer (FTP-SSL), этот тип обеспечивает неявный метод обеспечения безопасности. В данном случае сразу после установки FTP соединения устанавливается TLS (transport layer security — Протокол защиты транспортного уровня) сессия. Изначально FTPS применялся для обеспечения более надежной формы обмена данными с помощью стандарта FTP. Но он нарушает совместимость с FTP клиентами и серверами, которые не поддерживают протокол FTPS. Поэтому для обратной совместимости с такими устройствами используется порт 990/TCP (для контрольного соединения) и 989/TCP (для передачи данных). Это позволяет сохранить стандартный порт 21/TCP для базового FTP.
  • FTP с явным SSL/TLS (FTPES). Эта вариация FTP является явным методом обеспечения безопасности FTP клиента. FTPES при ответе шифрует данные, что позволяет использовать стандартный порт 21/TCP. При установке подключения клиент запрашивает защищенную передачу данных у сервера, а потом подтверждает способ шифрования. Если клиент запросит незащищенную передачу данных, FTPS сервер может как сохранить(использовать FTP), так и закрыть такое соединение.Такой подход часто применяется в веб-сервисах и службах пересылки данных для обеспечения защищенной передачи.
  • SFTP(Secure File Transfer Protocol). Технически это отдельный протокол, но мы так же его разберем, так как обилие аббревиатур часто путает пользователей. SFTP предполагает передачу данных уже по защищенному каналу, например SSH. То есть сервер уже аутентифицировал клиента. SFTP — чаще всего используется в качестве подсистемы реализации протокола SSH, который работает через порт 22. SSH обычно используется системными администраторами для удалённого и безопасного доступа к системам и приложениям, а SFTP предоставляет механизм в рамках SSH для безопасной передачи файлов.

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

Изначально FTP был реализован в 1971 году, еще до создания TCP и IP, и с тех пор несколько раз пересматривался с учетом новых технологий, включая появление TCP/IP, RFC 959, RFC 2428 и IPv6.

FTP также претерпел несколько обновлений, направленных на повышение его безопасности. В их число входят версии, обеспечивающие шифрование через неявное TLS-соединение (FTPS) или явное TLS-соединение (FTPES), а также работающие с SFTP.

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

FTP по-прежнему может быть уязвим для нескольких видов атак:

  • Brute-force. Подразумевает перебор и подмену данных пользователя для аутентификации.
  • Скрытые атаки по FTP (FTP bounce). Это старый тип сетевой атаки, который выполняется на FTP-серверах для отправки исходящего трафика на устройство, обычно другой сервер в сети. Она использует пассивный режим FTP, в котором клиент инициирует как управляющие соединения, так и соединения для передачи данных.
  • DDoS атаки.

История FTP

Первая спецификация FTP была опубликована 16 апреля 1971 года в виде RFC 114. Первоначальная идея FTP заключалась в том, чтобы обеспечить передачу файлов по сети ARPANET, предшественнице Интернета.

По мере становления современного Интернета спецификация FTP претерпела несколько изменений, чтобы привести ее в соответствие с сетевыми стандартами, включая TCP/IP. В 1980 году новая версия FTP была определена в RFC 765. Пять лет спустя протокол FTP был еще раз пересмотрен в RFC 959, в котором были представлены новые возможности управления протоколом, включая возможность создания и удаления каталога файлов. Предыдущие итерации FTP были в основном ограничены передачей файлов в существующие структуры каталогов и из них. В 1997 году RFC 959 был дополнен новыми возможностями, установленными в RFC 2228 для улучшения уровня безопасности. Два года после FTP получил обновление в RFC 2428 для поддержки IPv6.

FTP-клиенты

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

  • FileZilla – бесплатный FTP-клиент для Windows, macOS и Linux, работающий с FTP, FTPS, а также SFTP.
  • Transmit – FTP-клиент для macOS, работающий с FTP и SSH.
  • WinSCP – FTP-клиент для Windows, работающий с FTP, SSH, а также SFTP.
  • WS_FTP – FTP-клиент для Windows, работающий с SSH.
Новости
18 апреля 202418.04.2024
читать 2 минутычитать 2 мин
Дайджест обновлений продуктов Q1
5 апреля 202405.04.2024
читать 1 минутучитать 1 мин
ProCloud CPO Диана Беда в рейтинге ИТ-лидеров от Global CIO
28 марта 202428.03.2024
читать 1 минутучитать 1 мин
Запуск новой локации: Казахстан