
Что такое FTP-протокол и как настроить FTP сервер
Статья
Время чтения
7 минут
Передавать фото или видео с компьютера на компьютер, скачивать фильмы, удаленно управлять файлами и папками на сервере — все это возможно благодаря протоколу FTP. В этой статье рассказываем о том, для чего он нужен и почему облачные хранилища часто рассматривают в качестве замены FTP-сервера.
Суть FTP-протокола
File Transfer Protocol (FTP) — протокол для передачи файлов между клиентом и сервером, вошедший в стек TCP/IP.
Для чего используется FTP? Много для чего. Например, для скачивания фото из альбомов в социальных сетях или сохранения купленных авиабилетов на смартфон или компьютер. А еще этот протокол полезен в процессе резервного копирования данных и отправки больших файлов, а также для управления и поддержки сайтов.
История создания FTP
В 1971 году студент Массачусетского технологического института Абхай Бушан придумал File Transfer Protocol. Таким образом, он появился раньше протоколов стека TCP/IP (1972) и протокола HTTP (1991), поэтому считается одним из самых старых.
Первая версия протокола FTP содержала всего два компонента:
Заголовок c запросами или ответами от FTP-сервера с типом и количеством переданных данных.
Данные в формате пути к файлам и их названий в перечне или списке.
Протокол FTP версии 1971 года использовал лишь один канал для передачи данных и команд, что негативно сказывалось на его пропускной способности. Чтобы решить эту проблему, уже в 1972 году для него были реализованы два канала: первый отправлял команду с вводными от пользователя или сервера, а второй передавал данные.
Нужен ли FTP, если есть HTTP
Оба протокола — FTP и HTTP — предназначены для передачи данных и работают на прикладном уровне (Application layer) модели OSI. Оба решают примерно одинаковые задачи, но всё же различаются в назначении:
Особенность FTP заключается в том, что он умеет отслеживать выполнение длинных запросов — таких, как передача больших файлов или управление данными на сервере. Поэтому чаще всего этот протокол применяется при обмене фото, видео, документами между двумя устройствами в сети.
HTTP предназначен для передачи гипертекстовых документов — то есть сайтов и веб-страниц.
Как работает File Transfer Protocol
В своей работе FTP применяет клиент-серверную архитектуру:
Программа-клиент выглядит как приложение на компьютере пользователя, контролирующее передачу файлов. Оно отправляет FTP-серверу запрос и дает команду для загрузки, удаления, скачивания или управления файлами. Например, чтобы скачать корпоративный документ или видеофайл на рабочий ноутбук, нужно запросить их у общего сервера. Такую заявку и создает FTP.
FTP-сервер — это специальная программа на удаленном сервере, которая отслеживает действия с файлами и отвечает на запросы клиента.

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

Пассивный режим
В пассивном режиме сервер открывает управляющее соединение на порте и сообщает клиенту свой IP-адрес и номер порта для передачи данных. Затем клиент открывает соединение на указанном порте и начинает передачу данных. В этом режиме сервер является пассивной стороной и управляет передачей данных.

