SFTPGo 2.0.0

Опубликовано August@Karro - пн, 02/08/2021 - 19:10
SFTPGo может использоваться для предоставления доступа к Git-репозиториям, используя протокол SSH. 

Данные по SFTPGo могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3 и Google Cloud Storage. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x или bbolt 1.3.x. Имеется также режим хранения метаданных в оперативной памяти, не требующий подключения внешней БД.

Основные особенности программы:

  • Для каждой учётной записи применяется chroot-изоляция, ограничивающая доступ домашним каталогом пользователя. Возможно создания виртуальных каталогов, ссылающихся на данные вне пользовательского домашнего каталога.
  • Учётные записи хранятся в виртуальной базе пользователей, не пересекающейся с системной БД пользователей. Для хранения БД пользователей могут применяться SQLite, MySQL, PostgreSQL, bbolt и хранение в памяти. Предоставляются средства для сопоставления виртуальных и системных учётных записей - возможно прямое или произвольное сопоставление (один системный пользователь может быть сопоставлен с другим виртуальным пользователем).
  • Поддерживается аутентификация по открытым ключам, ключам SSH и паролям (в том числе интерактивная аутентификация с вводом пароля с клавиатуры). Возможна привязка нескольких ключей для каждого пользователя, а также настройка мультифакторной и многоэтапной аутентификации (например, в случае успешной аутентификации по ключу может дополнительно быть запрошен пароль).
  • Для каждого пользователя возможна настройка разных методов аутентификации, а также определение собственных методов, реализуемых через вызов внешних программ-аутентификаторов (например, для аутентификации через LDAP) или отправку запросов через HTTP API.
  • Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается динамическое создание пользователей при подключении.
  • Поддержка индивидуальных квот на размер данных и число файлов.

Основные изменения в новой версии программы:

  • Новая версия REST API v2 с поддержкой роли администратора.
  • Прозрачное шифрование хранимых данных (Data At Rest).
  • Поддержка KMS: учетные записи и ключи теперь могут хранится во внешней KMS (Vault, GCP KMS, AWS KMS).
  • SFTP теперь может использоваться как реализация внутреннего хранилища, позволяя использовать сервер в режиме SFTP-прокси.
  • Двунаправленная аутентификация через TLS (TLS with client certificate authentication) для FTP, WebDAV, REST API и web-админки.
  • Встроенный блокировщик: пользователь может настроить политику автоблокировки подозрительных клиентов.

Код проекта написан на языке Go и распространяется под лицензией GPLv3. 

 

Последние материалы