VK Cloud

Протокол FTP: как работает передача файлов и почему это небезопасно

7 сентября 2026 г.
Александр Иванов
Автор статьи
_blog_head_5.png

FTP (File Transfer Protocol) — протокол для обмена файлами между клиентом и сервером по сети. Он работает поверх TCP на прикладном уровне модели OSI. Современная спецификация FTP зафиксирована в RFC 959, опубликованном IETF в октябре 1985 года. Несмотря на возраст документа, именно он описывает базовую логику, на которой строятся современные FTP-серверы и клиенты.

Ключевая особенность FTP — разделение управления и передачи данных на два отдельных TCP-соединения:

  • Управляющее соединение (control connection) передаёт команды клиента и ответы сервера: аутентификацию, навигацию по каталогам, запросы на передачу файлов.
  • Соединение для данных (data connection) — отдельный канал, через который передаётся содержимое файлов.

По умолчанию управляющее соединение использует порт 21, а соединение данных в активном режиме — порт 20. Такое разделение — прямое следствие архитектуры, заложенной в RFC 959.

FTP поддерживает два режима установки соединения для данных. Разница между ними — в том, кто инициирует соединение.

Активный режим

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

Пассивный режим (команда PASV)

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

Взаимодействие клиента и сервера строится на текстовых командах, передаваемых по управляющему соединению. Базовый набор:

КомандаНазначение
USERИмя пользователя для аутентификации
PASSПароль для аутентификации
RETRСкачивание файла с сервера
STORЗагрузка файла на сервер
LISTСписок файлов и каталогов
PWDТекущий рабочий каталог
CWDСмена каталога
QUITЗавершение сессии

Отдельный сценарий — anonymous FTP: вход без личных учётных данных для доступа к публичным архивам и репозиториям.

Типичная сессия передачи файла выглядит так:

  1. Подключение к серверу. Пользователь запускает FTP-клиент (утилиту командной строки или программу с графическим интерфейсом) и указывает адрес сервера.
  2. Аутентификация. Клиент отправляет команды USER и PASS с логином и паролем либо использует anonymous-вход, если сервер это допускает.
  3. Навигация. Командами PWD и CWD пользователь определяет текущий каталог и переходит в нужную директорию.
  4. Передача файла. Команда STOR загружает файл с клиента на сервер, RETR — скачивает с сервера на клиент. Данные идут по отдельному соединению, а не по управляющему каналу.
Важно знать

Спецификация RFC 959 не предусматривает шифрование: классический FTP передаёт логин, пароль и содержимое файлов открытым текстом. При перехвате трафика — например, в общей или незащищённой сети — злоумышленник получает учётные данные и файлы без дополнительных усилий.

Для решения этой проблемы появились два подхода:

  • FTPS — расширение FTP, добавляющее шифрование через TLS/SSL (RFC 4217). FTPS сохраняет архитектуру двух соединений и логику команд классического FTP, но оборачивает трафик в защищённый канал.
  • SFTP (SSH File Transfer Protocol) — не расширение FTP, а отдельный протокол передачи файлов, работающий поверх SSH.

Разница между тремя вариантами сводится к шифрованию и архитектуре:

ПротоколОсобенности
FTPИсходный протокол без шифрования. Данные и учётные записи передаются открытым текстом.
FTPSТот же FTP, обёрнутый в TLS/SSL. Те же порты, та же логика двух соединений, но трафик зашифрован.
SFTPЧасть протокола SSH. Один порт, собственный набор команд, отличный от FTP.

Для передачи чувствительных данных — учётных записей, персональной информации, конфиденциальных документов — классический FTP не подходит. FTPS и SFTP защищают канал передачи от перехвата.

Несмотря на отсутствие шифрования, классический FTP не исчез. Он встречается в ограниченном числе сценариев:

Публичные архивы и репозитории

С anonymous-доступом, где не передаются чувствительные данные.

Внутренние сети с доверенным периметром

Риск перехвата трафика минимален благодаря изоляции.

Легаси-системы

Интегрированные с FTP десятилетия назад. Миграция на FTPS или SFTP требует пересмотра всей цепочки интеграции.

Во всех остальных случаях — особенно там, где передаются учётные данные или конфиденциальная информация — разумнее использовать FTPS или SFTP.

Оставьте заявку, чтобы получить консультацию

Наши специалисты свяжутся с вами в ближайшее время и ответят на все вопросы.

            Узнавайте о выходе новых статей в блоге первыми!

            Будем держать в курсе новостей и облачных трендов

            section-subscribe_2x.png
              section-subscribe_2x.png
              Теги: сетевые протоколы, передача файлов, FTP, FTPS, SFTP
              Ссылка скопирована
              Поделиться

              Почитать по теме

              fon1.png
              4 сентября

              Двухфакторная аутентификация: как работает и как настроить

              _blog_head_3.png
              1 сентября

              Как сгенерировать SSH-ключ и настроить безопасный вход на сервер

              _blog_head_42.png
              30 июня

              SQL-инъекции и XSS-атаки: как защитить веб-приложение от самых частых угроз

              40+ готовых сервисов