Режимы отличаются между собой не только способом установки соединения, но и уровнем его безопасности:
В активном режиме безопасность ниже, так как клиенту приходится открывать порт для подключения сервера.
Подключение в пассивном режиме безопаснее, так как клиенту не нужно открывать порт для подключения к серверу. Это снижает риск взлома.
Однако использование пассивного режима — не единственная возможность защитить данные, передающиеся по протоколу FTP.
Что обеспечивает безопасность данных при передаче по FTP
Протокол FTP не предусматривает шифрования данных при передаче: в момент его создания такая функция была не нужна — перехватывать данные было просто некому. Сейчас ситуация коренным образом изменилась, поэтому для защиты данных при установке соединения по FTP были разработаны два специальных расширения.
FTPS: защищенное соединение между клиентом и сервером
FTPS или File Transfer Protocol Secure — это расширение FTP для безопасного соединения клиента с сервером с помощью протоколов SSL (Secure Sockets Layer, уровень защищенных сокетов) или TLS (Transport Layer Security, защита транспортного уровня).
Подобно самому FTP, FTPS работает по клиент-серверной модели, но предполагает аутентификацию каждой сессии с помощью логина, пароля и сертификата открытого ключа. Создавать и запрашивать такие ключи удается за счет использования криптографической библиотеки OpenSSL. Таким образом, при соединении с FTPS-сервером клиент получает возможность сперва проверить надежность сертификата сервера — важно, чтобы он был подписан доверенным центром сертификации (CA, Certification Authority) — и только потом осуществить подключение.
Для проверки подлинности через SSL FTPS использует сертификаты X.509, каждый из которых содержит в себе открытые ключи шифрования и информацию о том, кто его владелец. При этом с открытым ключом всегда связан еще один ключ — закрытый. Он нужен для расшифровки сообщений, созданных с помощью открытого ключа.
SFTP: защита информации при передаче
Secure File Transfer Protocol (SFTP) — еще одно дополнительное расширение для FTP, гарантирующее безопасную передачу файлов между клиентом и сервером в глобальной сети. SFTP защищает данные и скрывает их с помощью протокола SSH (Secure Shell).
Как работает SFTP:
Клиент просит сервер передать ему данные на порт 22, который нужен для надежного соединения SSH в пределах узлов сети.
Сервер получает запрос и шифрует в нем информацию с помощью Secure Shell, после чего отсылает клиенту данные.
Клиент получает информацию от сервера и благодаря аутентификации SSH расшифровывает ее, чтобы использовать в будущем.

В чем преимущества и недостатки FTP
File Transfer Protocol — стандарт для передачи файлов в сетях. Несмотря на его многолетнюю историю, он все еще обладает рядом неоспоримых преимуществ:
Операционные системы Windows, macOS, Unix и Linux поддерживают FTP.
Протокол может передавать как текстовые, так и бинарные файлы — фото или видео.
С помощью FTP пользователи получают возможность передавать, создавать, удалять файлы и каталоги, а также перемещать их и изменять права доступа на сервере.
FTP легко интегрируется в автоматизированные рабочие процессы и системы управления контентом.
Но есть у FTP и свои минусы, в числе которых:
Протокол по умолчанию не шифрует информацию между клиентом и сервером, поэтому ее могут перехватить хакеры.
Двухфакторная аутентификация FTP не поддерживается. Для доступа к данным протокол может запрашивать только логин и пароль.
С помощью FTP нельзя наблюдать за активностью пользователей и проводить мониторинг подключений, что не позволяет находить и анализировать потенциальные угрозы.
File Transfer Protocol не оптимизирован для высокоскоростных соединений или работы в условиях высокого сетевого трафика, что может привести к снижению скорости передачи данных.
FTP не предлагает встроенных механизмов сжатия данных. Это увеличивает время передачи больших файлов.
Несмотря на большее число минусов, протокол FTP продолжают использовать для передачи большого количества данных. Помогает ему в этом FTP-сервер. Что именно он из себя представляет, как используется и что его может заменить, — обсудим ниже.
Облачные хранилища на замену FTP-серверам
FTP-сервер — это компьютер или файловый сервер, который используется для передачи данных по протоколу FTP. Такой сервер определяет права и обрабатывает запросы клиентов, дает загружать или скачивать файлы. В отличие от классических веб-серверов он заточен на выполнение следующих задач:
поддержка текстового и двоичного режима передачи данных;
обязательная аутентификация пользователей;
определение типов файлов для дальнейшей передачи;
использование отдельных каналов для каждого соединения.
С помощью FTP-сервера можно делать резервные копии данных и отправлять контент на сервер хостинг-провайдера, а также передавать файлы с устройства на устройство.
Важно отметить, что несмотря на все возможности и преимущества у FTP-сервера есть тот же ключевой недостаток, который характерен и для самого протокола FTP — он слабо защищен. Именно в аспекте безопасности этот сервер уступает облачным хранилищам.
В облачных хранилищах сохранность данных обеспечивается за счет шифрования на стороне сервера и клиента, проверки URL-адресов и сетевой изоляции на основе виртуального облака. Они отлично подходят для хранения:
резервных копий баз данных;
образов виртуальных машин;
документации;
электронных и стриминговых архивов;
медиаконтента любого типа.
Например, в облаке Cloud.ru данные хранятся в зашифрованном виде в центрах обработки данных с уровнем Tier III и аттестацией по 152-ФЗ, а их безопасность обеспечивается шифрованием на стороне сервера и клиента, проверкой URL-адресов, сетевой изоляцией на основе VPC, аудитом журналов и контролем прав доступа.
Главные мысли
Протокол FTP нужен для передачи файлов, документов, видео и фото между устройствами в сети. Хоть он и является удобным средством для обмена данными, возраст протокола и уязвимость в плане информационной безопасности берут свое. Поэтому, чтобы данные всегда были в безопасности, стоит рассмотреть облачные хранилища, которые можно легко масштабировать при необходимости, хранить в нескольких зонах доступности для обеспечения отказоустойчивости и интегрировать с любыми приложениями и инструментами.
Вам может понравиться


