Опубликован выпуск сервера SFTPGo 2.5.0, позволяющего организовать удалённый доступ к файлам при помощи протоколов SFTP, SCP/SSH, Rsync, HTTP и WebDav, а также для предоставления доступа к Git-репозиториям, используя протокол SSH. Данные могут отдаваться как с локальной файловой системы, так и из внешних хранилищ, совместимых с Amazon S3, Google Cloud Storage и Azure Blob Storage. Возможно хранение данных в зашифрованном виде. Для хранения пользовательской базы и метаданных используются СУБД с поддержкой SQL или формата ключ/значение, такие как PostgreSQL, MySQL, SQLite, CockroachDB или bbolt, но имеется и возможность хранения метаданных в оперативной памяти, не требующая подключения внешней БД. Код проекта написан на языке Go и распространяется под лицензией GPLv3.
Në versionin e ri:
- В web-интерфейсе предоставлена возможность закрытия сообщений об ошибках. В web-интерфейсе для администратора добавлена поддержка поиска в логе аудита и экспорта данных из него, реализовано управление списками IP-adresat и сетей, предоставлена возможность настройки SMTP и типовых параметров ACME и SFTP. В клиентском web-интерфейсе реализована собственная форма входа (вместо basic auth), добавлена операций копирования и убрано ограничение на размер загрузок.

