Открыть сервис

RFC 2228

RFC 2228 — это спецификация, опубликованная в октябре 1997 года в серии документов Internet Engineering Task Force (IETF) под названием «FTP Security Extensions» (Расширения безопасности для FTP). Документ определяет набор расширений к протоколу передачи файлов (FTP), направленных на обеспечение аутентификации, целостности и конфиденциальности данных при передаче по сети. RFC 2228 является историческим стандартом, который заложил основу для создания защищённых версий FTP, в частности FTPS (FTP over SSL/TLS).

Предпосылки создания

К середине 1990-х годов протокол FTP, определённый в RFC 959 (1985), стал основным средством передачи файлов в сети Интернет. Однако его архитектура имела фундаментальные уязвимости с точки зрения безопасности:

Эти недостатки делали FTP непригодным для передачи конфиденциальной информации, особенно в корпоративных и финансовых сетях. RFC 2228 был разработан как ответ на эти угрозы, предлагая механизмы для защиты FTP без полной переработки протокола.

Основные положения RFC 2228

RFC 2228 не определяет конкретный криптографический протокол (например, TLS или SSH), а предоставляет фреймворк для добавления безопасности в FTP. Он вводит новые команды, коды ответов и механизмы согласования параметров защиты.

Ключевые нововведения

  1. Новые команды безопасности:
  1. Новые коды ответов:
  1. Механизм согласования: RFC 2228 вводит концепцию «защищённого согласования» (secure negotiation). Клиент и сервер могут установить защищённое соединение на канале управления (команды AUTH, ADAT), а затем, используя команду PROT, отдельно настроить защиту для канала данных. Это позволяет, например, шифровать только передаваемые файлы, оставляя команды управления незашифрованными (хотя на практике обычно шифруется и то, и другое).
  1. Интеграция с существующим FTP: Все новые команды и ответы являются расширениями к базовому протоколу FTP (RFC 959). Серверы, не поддерживающие RFC 2228, просто игнорируют неизвестные команды, и клиент может работать в незащищённом режиме. Это обеспечивает обратную совместимость.

Реализация и влияние

RFC 2228 стал основой для двух основных подходов к защищённому FTP:

FTPS (FTP over SSL/TLS)

Наиболее распространённая реализация RFC 2228. FTPS использует протокол TLS (Transport Layer Security) или его предшественник SSL (Secure Sockets Layer) для шифрования и аутентификации. Процесс установки соединения по FTPS включает:

  1. Клиент подключается к серверу на порт 21.
  2. Клиент отправляет команду AUTH TLS (или AUTH SSL).
  3. Сервер отвечает кодом 234 и предлагает свой сертификат.
  4. Происходит рукопожатие TLS (handshake), в ходе которого клиент и сервер обмениваются ключами и проверяют сертификаты.
  5. После установления защищённого канала управления клиент отправляет команду USER и PASS (уже в зашифрованном виде).
  6. Для передачи данных используется команда PROT P (приватный уровень), и канал данных также шифруется с помощью TLS.

FTPS широко используется в корпоративных средах и приложениях, где требуется надёжная защита данных. Он поддерживается большинством современных FTP-клиентов (FileZilla, WinSCP, CuteFTP) и серверов (ProFTPD, vsftpd, Microsoft IIS).

SFTP (SSH File Transfer Protocol)

Важно не путать FTPS с SFTP. SFTP — это отдельный протокол, не основанный на FTP и RFC 2228. Он является частью пакета SSH (Secure Shell) и работает через порт 22. SFTP обеспечивает шифрование, аутентификацию и целостность на уровне протокола SSH. В отличие от FTPS, SFTP не использует отдельные каналы управления и данных, а передаёт файлы в рамках одного защищённого соединения.

Недостатки и ограничения RFC 2228

Несмотря на свою важность, RFC 2228 имеет ряд недостатков:

Современное состояние и альтернативы

RFC 2228 был опубликован в 1997 году и с тех пор неоднократно обновлялся (например, RFC 4217, который уточняет использование TLS с FTP). Однако с развитием технологий безопасности он постепенно уступает место более современным протоколам:

Несмотря на эти альтернативы, FTPS (основанный на RFC 2228) остаётся востребованным в некоторых корпоративных средах, особенно в тех, где уже развёрнута инфраструктура FTP и требуется обратная совместимость с устаревшими системами.

Критика

Основная критика RFC 2228 связана с его архитектурной сложностью. Фреймворк, предлагаемый спецификацией, требует от разработчиков реализации большого количества дополнительных команд и состояний, что увеличивает вероятность ошибок и уязвимостей. Кроме того, сам процесс согласования безопасности (AUTH/ADAT/PBSZ/PROT) может быть подвержен атакам типа «понижение версии» (downgrade attack), если злоумышленник может вмешаться в начальный этап рукопожатия. Также отмечается, что RFC 2228 не решает проблему с активным режимом FTP и брандмауэрами, что делает его менее удобным для современных сетей.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →