Когда вы настраиваете возможности удаленной передачи файлов для своих сотрудников, вы хотите, чтобы все было как можно проще и безопаснее. Имея это в виду, что лучше, FTPS или SFTP? В сегодняшней публикации SuperUser Q&A есть ответы на любопытный вопрос читателя.
Сегодняшняя сессия вопросов и ответов предоставлена нам благодаря SuperUser - подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Скриншот любезно предоставлен kojihachisu (Flickr).
Вопрос
Читатель SuperUser user334875 хочет знать, в чем разница между FTPS и SFTP и какой из них лучше:
Я пытаюсь настроить систему для четырех моих сотрудников, которые работают удаленно, чтобы они могли передавать файлы. Мне тоже нужно, чтобы это было безопасно. SFTP лучше, чем FTPS? Какая разница между двумя?
В чем разница между ними и какой из них лучше?
Ответ
У участников SuperUser NuTTyX и Vdub есть ответ для нас. Во-первых, NuTTyX:
Это два совершенно разных протокола.
FTPS - это FTP с SSL для безопасности. Он использует канал управления и открывает новые соединения для передачи данных. Поскольку он использует SSL, ему требуется сертификат.
SFTP (протокол передачи файлов SSH / протокол безопасной передачи файлов) был разработан как расширение SSH для обеспечения возможности передачи файлов, поэтому обычно он использует только порт SSH как для данных, так и для управления.
В большинстве установок SSH-сервера у вас будет поддержка SFTP, но для FTPS потребуется дополнительная настройка поддерживаемого FTP-сервера.
Далее следует ответ от Vdub:
FTPS (FTP / SSL) - это имя, используемое для обозначения нескольких способов, которыми программное обеспечение FTP может выполнять безопасную передачу файлов. Каждый способ предполагает использование уровня SSL / TLS ниже стандартного протокола FTP для шифрования каналов управления и / или данных.
Плюсы:
- Широко известен и используется
- Сообщение может быть прочитано и понято человеком.
- Предоставляет услуги по передаче файлов с сервера на сервер
- SSL / TLS имеет хорошие механизмы аутентификации (функции сертификата X.509)
- Поддержка FTP и SSL / TLS встроена во многие структуры интернет-коммуникаций.
Минусы:
- Не имеет единого формата списка каталогов
- Требуется дополнительный канал данных, что затрудняет использование за брандмауэрами
- Не определяет стандарт для наборов символов (кодировок) имени файла
- Не все FTP-серверы поддерживают SSL / TLS.
- Не имеет стандартного способа получения и изменения атрибутов файла или каталога.
SFTP (SSH File Transfer Protocol) - это сетевой протокол, который обеспечивает передачу файлов и управление ими через любой надежный поток данных. Обычно он используется с протоколом SSH-2 (порт TCP 22) для обеспечения безопасной передачи файлов, но также предназначен для использования с другими протоколами.
Плюсы:
- Обладает хорошими стандартами, которые строго определяют большинство (если не все) аспекты деятельности.
- Имеет только одно соединение (соединение DATA не требуется)
- Соединение всегда защищено
- Список каталогов единообразен и машиночитаем.
- Протокол включает операции для управления разрешениями и атрибутами, блокировку файлов и другие функции.
Минусы:
- Обмен данными является двоичным и не может быть зарегистрирован «как есть» для чтения человеком.
- Ключи SSH сложнее управлять и проверять
- Стандарты определяют некоторые вещи как необязательные или рекомендуемые, что приводит к определенным проблемам совместимости между разными названиями программного обеспечения от разных поставщиков.
- Отсутствие межсерверного копирования и рекурсивного удаления каталогов
- Нет встроенной поддержки SSH / SFTP в платформах VCL и .NET.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.