Назад | Перейти на главную страницу

FTP v / s SFTP v / s FTPS

Мы настраиваем веб-сервер в нашей рабочей области. В связи с этим мы планируем установить FTP-сервер, однако я застрял в выборе протокола - FTP, SFTP или FTPS. Я погуглил, пытаясь понять, какой протокол что предлагает, наткнулся на статьи вроде этот, но я не могу решиться. Желательна только простая, разовая передача файлов; однако безопасность является проблемой, поскольку файловый сервер предназначен для доступа из Интернета.

Какой протокол мне больше всего подходит и почему?

Итак, в наши дни есть два разумных варианта:

  1. WebDAV, приятный на стороне сервера, удобный для клиентов Linux и Mac OS, однако у встроенного клиента Windows есть проблемы.

  2. SCP / SFTP, очень просто, так как у вас, скорее всего, есть ssh, легко доступны клиенты с графическим интерфейсом (например, FileZilla)

Хотя FTP все еще существует, я бы действительно избегал настраивать что-либо новое на его основе.

Я думаю, что краткий ответ - использовать FTP-сервер, поддерживающий все три протокола. Вероятно, вы захотите избежать разрешения FTP, поскольку вы упомянули безопасность как главную проблему, но и протокол передачи файлов SSH2 (SFTP), и FTP через TLS / SSL (FTPS) считаются протоколами безопасной передачи файлов.

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

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

С точки зрения безопасности, протоколы SFTP и FTPS считаются безопасными. Требование открыть несколько портов с помощью FTPS можно рассматривать как проблему безопасности, но нет ничего более безопасного в протоколе SFTP по сравнению с протоколом FTPS.

Единственное реальное преимущество FTPS перед SFTP - это производительность. SFTP работает по значительно более надежному и универсальному протоколу, чем FTPS, и эта надежность оказывает значительное влияние на производительность. Просто в SFTP намного больше накладных расходов, потому что он работает по протоколу SSH2 и потому, что SFTP реализует свой собственный механизм подтверждения связи. Если вы хотите максимально возможную скорость передачи, вам нужен FTPS.

Подводя итог, попробуйте поддерживать все 3. Большинство современных FTP-серверов уже поддерживают FTP, FTPS и SFTP.

Определенно избегайте установки демона FTP. Пока у вас есть SSH, у вас есть SFTP. Никакой дополнительной настройки не требуется. Единственная причина использовать FTP - это для масс.

Я запускаю FTP-сервер, который также поддерживает FTPES (FTP через явный SSL), и я действительно не вижу в нем никаких преимуществ, кроме того факта, что он уже установлен. Я унаследовал его, и все учетные записи и разрешения пользователей работают. Но для всего остального я просто использую SSH / SFTP.

Любой, кто интересуется некоторыми цифрами, вот мои результаты тестов в моей локальной сети. Производительность SMB 2.1 составляет около 112 МБ / с

Машина: Intel (R) Core (TM) 2 Quad CPU Q8400 @ 2,66 ГГц / 8 ГБ оперативной памяти / гигабитная локальная сеть

FTP Mode                      MB/s CPU Usage/APP   Encrypted
-------------------------------------------------------------
FTP Transfer rate:            120  40.9  proftpd   No
FTPS (SSL) Transfer Rate:      55  99.8% proftpd   Yes
SFTP Transfer Rate:            30  100%  sshd      Yes
Putty SSH Tunnel, (Raw) FTP:   32  100%  sshd      Yes 

Я согласен с Райаном. SFTP, если сервером будет пользоваться ограниченное количество людей. Если это будет сервер, более открытый для публики, я бы сделал доступным только FTPES (оба канала FTP через явный SSL) как единственный выбор. FTPES безопасен в ОБЕИХ каналах (если сервер настроен правильно) как в отношении отправки имени пользователя и пароля FTP, так и передаваемых данных. ДАЖЕ не думайте только о FTP. Достаточно.

Но еще раз, если это в основном только ваш SFTP, все будет в порядке.