SFTP Server SFTPGo 2.2.0 чыгаруу

Опубликован выпуск сервера SFTPGo 2.2, позволяющего организовать удалённый доступ к файлам при помощи протоколов SFTP, SCP/SSH, Rsync, HTTP и WebDav. В том числе SFTPGo может использоваться для предоставления доступа к Git-репозиториям, используя протокол SSH. Данные могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3, Google Cloud Storage и Azure Blob Storage. Возможно хранение данных в зашифрованном виде. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL, MySQL, SQLite, CockroachDB или bbolt, но имеется и возможность хранения метаданных в оперативной памяти, не требующая подключения внешней БД. Код проекта написан на языке Go и распространяется под лицензией GPLv3.

Жаңы версияда:

  • Добавлена поддержка двухфакторной аутентификации с использованием одноразовых паролей с ограниченным временем жизни (TOTP, RFC 6238). В качестве аутентификаторов могут использоваться такие приложения, как Authy и Google Authenticator.
  • Реализована возможность расширения функциональности через плагины. Среди уже доступных плагинов: поддержка дополнительных сервисов обмена ключами, интеграция схемы Publish/Subscribe, хранение и поиск информации о событиях в СУБД.
  • В REST API добавлена поддержка аутентификации по ключам, помимо токенов JWT, а также обеспечена возможность задания политик хранения данных (ограничение времени жизни данных) в привязке к отдельным каталогам и пользователям. По умолчанию активирован интерфейс Swagger UI для навигации по ресурсам API без применения внешних утилит.
  • В web-интерфейс добавлена поддержка операций записи (загрузка файлов, создание каталогов, переименование и удаление), реализована возможность сброса пароля с подтверждением по email, интегрированы редактор текстовых файлов и просмотрщик PDF-документов. Добавлена возможность создания HTTP-ссылок для предоставления внешним пользователям доступа к отдельным файлам и каталогам, с возможностью задания отдельного пароля доступа, ограничения по IP-адресам, задания времени жизни ссылки и лимитирования числа загрузок.

