Битлента
Словарь терминов3 мин чтения·

FTP: как работает протокол и в чём его слабые места

Как устроен FTP: два соединения, активный и пассивный режим, анонимный вход, почему пароль виден в сети и чем его заменяют SFTP и FTPS.

Старейший способ передачи файлов

FTP, File Transfer Protocol, описан ещё в 1970-х годах, когда сети были небольшими и доверенными, а о перехвате трафика почти не думали. Идея простая: клиент подключается к серверу, входит под именем и паролем, просматривает каталоги, скачивает и загружает файлы. Он до сих пор встречается на хостингах для загрузки сайтов, в старых системах обмена документами и на файловых архивах с анонимным доступом.

В отличие от веб-протоколов, FTP хранит состояние сеанса: сервер помнит текущий каталог и режим передачи. Команды текстовые, вроде USER, PASS, LIST, RETR и STOR, а сервер отвечает трёхзначными кодами, напоминающими коды HTTP.

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

Два соединения вместо одного: управление и данные

Главная особенность протокола — раздельные каналы. По порту 21 идёт управляющее соединение, в которое отправляются команды. Для каждой передачи файла или списка каталога открывается отдельное соединение данных. Кто его инициирует, определяет режим.

В активном режиме клиент сообщает серверу свой адрес и порт командой PORT, а сервер сам подключается к клиенту, обычно со своего порта 20. Такая схема ломается, если клиент сидит за NAT или файрволом, потому что входящее соединение к нему не пропускается. Поэтому распространён пассивный режим: сервер называет порт из своего диапазона, и клиент сам подключается на него. Файрволу сервера при этом приходится открывать целый диапазон пассивных портов, а некоторым устройствам подсматривать за командами и подправлять адреса внутри них.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Почему FTP считается небезопасным

Самый серьёзный недостаток: всё передаётся открытым текстом. Имя пользователя и пароль, команды, список файлов и сами данные любой узел на маршруте, а в общей Wi-Fi-сети и любой соседний клиент, может перехватить обычным анализатором пакетов. Сам протокол не проверяет подлинность сервера и не защищает целостность данных.

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

Чем его заменяют и где ещё встречается

Существуют две основные замены. FTPS — это тот же FTP, но защищённый TLS: команды и данные шифруются, сервер предъявляет сертификат. Вторая — SFTP, совершенно отдельный протокол, работающий через SSH, о котором подробно написано на странице про SFTP и FTPS. Для загрузки сайтов на хостинг сегодня чаще применяют именно их или прямую загрузку по HTTPS через панель управления.

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

Заблуждения и что проверить у себя

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

Если вы подключаетесь к хостингу, откройте настройки клиента и посмотрите, какой протокол выбран: в списке обычно есть FTP, FTP с явным TLS, FTP с неявным TLS и SFTP. Выбор варианта с шифрованием займёт секунды и убирает основной риск.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
ftpпротоколыбезопасность

Часто задаваемые вопросы

Читайте также