Мне нужна возможность клиентов присылать мне файлы. Я бы хотел, чтобы они использовали веб-службы, но они не могут этого сделать (они хотят просто передать файл по FTP, как они привыкли, поэтому я согласился с этим).
Я использую серверы Windows, но немного скептически отношусь к размещению FTP-сервера в моей сети с моими серверами приложений / серверами БД, поскольку я знаю о проблемах безопасности, связанных с FTP-сервером.
Как лучше всего с этим справиться?
Вы можете установить FTP, скажем, на инстансе VPS или EC2 далеко-далеко от вашей сети и сказать им, чтобы они помещали туда файлы. После того, как они загрузятся, вы можете получить их сами. Таким образом, у них есть FTP / SFTP, и эта служба отделена от вашей собственной сети. Экземпляр EC2 Micro стоит около 15 долларов в месяц, плюс все, что вам понадобится для хранения, если вы подключите к нему EBS. Вы можете запускать инстанс EC2, когда вам это нужно, если передачи происходят не так часто.
Проблема с FTP-сервером заключается в том, что он в основном не зашифрован, поэтому в идеале вы захотите установить сертификат SSL, чтобы обеспечить вашу защиту. Также важно иметь надежные пароли для всех учетных записей на FTP-сервере.
Если вы все еще беспокоитесь, используйте сторонний FTP-сервер, например Filezilla: http://filezilla-project.org/download.php?type=server
Тогда вы можете иметь очень ограниченный набор пользователей и просто запускать и останавливать службу, когда это необходимо.
Посмотри на CrushFTP Установка проста, и вы можете включить множество различных протоколов. Мы используем HTTPS, и он работает очень хорошо. Слишком много функций, чтобы перечислять здесь, но по очень разумной цене и отличной поддержке. Бесплатная пробная версия. Вы можете добавить на сайт свои логотипы. Он также обладает высокой безопасностью, блокирует атаки, такие как словарные атаки, и предупреждает вас.
Действительно хорошо работает для нас, и пользователям просто нужен браузер.
Проблемы безопасности на FTP-серверах в первую очередь связаны с паролями в открытом виде в сети.
Я вижу здесь три возможных решения этой проблемы:
Webdav с SSL. Может использоваться с некоторыми FTP-клиентами, веб-браузеры также должны работать нормально. Многие методы аутентификации могут работать на веб-сервере (что устраняет необходимость в отдельном демоне).
FTPS: FTP через SSL. Сертификат сервера для шифрования, необязательный сертификат клиента для аутентификации. На серверах также есть много методов аутентификации пользователей: база данных, локальные пользователи, ldap ...
SFTP: FTP через SSH. Также совместим с некоторыми FTP-клиентами. Доступны параметры авторизации по ssh. пароли, ssh-ключи ... Однако могут быть несовместимы с Windows (на стороне сервера).
Интересно, что люди настолько застряли в своем уме, что все еще хотят использовать FTP.
FTP - это доисторический протокол, который никогда не создавался для безопасной связи.
Как насчет предоставления безопасного веб-файлового менеджера, в котором пользователи могут просто перетаскивать несколько файлов прямо в браузер?
Или использовать безопасный сервер WebDAV, где пользователи могут сопоставить удаленный сервер как диск Windows?
Взгляните на BarracudaDrive, который предлагает решение для двух вышеупомянутых вариантов использования.