- Добавлена поддержка политик использования паролей, например, можно определить требования к надёжности пароля и задать время жизни пароля.
- В EventManager добавлена возможность вывода уведомлений о просроченных паролях, реализована операция копирования, добавлена поддержка предварительно вызываемых действий (pre-*) и обработчиков, срабатывающих при определённых действиях (например, добавлен обработчик, вызываемый при входе пользователя).
- Добавлена возможность предоставления пользователям прав администратора.
- В интерфейс командной строки добавлены команды для сброса пароля администратора и проверки работоспособности сервиса.
- Добавлена поддержка условных операторов при выполнении массового переименования файлов на стороне облачных провайдеров.
- Добавлена поддержка отслеживания и автоматической перезагрузки TLS-sertifikata.
- Добавлена возможность определеения собственных MIME-типов для WebDAV.
- Для SSH включена по умолчанию интерактивная аутентификация с использованием клавиатуры.
- В переносимом режиме появилась возможность загрузки паролей из файла.
- Добавлена экспериментальная поддержка сервиса Terraform.
Funksionalitetet kryesore të SFTPGo:
- Për çdo llogari aplikohet izolimi chroot, i cili kufizon aksesin në katalogun e përdoruesit. Është e mundur të krijohen katalogë virtualë që referohen në të dhënat jashtë katalogut të përdoruesit.
- Llogaritë ruhen në një bazë virtuale të përdoruesve, e cila nuk ndërthuret me bazën e të dhënave sistemore. Për ruajtjen e bazës së të dhënave të përdoruesve mund të përdoren SQLite, MySQL, PostgreSQL, bbolt dhe ruajtje në memorje. Sigurohen mjete për përputhjen e llogarive virtuale dhe atyre sistemore – është e mundur përputhja direkte ose arbitrare (një përdorues i sistemit mund të jetë i përputhur me një përdorues tjetër virtual).
- Përkrahja e autentikimit me çelësa publikë, çelësa SSH dhe fjalëkalime (përfshirë autentikimin interaktiv me hyrje të fjalëkalimit nga tastiera). Mund të lidhen disa çelësa për çdo përdorues, si dhe të konfigurohet autentikimi me shumë faktorë dhe shumë hapa (për shembull, në rastin e një autentikimi të suksesshëm me çelës, mund të kërkohet një fjalëkalim shtesë).
- Për çdo përdorues është e mundur të konfigurohen metoda të ndryshme autentikimi, si dhe të përcaktohen metoda të veta që realizohen përmes thirrjes së programeve të jashtme autentikues (për shembull, për autentikimin përmes LDAP) ose dërgimit të kërkesave përmes HTTP API.
- Është e mundur të lidhen përpunues të jashtëm ose thirrje HTTP API për të ndryshuar dinamikisht parametrat e përdoruesve, të thirrura para hyrjes së përdoruesit. Përkrahja e krijimit dinamik të përdoruesve gjatë lidhjes.
- Përkrahja e kuotave individuale për madhësinë e të dhënave dhe numrin e skedarëve.
- Përkrahja e kufizimit të kapacitetit me konfigurim të veçantë për kufizimet e trafikut hyrës dhe dalës, si dhe kufizimeve për numrin e lidhjeve të njëkohshme.
- Mjete për ndarjen e aksesit, që veprojnë në lidhje me përdoruesin ose katalogun (mund të kufizohet shikimi i listës së skedarëve, të ndalohet ngarkimi, shkarkimi, rishkrimi, fshirja, rinovimi ose ndryshimi i të drejtave të aksesit, të ndalohet krijimi i katalogëve ose lidhjeve simbolike, etj.).
- Për çdo përdorues mund të përcaktohen kufizime individuale rrjeti, për shembull, mund të lejohet akses vetëm nga disa IP ose nënrrjeta të caktuara.
- Mbështetet lidhja e filtrave të përmbajtjes së ngarkuar në lidhje me përdorues të veçantë dhe katalogë (p.sh., mund të bllokoni ngarkimin e skedarëve me një prapashtesë të caktuar).
- Mundësia e lidhjes së menaxherëve që aktivizohen gjatë operacioneve të ndryshme me skedarin (ngarkim, fshirje, rinovim, etj.). Përveç thirrjes së menaxherëve, mbështetet dërgimi i njoftimeve në formën e kërkesave HTTP.
- Automatizimi i përfundimit të lidhjeve të paaktivizuara.
- Përditësimi atomar i konfigurimit pa ndërprerë lidhjet.
- Sigurimi i metrikave për monitorim në Prometheus.
- Mbështetet protokolli HAProxy PROXY për organizimin e balansimit të ngarkesës ose për proksimin e lidhjeve në shërbimet SFTP/SCP pa humbur informacionin mbi IP-në origjinale të përdoruesit.
- REST API për menaxhimin e përdoruesve dhe katalogëve, krijimin e kopjeve rezervë dhe formimin e raporteve mbi lidhjet aktive.
- Web-interfata (http://127.0.0.1:8080/web) për konfigurimin dhe monitorimin (mbështetet gjithashtu konfigurimi përmes skedave të zakonshme të konfigurimit).

- Mundësia e përcaktimit të konfigurimeve në formate JSON, TOML, YAML, HCL dhe envfile.
- Mbështetje për lidhjen përmes SSH me qasje të kufizuar në komandat sistemike. Për shembull, është e lejuar ekzekutimi i komandave të nevojshme për funksionimin e Git (git-receive-pack, git-upload-pack, git-upload-archive) dhe rsync, si dhe disa komanda të ndërtuara brenda (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy dhe sftpgo-remove).
- Modaliteti portable për ndarjen e një katalogu të përbashkët me gjenerimin automatik të kredencialeve për lidhje, të shpallura nëpërmjet multicast DNS.
- Sistemi i integruar i profilizimit për analizën e performancës.
- Proces i thjeshtëzuar i migrimit të llogarive sistemike Linux.
- Ruajtja e logëve në formatin JSON.
- Mbështetje për katalogët virtualë (p.sh., përmbajtja e një katalogu të caktuar mund të merret jo nga FS lokale, por nga një ruajtje e jashtme në re).
- Mbështetje për cryptfs për enkriptimin transparent të të dhënave në letër gjatë ruajtjes në FS dhe dekriptimin kur dorëzohet.
- Mbështetje për kalimin e lidhjeve në servera të tjerë SFTP.
- Mundësia e përdorimit të SFTPGo si një nënsi SFTP për OpenSSH.
- Mundësia e ruajtjes së të dhënave të llogarive dhe informacionit të ndjeshëm në formë të enkriptuar duke përdorur serverë KMS (Shërbimet e Menaxhimit të Çelësave), siç janë Vault, GCP KMS, AWS KMS.
- Поддержка двухфакторной аутентификации с использованием одноразовых паролей с ограниченным временем жизни (TOTP, RFC 6238). В качестве аутентификаторов могут использоваться такие приложения, как Authy и Google Authenticator.
- Расширение функциональности через плагины. Например доступны плагины с поддержкой дополнительных сервисов обмена ключами, интеграции схемы Publish/Subscribe, хранения и поиска информации о событиях в СУБД.
Burimi: opennet.ru


