Протокол передачи файлов SSH
Протокол связи | |
Аббревиатура | SFTP |
---|---|
Цель | Передача файлов |
Разработчик(и) | IETF SECSH Рабочая группа |
Введение | 1997 год |
На основе | Безопасная оболочка (SSH) |
Уровень OSI | Прикладной уровень (7) |
Порт(ы) | 22/ПТС |
В вычислительной технике протокол передачи файлов SSH (также известный как протокол безопасной передачи файлов или SFTP ) представляет собой сетевой протокол , который обеспечивает доступ к файлам , их передачу и управление файлами через любой надежный поток данных . Он был разработан Инженерной группой Интернета (IETF) как расширение протокола Secure Shell (SSH) версии 2.0 для обеспечения возможностей безопасной передачи файлов и рассматривается как замена протокола передачи файлов (FTP) из-за более высокого уровня безопасности. [1] В Интернет-проекте IETF говорится, что, хотя этот протокол описан в контексте протокола SSH-2, его можно использовать в ряде различных приложений, таких как безопасная передача файлов через Transport Layer Security (TLS) и передача управления. информацию в приложениях VPN .
Этот протокол предполагает, что он запускается по защищенному каналу , например SSH, что сервер уже аутентифицировал клиента и что личность пользователя клиента доступна протоколу.
Возможности
[ редактировать ]По сравнению с протоколом SCP , который допускает только передачу файлов, протокол SFTP допускает ряд операций с удаленными файлами, что делает его больше похожим на протокол удаленной файловой системы . Дополнительные возможности SFTP- клиента включают возобновление прерванной передачи, просмотр каталогов и удаленное удаление файлов. [2] Также поддерживается все типы файлов UNIX, включая символические ссылки. [3]
SFTP пытается быть более независимым от платформы, чем SCP; например, в SCP расширение подстановочных знаков, указанных клиентом, зависит от сервера, тогда как конструкция SFTP позволяет избежать этой проблемы. Хотя SCP чаще всего реализуется на платформах Unix , серверы SFTP обычно доступны на большинстве платформ. В SFTP передачу файлов можно легко прервать, не прерывая сеанс, как это делают другие механизмы.
SFTP – это не FTP, работающий поверх SSH , а скорее новый протокол, разработанный с нуля IETF SECSH рабочей группой . Его иногда путают с простым протоколом передачи файлов . [4]
Сам протокол не обеспечивает аутентификацию и безопасность; он ожидает, что базовый протокол обеспечит это. SFTP чаще всего используется как подсистема реализаций протокола SSH версии 2, разработанная той же рабочей группой. Однако его можно запустить через SSH-1 (и некоторые реализации поддерживают это) или другие потоки данных. Запуск SFTP-сервера через SSH-1 не зависит от платформы, поскольку SSH-1 не поддерживает концепцию подсистем. Клиент SFTP, желающий подключиться к серверу SSH-1, должен знать путь к двоичному файлу SFTP-сервера на стороне сервера.
Загруженные файлы могут быть связаны с их основными атрибутами, такими как отметки времени. Это преимущество перед обычным протоколом FTP .
История и развитие
[ редактировать ]Рабочая группа Internet Engineering Task Force (IETF) «Secsh», которая отвечала за разработку протокола Secure Shell версии 2 (RFC 4251), также попыталась разработать расширение этого стандарта для функций безопасной передачи файлов. Были созданы Интернет-проекты , в которых протокол последовательно пересматривался в новые версии. [5] Индустрия программного обеспечения начала внедрять различные версии протокола еще до того, как проекты были стандартизированы. По мере развития работ объем проекта Secsh File Transfer расширился и теперь включает доступ к файлам и управление файлами . В конце концов, разработка застопорилась, поскольку некоторые члены комитета начали рассматривать SFTP как протокол файловой системы , а не просто протокол доступа к файлам или передачи файлов , что ставит его за пределы компетенции рабочей группы. [6] После семилетнего перерыва в 2013 году была предпринята попытка возобновить работу над SFTP, взяв за основу проект версии 3. [7]
Версии 0–2
[ редактировать ]До участия IETF SFTP был собственным протоколом SSH Communications Security , разработанным Тату Юлёненом при содействии Сами Лехтинена в 1997 году. [8] Различия между версиями 0–2 и версией 3 перечислены в разделе 10 Draft-ietf-secsh-filexfer-02 .
Версия 3
[ редактировать ]В начале проекта IETF Secure Shell File Transfer группа Secsh заявила, что ее цель протокола передачи файлов SSH — обеспечить безопасную функциональность передачи файлов через любой надежный поток данных и стать стандартным протоколом передачи файлов для использования с Протокол SSH-2.
Проекты 00–02 Интернет-проекта IETF определяют последующие версии версии 3 протокола SFTP.
- Протокол передачи файлов SSH, проект 00, январь 2001 г.
- Протокол передачи файлов SSH, проект 01, март 2001 г.
- Протокол передачи файлов SSH, проект 02, октябрь 2001 г.
Версия 4
[ редактировать ]Проекты 03–04 Интернет-проекта IETF определяют версию 4 протокола.
- Протокол передачи файлов SSH, проект 03, октябрь 2002 г.
- Протокол передачи файлов SSH, проект 04, декабрь 2002 г.
Версия 5
[ редактировать ]Проект 05 Интернет-проекта IETF определяет версию 5 протокола.
Версия 6
[ редактировать ]Проекты 06–13 Интернет-проекта IETF определяют последовательные версии версии 6 протокола.
- Протокол передачи файлов SSH, проект 06, октябрь 2004 г.
- Протокол передачи файлов SSH, проект 07, март 2005 г.
- Протокол передачи файлов SSH, проект 8 апреля 2005 г.
- Протокол передачи файлов SSH, проект 9 июня 2005 г. — добавлены блокировки диапазона байтов. ACL меняется. Переставлены параметры запроса SSH_FXP_REALPATH.
- Протокол передачи файлов SSH, проект 10, июнь 2005 г. — удалены расширения «vendor-id», «md5-hash», «space-available», «home-directory». ACL меняется.
- Протокол передачи файлов SSH, проект 11, январь 2006 г. – полностью определена передача ACL. Редакционные изменения.
- Протокол передачи файлов SSH, проект 12, январь 2006 г. – добавлены «Соображения IANA». Параметр размера теперь разрешен при создании файла в качестве рекомендательного сигнала.
- Протокол передачи файлов SSH, проект 13, июль 2006 г. – редакционные изменения
Расширения
[ редактировать ]Протокол SFTP поддерживает общий способ указания расширенных команд, а также метод их включения в согласование версии. Запрашивается реестр IANA, но, поскольку протокол так и не стал официальным стандартом, такой реестр не был создан. [3]
- В проекте 13 указано поиск текста , поддерживается2 , поддержка ACL , новая строка , версии , выбор версии , кодировка имени файла , имя файла-перевод-контроль . [3]
- OpenSSH, наиболее распространенная реализация, определяет константы для передачи ST_NOSUID и Значения ST_RDONLY по протоколу, используя [email protected] Идентификатор версии . Он реализует только версию 3 из проекта 1. [9]
Программное обеспечение
[ редактировать ]SFTP-клиент
[ редактировать ]Термин SFTP также может относиться к программе безопасной передачи файлов — программе командной строки , реализующей клиентскую часть этого протокола. Например, это реализовано в программе sftp, поставляемой с OpenSSH . [10]
Некоторые реализации scp
Программа поддерживает протоколы SFTP и SCP для передачи файлов, в зависимости от того, что поддерживает сервер. Программа scp, поставляемая с OpenSSH 9.0 и выше, по умолчанию использует SFTP. [11]
SFTP-сервер
[ редактировать ]Некоторые реализации FTP-сервера реализуют протокол SFTP; однако за пределами выделенных файловых серверов поддержка протокола SFTP обычно обеспечивается реализацией сервера SSH , поскольку он использует порт по умолчанию 22 с другими службами SSH. Реализации SFTP могут включать в себя реализацию протокола SSH для усиления интеграции деталей SSH-соединения с существующими средствами управления доступом к FTP-серверу, где допускается использование альтернативного SSH-сервера или где могут использоваться альтернативные порты. Сервер SSH-2, поддерживающий подсистемы, можно использовать для поддержания единообразной реализации SSH, одновременно улучшая контроль доступа с помощью стороннего программного обеспечения за счет детальной интеграции с деталями подключения и совместимости с SSH-1.
SFTP-прокси
[ редактировать ]Трудно контролировать передачу SFTP на устройствах безопасности по периметру сети. Существуют стандартные инструменты для регистрации FTP- транзакций, такие как TIS gdev или SUSE FTP-прокси, но SFTP шифруется, что делает традиционные прокси-серверы неэффективными для управления SFTP-трафиком.
Существуют некоторые инструменты, реализующие посредника для SSH, которые также поддерживают управление SFTP. Примером такого инструмента является Shell Control Box от Balabit. [12] и CryptoAuditor от SSH Communications Security. [13] (первоначальный разработчик протокола Secure Shell), который предоставляет такие функции, как регистрация транзакций SFTP и регистрация фактических данных, передаваемых по сети.
См. также
[ редактировать ]- Сравнение SSH-клиентов
- Сравнение SSH-серверов
- Сравнение протоколов передачи файлов
- РЫБА
- FTPS
- Lsh — сервер GNU SSH-2 и SFTP для Unix-подобных ОС.
- SSHFS и Rclone — монтирование удаленной файловой системы с использованием SFTP и SSH.
- Категория:FTP-клиенты
- Категория:Клиенты протокола передачи файлов SSH
Ссылки
[ редактировать ]- ^ «Что, как и почему SFTP» .
- ^ Виктория, Джейнор; Виктория, Беверли (2001), SSH, The Secure Shell: The Definitive Guide , Кембридж: О'Рейли, ISBN 0-596-00011-1
- ^ Перейти обратно: а б с Гэлбрейт, Джозеф; Сааренмаа, Оскари (18 июля 2006 г.). «Протокол передачи файлов SSH» . Рабочая группа по интернет-инжинирингу.
- ^ Барретт, Дэниел; Сильверман, Ричард Э. (2001), SSH, The Secure Shell: The Definitive Guide , Кембридж: О'Рейли, ISBN 0-596-00011-1
- ^ «Страницы статуса Secsh» . Tools.ietf.org . Проверено 20 августа 2012 г.
- ^ «ietf.secsh — Официальная консультация перед закрытием рабочей группы secsh — msg#00010 — Недавнее обсуждение» . Osdir.com. 14 августа 2006 г. Архивировано из оригинала 20 марта 2012 г. Проверено 20 августа 2012 г.
- ^ Мунесами, С. (12 июля 2013 г.). «Протокол передачи файлов SSH—draft-moonesamy-secsh-filexfer-00» . Tools.ietf.org.
- ^ ftp://ftp.ietf.org/ietf-mail-archive/secsh/2012-09.mail
- ^ "openssh-portable sftp.h" . Гитхаб . ОпенСШ. 24 мая 2023 г.
- ^ «Страница руководства OpenBSD для команды «sftp»: раздел «См. Также»» . OpenBSD.org . Проверено 4 февраля 2018 г.
- ^ «ОпенСШ 9.0» . Примечания к выпуску OpenSSH . 8 апреля 2022 г.
- ^ «Запись SSH/RDP/Citrix в журнал аудита — устройство мониторинга активности» . Балабит.com . Проверено 20 августа 2012 г.
- ^ «Контроль и мониторинг привилегированного доступа» . SSH.com . Проверено 25 ноября 2014 г.