Cloud.ru и AI: как мы поддержали выход Wildberries на новый рынок

Какие новости за февраль и март — дайджест Cloud.ru

INSERT INTO SQL: примеры добавления данных в таблицу

Node.js на Ubuntu 24.04: как установить и настроить

Что такое HTTPS и как он защищает ваши данные

REST API: что это и как использовать

Как создать Telegram Web App: инструкция по разработке Mini App

Как привлекать клиентов и зарабатывать до 20% на рекомендациях: готовые инструменты

Коды ошибок HTTP: что нужно знать о серверных и клиентских ошибках

Лучшие дистрибутивы Linux: выбор популярных версий

Система управления базами данных (СУБД): что это такое и зачем нужна

Все о Telegram-ботах: какие бывают и как их сделать самому

VPS/VDS: что это такое и чем они отличаются? Полное руководство

Что такое NVMe и как он отличается от SATA SSD и M.2

Микросервисная архитектура: чем она хороша и кому нужна

Как развернуть WordPress в облаке: инструкция для новичков

Применение LLM в бизнесе: опыт лидеров и роль облачного провайдера

Центры обработки данных (ЦОД): что это и как они работают

Какие новости за январь — дайджест Cloud.ru

Команда grep в Linux: как искать строки и шаблоны

PostgreSQL: что это за СУБД и чем она хороша

Что может chmod: как управлять доступами к файлам и папкам в Linux

Как узнать IP-адрес в Linux через командную строку

Как узнать IP-адрес своего компьютера

Система MySQL: что это и для чего нужна

Команды kill и killall в Linux: как завершить ненужные процессы

Работа с файлами в Linux: их создание и организация через терминал

Стандарт Tier III для дата-центра: что значит и почему это круто

Какие новости за декабрь и начало января — дайджест Cloud.ru

Белые и серые IP, динамические и статические - в чем различие

Как защищать сайты и приложения в облаке от DDoS-атак

Какие новости за ноябрь — дайджест Cloud.ru

BAT-файлы: что это такое, зачем они нужны и как их создавать

Гайд по протоколу HTTP: расшифровка, структура и механизм работы

Межсетевой экран, firewall и брандмауэр: что это, в чем между ними разница и зачем они нужны

Kubernetes на Cloud.ru Evolution: возможности и преимущества

Какие новости за октябрь — дайджест Cloud.ru

Как создать сетевую архитектуру для размещения межсетевых экранов на платформе Облако VMware

Рассказать про технологии лампово, или Как мы провели конференцию GoCloud Tech для инженеров и...

Какие новости за сентябрь — дайджест Cloud.ru

Высокоресурсные вычисления: роль суперкомпьютеров в жизни и бизнесе

Реферальная программа Cloud.ru: как устроена и как на ней зарабатывать

Сетевая модель OSI: что это такое и зачем она нужна

Какие новости за август — дайджест Cloud.ru

Сетевые протоколы передачи данных — что это такое и какие бывают

Какие новости за июль — дайджест Cloud.ru

Как новые возможности в юридических документах Cloud.ru облегчают работу с договорами и не только

Какие новости за июнь — дайджест Cloud.ru

Как обновления VMware Cloud Director облегчают управление и делают работу с инфраструктурой в ...

Как мы рассчитывали «Панораму российского IT-рынка» за 2022 год

Как снизить риски утечки данных и санкций госрегуляторов: 152-ФЗ в Cloud.ru

Бесплатный курс по работе с Cloud.ru Advanced: рассказываем, в чем польза, кому подойдет и как...

Как модель Anything as a Service упрощает IT-процессы

Снижение рисков на производстве: AI-сервис распознает нарушения ношения СИЗ

Kandinsky 2.1: новый уровень в генерации изображений по текстовому описанию

Облачные сервисы для стартапов: как пройти путь от идеи до цифрового продукта и не разориться

Создать пользователя, настроить 2FA, связаться с поддержкой — новые возможности личного кабине...

VDI: что это, как работает и в чем выгода для бизнеса

Как защитить облачную инфраструктуру — рассказываем на примере межсетевого экрана нового покол...

Как начать использовать AI/ML на практике

Бессерверные вычисления: что это за технология и кому она нужна

Чек-лист: как обеспечить безопасность облачной инфраструктуры

Искусственный интеллект

Что такое IaaS?

Что такое PaaS

Machine Learning

Data Science

Машинное обучение без учителя

Классическое машинное обучение

Нейронные сети

Глубокое обучение

Защита персональных данных: как легче соблюдать закон с Cloud.ru и сохранять спокойствие

Как сохранить IT-инфраструктуру и бизнес: руководство к действию

Машинное обучение и Big Data в кибербезопасности

Ответы на актуальные вопросы

Что такое DDoS-атаки, чем они опасны и как от них защититься

Аудит информационной безопасности: что это, зачем и когда его проводить

Межсетевые экраны: UTM, NGFW-системы, NTA, NDR

Обзор межсетевых экранов, систем IPS и IDS

PostgreSQL vs MySQL: какая система подходит вашему бизнесу

Основы резервного копирования

Специальное предложение «180 дней тестового периода резервного копирования» для всех клиентов
Платформа SberCloud Advanced теперь обеспечивает максимальный уровень защиты персональных данных

Что такое объектное хранилище S3 и как его используют

Customer Enablement: как SberCloud работает с клиентами, чтобы сделать миграцию в облако комфо...

Сеть доставки контента CDN: новые функциональные возможности и преимущества

Объясняем на кейсах: польза CDN для бизнеса

Новая Windows Server 2022 в облаке SberCloud — новые возможности клиентов

Запуск нового сервиса Managed OpenShift в облачной среде SberCloud

Как работает технология DNS

SberCloud Advanced запустила третью ресурсную зону доступности для комфортной работы клиентов

PostGIS в PostgreSQL — как можно использовать

GitLab для начинающих: как и для чего используется

Краткий обзор методологии CI/CD: принципы, этапы, плюсы и минусы

Персональные данные: правильно обрабатываем и храним

Кто и зачем использует облачные модели IaaS и PaaS

152-ФЗ в облаке: хранение персональных данных в облаке

Как работает CDN (Content Delivery Network)?

Service Level Agreement (SLA): все о соглашении об уровне сервиса

Что такое «интернет поведения» (IoB)?

Чек-лист: 6 шагов для успешной миграции в облако

Машинное обучение: просто о сложном

Профессия DevOps-инженер: кто это и чем занимается

Гайд по Kubernetes. Эпизод I: k8s для неразработчиков

Публичные, частные и гибридные облака: в чем разница?
