hostprofi.ru
Подобрать хостинг
Термин·буква А

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

краткое определение

Активный режим FTP — режим передачи данных, при котором сервер инициирует соединение обратно к клиенту для передачи данных. В пассивном режиме (PASV) клиент сам устанавливает оба соединения. Активный режим проблематичен при клиенте за NAT или файрволом.

FTP (File Transfer Protocol) работает в двух режимах передачи данных: активном (Active Mode, PORT) и пассивном (Passive Mode, PASV). Различие — в том, кто инициирует соединение для передачи данных. FTP использует два TCP-соединения: командный канал (порт 21) и канал данных (переменный порт). Понимание разницы между режимами критично для корректной настройки файрволов и NAT на серверах.

Как работает активный режим FTP

В активном режиме (Active Mode, команда PORT):

  1. Клиент подключается к серверу на порт 21 (командный канал)
  2. Клиент отправляет команду PORT с указанием своего IP и порта для данных: PORT 192,168,1,100,12,34 (IP 192.168.1.100, порт 12*256+34=3106)
  3. Сервер устанавливает соединение с клиентом на указанный порт
  4. Через это соединение передаются данные (LIST, RETR, STOR)

Проблема активного режима: при клиенте за NAT или файрволом сервер пытается подключиться к внутреннему IP (например, 192.168.1.100), который недоступен из интернета. Файрвол блокирует входящее соединение от сервера — передача данных не работает.

Пассивный режим (PASV) — решение

В пассивном режиме (Passive Mode, команда PASV):

  1. Клиент подключается к командному каналу (порт 21)
  2. Клиент отправляет команду PASV
  3. Сервер возвращает свой IP и порт для данных: 227 Entering Passive Mode (1,2,3,4,100,20)
  4. Клиент подключается к серверу на указанный порт — нет входящих соединений

Пассивный режим — стандарт для большинства современных FTP-клиентов и браузеров. Конфигурация PASV на сервере (vsftpd):

pasv_enable=YES
pasv_min_port=10090
pasv_max_port=10100
pasv_address=203.0.113.1  # внешний IP сервера

История

FTP стандартизирован в RFC 959 (1985). Активный режим был первоначальным стандартом — в 1985 году NAT и персональные файрволы отсутствовали. С ростом интернета и повсеместным внедрением NAT в 1990-х активный режим стал создавать проблемы. Пассивный режим PASV добавлен в RFC 1123 (1989). В 2000-х SFTP (SSH File Transfer Protocol) начал вытеснять FTP как более безопасная альтернатива — один порт вместо двух и шифрование. RFC 2428 (1998) добавил EPSV для IPv6.

FTP vs SFTP vs FTPS

ПротоколШифрованиеПортыЧерез NAT
FTP ActiveНет21 + динамическийПроблемы
FTP PassiveНет21 + диапазонРаботает
FTPS (явный)TLS21 + PASVРаботает
SFTPSSH22 (только один)Работает

На что обращать внимание

Для VPS-серверов в 2024 году FTP рекомендуется заменять на SFTP или rsync по SSH — шифрование трафика и единственный порт без дополнительных настроек файрвола. Если FTP обязателен (legacy-системы, хостинг-панели), используйте только FTPS или SFTP, закройте порт 21 от публичного интернета через iptables/nftables, ограничив доступ IP-адресами клиентов. FTP в открытом виде передаёт пароль открытым текстом — прослушивание сети компрометирует учётные данные мгновенно.

FTPS vs SFTP: что выбрать

SFTP через SSH (порт 22) — предпочтительный выбор для большинства задач: один порт, шифрование по умолчанию, работает через NAT без дополнительных настроек. FTPS — для совместимости со старыми системами, требующими именно FTP-протокол с шифрованием. FTP без шифрования (порт 21) — использовать только в изолированных внутренних сетях, никогда через интернет.

FTPS vs SFTP — детали отличий

Несмотря на похожие названия, FTPS и SFTP — принципиально разные протоколы:

  • FTPS (FTP over TLS) — расширение FTP с TLS-шифрованием. Сохраняет двухканальную архитектуру FTP (порт 21 + PASV-диапазон), добавляя шифрование командного и data-каналов. Бывает явным (STARTTLS на порту 21) и неявным (порт 990).
  • SFTP (SSH File Transfer Protocol) — отдельный протокол поверх SSH (порт 22). Один канал, полное шифрование, никаких проблем с NAT. Поддерживается WinSCP, FileZilla, rsync.

Выбор: SFTP предпочтительнее в 99% случаев. FTPS используется только при интеграции с legacy-системами, требующими именно FTP-совместимого протокола.

Другие термины