Top.Mail.Ru

Что такое SFTP и чем он отличается от обычного FTP

1
Что такое SFTP и чем он отличается от обычного FTP

Передачу файлов возможно без преувеличения считать одной из старейших операций в сети. Это вещь настолько же древняя, почти как сам интернет. И каждый день мы копируем гигабайты данных с сервера на сервер и редко задумываемся, что именно происходит под капотом. Но когда встает вопрос безопасности, оказывается, что не все протоколы одинаково полезны. 

Сегодня поговорим о двух технологиях-близнецах — FTP и SFTP. Названия похожи, задачи одни и те же, а вот уровень защиты отличается радикально.

Почтовые открытки VS бронированный конверт

Чтобы понять разницу, представьте пересылку документов. Обычный FTP — это как почтовая открытка. Вы пишете на ней текст, клеите марку и отправляете. Любой человек на сортировочном узле или просто любопытный прохожий, перехвативший открытку, может прочитать, что там написано. Более того, он может незаметно приписать пару слов или подменить открытку своей, пока она лежит в ящике.

SFTP работает иначе. Это уже полноценная бронированная капсула, которую просто так не вскроешь. И важнее всего, что протокол шифрует не только содержимое файла, но и сами команды. Поэтому даже факт вашего присутствия на сервере и название папки, в которую вы заходите, скрыты от посторонних глаз.

В чем суть технологии FTP

FTP расшифровывается как File Transfer Protocol. Он появился в 70-х годах, задолго до того, как люди всерьез задумались о киберугрозах. Его задача была в том, чтобы взять файл из точки А и переложить в точку Б. И с этой задачей он справляется отлично.

Уязвимость классического FTP кроется в архитектуре. Когда вы вводите логин и пароль, они отправляются по сети открытым текстом. Если злоумышленник «слушает» трафик в кафе с публичным Wi-Fi или получил доступ к промежуточному узлу, ваши учетные данные у него в кармане. Не нужны ни взлом паролей, ни сложные алгоритмы — достаточно просто прочитать пакет данных.

А что же такое SFTP и при чем здесь SSH?

Вот здесь часто возникает путаница. SFTP — это не просто «FTP с буковкой S», как многие думают. С технической точки зрения это вообще другой протокол, работающий поверх SSH.

Отсюда следует его главное преимущество: шифрование работает по умолчанию, всегда и без исключений. Нельзя настроить SFTP так, чтобы пароль шел открытым текстом — протокол этого просто не позволит. Данные шифруются до отправки и расшифровываются только на принимающей стороне.

Три ключевых отличия, которые касаются всех

Теперь перейдем к практике. Чем эта разница в архитектуре оборачивается для обычного пользователя или начинающего администратора?

Первое — это работа с портами и файрволами. Классический FTP довольно капризен. Он использует два соединения. Одно для команд, а другое для самих данных. В зависимости от активного или пассивного режима порты на серверной стороне могут меняться, а файрволы это очень не любят. Это приводит к классической проблеме: «К серверу подключаюсь, папки вижу, а при попытке скачать файл — ошибка».

SFTP в этом смысле намного проще. Он работает через один-единственный порт (обычно 22-й), и все данные передает по нему. Настройка файрвола сводится к открытию одного порта. Трафик выглядит как сплошной шифрованный поток, который не нужно разделять на команды и данные.

Второе важное отличие — целостность данных. FTP просто передает байты. Если в процессе передачи из-за помех потерялась часть информации, протокол об этом не узнает. Вам придется заметить ошибку самим, когда архив не откроется. SFTP, работая поверх SSH, использует контрольные суммы и проверяет, что файл дошел до получателя именно в том виде, в котором был отправлен. Ни один бит не теряется бесследно.

И третье — это управление правами. В SFTP, как правило, нет проблем с привычными атрибутами файлов вроде «только для чтения» или временем последнего изменения. Они передаются и сохраняются естественным образом, потому что протокол тесно дружит с файловой системой сервера. В FTP ради этого часто приходилось прибегать к костылям и нестандартным командам.

Так что же выбрать сегодня?

Ответ прост, хотя и звучит категорично: если у вас нет очень специфичной задачи, совместимой только с FTP, то обязательно используйте SFTP.

На сегодняшний день FTP морально устарел. Как минимум представьте, что вам придется отдельно следить за тем, чтобы не показать всему интернету доступы к своим ресурсам. Не зря разработчики современных браузеров вроде Chrome и Firefox постепенно отключают поддержку FTP, считая его небезопасным рудиментом. Актуальные операционные системы и панели управления хостингом по умолчанию предлагают подключение именно по SFTP.

Стоит держать FTP в голове только в двух случаях. Во-первых, когда вы администрируете по-настоящему старое железо или софт, где обновление прошивки загружается только по FTP и никак иначе. Во-вторых, если вам нужна анонимная раздача в локальной сети, изолированной от интернета. Но даже в локальной сети стоит дважды подумать: SFTP не сложнее в настройке, но на порядок безопаснее и стабильнее.

Похожее

Все статьи
138655 (3)

Что такое снапшоты и чем они отличаются от бэкапов

Снапшоты и бэкапы — два термина, которые при разговорах о серверах и хранении данных нередко сливаются во что-то одно. В реальности между ними такая же разница, как между сохранением в компьютерной игре и эвакуацией ценностей в бункер. Задача в целом…

124877

Какая CMS лучше подходит для разных типов сайтов

Выбор системы управления сайтом — это всегда компромисс в какой-то степени компромисс между сложностью, доступностью и привычностью. Нельзя просто так взять и сказать: «Вот конкретно именно эта CMS самая лучшая».  Под каждую задачу есть свой инструмент. Поэтому более корректно спрашивать:…