Что такое FTP FTP (File Transfer Protocol) - протокол передачи файлов по сети. Первая версия протокола появилась в 1971 году, что делает его одним из старейших прикладных протоколов. FTP работает на прикладном уровне модели OSI и передает файлы используя стек протоколоы TCP/IP (Transmission Control Protocol / Internet Protocol). Протокол подразумевает клиент-серверную архитектуру: для работы нужен FTP‑сервер, к которому будут подключаться клиенты. Клиентское FTP-приложение встроено в Windows Explorer (Проводник) и поэтому не требуют дополнительной установки. Также протокол FTP поддерживается некоторыми браузерами. Однако, они поддерживают только нешифрованный протокол FTP (Plain FTP) через порт TCP/21 и не умеют работать с TLS. Поэтому, например, в браузере Chrome, поддержка этого протокола прекращена. Поэтому обычно рекомендуется использовать сторонние FTP-клиенты, поддерживающие шифрование. Во время работы протокол FTP устанавливает одновременно несколько подключений (минимум - два): канал управления (обычно порт TCP/21); канал передачи данных (обычно порт TCP/20). Первый, как указано в названии, служит для управления: по нему клиент отправляет команды и пароли серверу и получает ответы. Остальные используются для передачи данных - отдельный канал на каждый файл. Это позволяет передавать несколько файлов одновременно в обе стороны. Для каждого канала открывается отдельный TCP‑порт. Как это работает Сервер постоянно прослушивает порт TCP/21. Клиент обращается к серверу через этот порт и они устанавливают канал управления, который остаётся открытым на все время сессии. Далее устанавливаются соединения для передачи файлов – одно или более. При этом FTP-сервер может работать в активном или пассивном режимах, от которых зависит способ установления соединения: В активном режиме клиент через установленный канал управления отправляет серверу свой IP-адрес и произвольный номер порта, после чего ждёт, пока сервер запустит TCP-соединение с этим адресом и номером порта. В случае, если клиент находится за брандмауэром, который блокирует подключения из вне и пропускает только подключения, инициированные из внутренней сети, может быть использован пассивный режим. В этом режиме клиент использует поток управления, чтобы запросить от сервера его IP-адрес и номер порта для открытия потока данных с произвольного клиентского порта к полученному адресу и порту. Безопасность FTP Как и многие другие протоколы, созданные в 70-х и 80-х годах протокол FTP имел основную задачу - надежную передачу информации. Со временем стало актуальным обеспечение защищенного обмена. Так, пользователи FTP проходили аутентификацию, передавая логин и пароль открытым текстом. В 2025 году такое совершенно немыслимо. Уже начиная с 1996 года появляются проекты рабочих предложений (RFC), которые расширяли данный протокол, внося в него функции шифрования. На сегодняшний день существует несколько протоколов безопасной передачи файлов, которые называют «Безопасным FTP»: FTPS (File Transfer Protocol + SSL, или FTP/SSL). Он предусматривает два способа защитить FTP-соединение: явный (Explicit) и неявный (Implicit). Явный FTPS (Explicit FTPS) - расширение FTP, при котором клиент сначала подключается на стандартный FTP-порт TCP/21 и явно запрашивает защищённую передачу. Сервер может разрешить или отклонить незащищённое соединение. Явный метод позволяет использовать один и тот же контрольный порт для FTP и FTPS. Неявный FTPS (Implicit FTPS) - устаревший вариант, где SSL/TLS используется сразу при подключении, на отдельном порте: TCP/989 для передачи данных и TCP/990 для контрольного соединения. Стандартный порт 21 остаётся свободным для обычного FTP. SFTP («SSH File Transfer Protocol») не основан на FTP, хотя выполняет те же функции и имеет похожие команды. Он использует SSH для передачи файлов, полностью шифруя как данные, так и команды, включая пароли. Клиенты стандартного FTP не могут подключаться к SFTP-серверу и наоборот. FTP через SSH (не SFTP). Предусматривает, что обычный FTP-трафик отправляется через SSH-туннель. Из-за того, что FTP использует несколько TCP-соединений, только канал управления (порт TCP/21) защищён, а каналы передачи данных обходят туннель и остаются незащищёнными. Для полноценной работы клиент SSH должен уметь отслеживать и перенаправлять все FTP-потоки данных. Несмотря на то, что два из трех перечисленных протоколов имеют в названии «SSH», это разные протоколы, имеющие мало общего. Поэтому не следует их путать. SFTP (SSH File Transfer Protocol) считается наиболее безопасным и современным методом передачи файлов. Пример настройки FTP-сервера Попробуем настроить свой собственный FTP-сервер. Для решения этой задачи существует большое количество платных и бесплатных решений. Бесплатные: FileZilla Server - простой в установке и настройке, поддерживает FTPS, работает на Windows. vsftpd – лёгкий и быстрый FTP-сервер для Linux/Unix. ProFTPD - FTP-сервер для Linux/Unix, поддерживает FTPS. Pure-FTPd - лёгкий FTP-сервер с поддержкой TLS/SSL, для Linux/Unix. TFTPD32/TFTPD64 - простой FTP и TFTP сервер для Windows, часто используется для тестов и локальных сетей. Коммерческие: Wing FTP Server - поддержка FTP, FTPS, SFTP, HTTP/S, веб-интерфейс и продвинутый контроль доступа. Titan FTP Server - Windows-сервер с поддержкой FTPS и SFTP, продвинутые возможности аудита и автоматизации. Serv-U FTP Server (SolarWinds) - поддержка FTPS/SFTP, интеграция с Active Directory, управление пользователями и журналирование. Ipswitch WS_FTP Server - корпоративный FTP-сервер с высокой безопасностью, поддержкой FTPS/SFTP и аудитом. CompleteFTP - Windows-сервер с поддержкой FTPS, SFTP, SCP, HTTPS и интеграцией с LDAP/Active Directory. Встроенные в ОС: Windows IIS FTP Server - встроенный в Windows Server, поддерживает FTP и FTPS, базовое управление пользователями. Linux inetd/xinetd FTP демоны - минималистичные серверы для тестов или простых задач, без расширенных функций безопасности. Для демонстрации мы выбрали FileZilla Server. Это бесплатный FTP- и FTPS-сервер с открытым исходным кодом. Сайт проекта: https://filezilla-project.org/. Установка потребует 28,5 МБ свободного места на диске и права администратора. 1. Загрузите FileZilla Server с сайта FileZilla. Рис. 1 — Кнопка загрузки FileZilla Server с сайта FileZilla 2. Найдите установщик в папке Загрузки и запустите его. Подтвердите, что вы разрешаете серверу FileZilla вносить изменения на ваше устройство. Рис. 2 — Загруженный файл установки FileZilla Server 3. Примите условия лицензии AGPL, на которых предлагается FileZilla Server. Рис. 3 — Окно принятия условий лицензии AGPL FileZilla Server 4. Выберите, что установить (сервер, интерфейс администратора, значки рабочего стола, ярлыки). Рис. 4 — Окно выбора компонентов для установки FileZilla Server 5. Чтобы решить, куда установить, нажмите кнопку «Обзор», в противном случае нажмите кнопку «Далее». Рис. 5 — Окно выбора пути для установки FileZilla Server 6. Чтобы добавить значки для FileZilla Server, выберите папку в меню «Пуск» или создайте новую. Рис. 6 — Окно добавления значков для FileZilla Server 7. FileZilla Server устанавливается как служба Windows, при желании вы можете запустить ее вручную. Рис. 7 — Окно настройки службы FileZilla Server 8. Установите порт, на котором FileZilla Server будет прослушивать соединения для доступа администратора. Выберите пароль и введите его дважды для подтверждения. Рис. 8 — Окно настройки доступа администратора FileZilla Server При установке пароля администратора программа проверит его стойкость Рис. 9 — Окно с рекомендуемыми требованиями к паролю администратора FileZilla Server 9. По умолчанию интерфейс администратора запускается автоматически. Вы можете отключить эту опцию. Рис. 10 — Окно настройки запуска FileZilla Server 10. Установка завершена, теперь можно приступить к настройке FileZilla Server. Для этого в меню Пуск найдите пункт «Administer FileZilla Server» Рис. 11 — Группа «Administer FileZilla Server» в меню Пуск При его запуске откроется окно для ввода пароля. Рис. 12 — Окно для ввода пароля администратора FileZilla Server 11. Для перехода в окно настроек выберите пункты меню Server - Configure Рис. 13 — Меню интерфейса администратора FileZilla Server 12. Создайте пользователя и назначьте ему пароль. Это можно сделать, создав группу пользователей и указав членство пользователя в группе. Но в этом примере мы создадим отдельного пользователя без членства в группах. Для этого перейдите во вкладку «Users». Рис. 14 — Вкладка «Users» интерфейса администратора FileZilla Server Нажмите кнопку Add и введите имя пользователя. Выберите способ аутентификации (в поле Authentification) «Require a password to log in» - запрашивать пароль при входе. И введите пароль пользователя в соответствующем поле. Рис. 15 — Добавление нового пользователя во вкладке «Users» интерфейса администратора FileZilla Server 13. Настройте папки, к которым созданный пользователь будет иметь доступ. FileZilla Server использует точки монтирования для создания виртуальных точек доступа. Они сопоставляют определённые каталоги (папки) в хранилище вашего сервера с расположениями, доступными пользователям FTP. Точка монтирования включает в себя виртуальный (Virtual) и собственный (Native) путь. Собственный путь — это локальный путь к файлу, а виртуальный — это путь, который видят FTP-пользователи, и который сопоставляется с собственным путём сервером FileZilla: Формат виртуального пути аналогичен формату, используемому в UNIX-подобных операционных системах: файлы и каталоги разделяются символом косой черты «/». При этом все файлы и каталоги принадлежат уникальному корневому каталогу, имя которого — «/». Формат собственного пути совпадает с форматом, используемым операционной системой. Чтобы добавить точку монтирования, нажмите кнопку Добавить и введите виртуальный путь (например, «/») и собственный путь (например, «C:\Folder for FTP Server»). 14. В качестве FTP-клиента мы будем использовать стандартный Проводник Windows, который не поддерживает шифрование. Поэтому во вкладке «Server listeners» окна настроек укажите IP-адрес вашего FTP-сервера и способ установки защищенного соединения: «Explicit FTP over TLS and insecure plain FTP». Рис. 16 — Настройка способа установки защищенного соединения FileZilla Server 15. Все готово. Мы произвели минимально необходимые настройки и теперь вы можете использовать созданный FTP-сервер для обмена файлами. Для доступа к файлам введите на клиентском компьютере в строке адреса Проводника ftp://IP-адрес и нажмите Enter. «IP-адрес» замените на реальный IP-адрес вашего сервера. Рис. 17 — Обращение со стороны клиента к настроенному FTP-серверу FileZilla Server В открывшемся окне введите логин и пароль пользователя. Рис. 18 — Аутентификация клиента на настроенном FTP-сервере FileZilla Server 16. Вы получили доступ к файлам на созданном нами FTP-сервере. Рис. 19 — Доступ к файлам со стороны клиента на настроенном FTP-сервере FileZilla Server Помните, что для того, чтобы к нашему серверу можно было обращаться с помощью стандартного проводника Windows, который не поддерживает шифрование, мы использовали «insecure plain FTP». Это значит, что файлы передаются по сети в незашифрованном виде и могут быть перехвачены и прочитаны злоумышленниками. Для передачи конфиденциальной информации следует использовать любой защищенный протокол, например, Explicit FTPS и клиентское приложение FTP, поддерживающее этот протокол, например, FileZilla Client. Заключение FTP - это один из старейших и до сих пор широко используемых протоколов для передачи файлов по сети. Его работа основана на разделении управляющего и канала передачи данных, что обеспечивает гибкость передачи файлов в обе стороны. В то же время стандартный FTP не обеспечивает защиту данных и паролей, поэтому для безопасной работы применяются его расширения FTPS и альтернативы вроде SFTP, рассмотренные в этой статье. На наш взгляд, SFTP является предпочтительным, поскольку он минимизирует сетевые риски, поддерживает ключевую аутентификацию и имеет зрелую инфраструктуру. Благодаря этому вероятность ошибок конфигурации и уязвимостей при использовании SFTP существенно ниже. Понимание особенностей протокола и механизмов защиты позволяет правильно настроить сервер и клиентское программное обеспечение, обеспечивая эффективную и безопасную передачу файлов. Будьте бдительны, а мы поможем! Автоматическая киберзащита для вашего бизнеса Регулярный контроль чувствительных данных компании, понятные отчёты и экспертная поддержка с точными рекомендациями. запросить демо Советы по ИБ на практике Поделиться