Мы настраиваем веб-сервер в нашей рабочей области. В связи с этим мы планируем установить FTP-сервер, однако я застрял в выборе протокола - FTP, SFTP или FTPS. Я погуглил, пытаясь понять, какой протокол что предлагает, наткнулся на статьи вроде этот, но я не могу решиться. Желательна только простая, разовая передача файлов; однако безопасность является проблемой, поскольку файловый сервер предназначен для доступа из Интернета.
Какой протокол мне больше всего подходит и почему?
Итак, в наши дни есть два разумных варианта:
WebDAV, приятный на стороне сервера, удобный для клиентов Linux и Mac OS, однако у встроенного клиента Windows есть проблемы.
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, все будет в порядке.