Основные возможности SFTPGo:

  • Ар бир каттоо эсеби колдонуучунун үй каталогуна кирүү мүмкүнчүлүгүн чектеп, хроотталган. Колдонуучунун үй каталогунан тышкары маалыматтарга шилтеме берген виртуалдык каталогдорду түзсө болот.
  • Каттоо эсептери системанын колдонуучусунун маалымат базасына дал келбеген виртуалдык колдонуучу маалымат базасында сакталат. Колдонуучунун маалымат базасын сактоо үчүн SQLite, MySQL, PostgreSQL, bbolt жана эстутумдагы сактагыч колдонулушу мүмкүн. Виртуалдык жана тутумдук эсептерди картага түшүрүү үчүн мүмкүнчүлүктөр каралган - түз же кокус картага түшүрүү мүмкүн (системанын бир колдонуучусу башка виртуалдык колдонуучуга көрсөтүлүшү мүмкүн).
  • Ачык ачкычтарды, SSH ачкычтарын жана сырсөздөрдү колдонуу менен аутентификация колдоого алынат (анын ичинде клавиатурадан киргизилген сырсөз менен интерактивдүү аутентификация). Ар бир колдонуучу үчүн бир нече ачкычтарды байласа болот, ошондой эле көп факторлуу жана көп кадамдуу аутентификацияны орнотсо болот (мисалы, ачкычтын аутентификациясы ийгиликтүү өткөн учурда сырсөз кошумча суралышы мүмкүн).
  • Ар бир колдонуучу үчүн аутентификациянын ар кандай ыкмаларын конфигурациялоого, ошондой эле тышкы аутентификация программаларын чакыруу (мисалы, LDAP аркылуу аутентификация үчүн) же HTTP API аркылуу суроо-талаптарды жөнөтүү аркылуу ишке ашырылган өз ыкмаларыңызды аныктоого болот.
  • Возможно подключение внешних обработчиков или вызовов HTTP API для динамического изменения параметров пользователя, вызываемых перед входом пользователя. Поддерживается динамическое создание пользователей при подключении.
  • Маалыматтын көлөмү жана файлдардын саны үчүн жеке квоталарды колдойт.
  • Кирүүчү жана чыгуучу трафик үчүн чектөөлөрдү өзүнчө конфигурациялоо менен өткөрүү жөндөмдүүлүгүн чектөөнү колдоо, ошондой эле бир убактагы туташуулардын санын чектөө.
  • Колдонуучуга же каталогго карата иштеген мүмкүндүктү башкаруу куралдары (сиз файлдардын тизмесин көрүүнү чектей аласыз, жүктөөгө, жүктөөгө, кайра жазууга, жок кылууга, атын өзгөртүүгө же жетүү укуктарын өзгөртүүгө, каталогдорду же символикалык шилтемелерди түзүүгө тыюу салууга жана башкалар).
  • Ар бир колдонуучу үчүн, сиз жеке тармак чектөөлөрүн аныктай аласыз, мисалы, сиз белгилүү IP же субсеттерден кирүүгө гана уруксат бере аласыз.
  • Ал жеке колдонуучуларга жана каталогдорго карата жүктөлүп алынган мазмун үчүн туташтыргыч чыпкаларды колдойт (мисалы, сиз белгилүү бир кеңейтүү менен файлдарды жүктөөнү бөгөттөсөңүз болот).
  • Ар кандай операциялардын жүрүшүндө ишке киргизилген иштеткичтерди файл менен байланыштырууга болот (жүктөө, жок кылуу, атын өзгөртүү ж.б.). Чалуу иштеткичтеринен тышкары, HTTP сурамдары түрүндө эскертмелерди жөнөтүү колдоого алынат.
  • Жигердүү эмес байланыштарды автоматтык түрдө токтотуу.
  • Атом конфигурациясын байланыштарды үзбөстөн жаңыртуу.
  • Предоставление метрик для мониторинга в Prometheus.
  • HAProxy PROXY протоколу колдонуучунун булак IP дареги тууралуу маалыматты жоготпостон SFTP/SCP кызматтарына жүктөөнү балансташтыруу же прокси туташууларды уюштуруу үчүн колдоого алынат.
  • REST API для управления пользователями и каталогами, создания резервных копий и формирования отчётов об активных соединениях.
  • Web-интерфейс (http://127.0.0.1:8080/web) для настройки и мониторинга (поддерживается и настройка через обычные файлы конфигурации).
  • JSON, TOML, YAML, HCL жана envfile форматтарында орнотууларды аныктоо мүмкүнчүлүгү.
  • Поддержка подключения по SSH с ограниченным доступом к системным командам. Например, разрешён запуск команд, необходимых для работы Git (git-receive-pack, git-upload-pack, git-upload-archive) и rsync, а также нескольких встроенных команд (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy и sftpgo-remove).
  • Режим portable для совместного использования одного общего каталога с автоматической генерацией учётных данных для подключения, анонсируемых через multicast DNS.
  • Встроенная система профилирования для анализа производительности.
  • Упрощённый процесс миграции системных учётных записей Linux.
  • Хранение логов в формате JSON.
  • Поддержка виртуальных каталогов (например, содержимое определённого каталога можно отдавать не из локальной ФС, а из внешнего облачного хранилища).
  • Поддержка cryptfs для прозрачного шифрования данных на лету при сохранении в ФС и расшифровки при отдаче.
  • Поддержка проброса соединений к другим серверам SFTP.
  • Возможность использования SFTPGo в качестве SFTP-подсистемы для OpenSSH.
  • Возможность хранения учётных и конфиденциальных данных в зашифрованном виде с использованием KMS-серверов (Key Management Services), таких как Vault, GCP KMS, AWS KMS.

Source: opennet.ru

Комментарий кошуу