Është publikuar versioni i serverit SFTPGo 2.5.0, i cili lejon qasje të largët në skedarët përmes protokolleve SFTP, SCP/SSH, Rsync, HTTP dhe WebDav, si dhe për të ofruar qasje në depozitë Git duke përdorur protokollin SSH. Të dhënat mund të merren si nga sistemi lokal i skedarëve ashtu edhe nga ruajtjet e jashtme të përshtatshme me Amazon S3, Google Cloud Storage dhe Azure Blob Storage. Është e mundur ruajtja e të dhënave në formë të koduar. Për ruajtjen e bazës së të dhënave të përdoruesve dhe metadatat përdoren DBMS me mbështetje SQL apo formati çelës/vlerë, si PostgreSQL, MySQL, SQLite, CockroachDB ose bbolt, por ka edhe mundësi për të ruajtur metadatat në memorie, të cilat nuk kërkojnë lidhje me një DB të jashtme. Kodi i projektit është shkruar në gjuhën Go dhe shpërndahet nën licencën GPLv3.
Në versionin e ri:
- Në ndërfaqen web është ofruar mundësia për të mbyllur mesazhet e gabimeve. Në ndërfaqen web për administratorët është shtuar mbështetje për kërkimin në logun e auditi dhe eksportimin e të dhënave nga ai, është realizuar menaxhimi i listave. IP-adresat dhe rrjetet, është ofruar mundësia për konfigurimin e SMTP dhe parametrave standardë ACME dhe SFTP. Në ndërfaqen web të klientëve është realizuar një formë e vetme hyrjeje (në vend të basic auth), janë shtuar operacione kopjimi dhe është hequr kufizimi në madhësinë e ngarkesave.

- Është shtuar mbështetje për politikat e përdorimit të fjalëkalimeve, për shembull, mund të përcaktohen kërkesat për besueshmërinë e fjalëkalimit dhe të vendoset koha e jetës së fjalëkalimit.
- Në EventManager është shtuar mundësia për të ofruar njoftime për fjalëkalimet e skaduara, është realizuar operacioni i kopjimit, është shtuar mbështetje për veprimet e thirrura paraprakisht (pre-*) dhe për përpunuesit që aktivizohen gjatë veprimeve të caktuara (p.sh., është shtuar një përpunues që aktivizohet gjatë hyrjes së përdoruesit).
- Është shtuar mundësia për të ofruar përdoruesve të drejtat e administratorit.
- Në ndërfaqen e komandës janë shtuar komandat për të rikuperuar fjalëkalimin e administratorit dhe për të kontrolluar funksionimin e shërbimit.
- Është shtuar mbështetje për operatorët kushtorë gjatë kryerjes së rinovimeve masive të skedarëve në anën e ofruesve të cloud-it.
- Është shtuar mbështetje për ndjekjen dhe rindizjen automatike. TLS-sertifikata.
- Është shtuar mundësia për të përcaktuar MIME-typet e veta për WebDAV.
- Për SSH është aktivizuar si default autentifikimi interaktiv duke përdorur tastaturën.
- Në modalitetin e переносимом, tani është e mundur të ngarkoni fjalëkalimet nga një skedar.
- Shtuar mbështetje eksperimentale për shërbimin 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.
- Mbështetje për autentifikimin me dy faktorë duke përdorur fjalëkalime njëherëshe me jetë të kufizuar (TOTP, RFC 6238). Aplikacione si Authy dhe Google Authenticator mund të përdoren si autentifikues.
- Zgjerimi i funksionalitetit përmes plug-in-eve. Për shembull, janë të disponueshme plug-in-e me mbështetje për shërbime shtesë të këmbimit të çelësave, integrimin e skemës Publish/Subscribe, ruajtjen dhe kërkimin e informacionit mbi ngjarjet në DBMS.
Burimi: opennet.ru


