Megjelent az SFTPGo 2.5.0 verziója, amely lehetővé teszi a távoli fájlok elérését az SFTP, SCP/SSH, Rsync, HTTP és WebDav protokollokon keresztül, valamint a Git-tárolók elérhetőségét az SSH protokoll használatával. Az adatok lokális fájlrendszerből és Amazon S3, Google Cloud Storage és Azure Blob Storage kompatibilis külső tárolókból is elérhetők. Lehetséges az adatok titkosított formában való tárolása. A felhasználói adatbázis és a metaadatok tárolásához SQL támogatással rendelkező adatbázis-kezelők (mint például PostgreSQL, MySQL, SQLite, CockroachDB vagy bbolt) vagy kulcs/érték formátumú megoldások használhatók, de van lehetőség a metaadatok memóriában történő tárolására is, amely nem igényel külső adatbázis csatlakozást. A projekt kódja Go nyelven készült, GPLv3 licenc alatt terjesztve.
Az új verzióban:
- A webes felületen lehetőséget biztosítanak a hibaüzenetek eltüntetésére. Az adminisztrátor webes felületén támogatást kaptak az audit napló keresésére és az adatok exportálására, valamint megvalósították a listák kezelését. IP-címek és hálózatok, lehetőség nyílt az SMTP és az ACME és SFTP alapbeállítások konfigurálására. Az ügyfél webes felületén saját bejelentkezési formát alakítottak ki (a basic auth helyett), hozzáadták a fájlok másolásának műveletét, és eltávolították a feltöltési méretkorlátot.

- Hozzáadták a jelszóhasználati irányelvek támogatását, például meghatározhatók a jelszó megbízhatósági követelményei és a jelszó élettartama.
- Az EventManagerben lehetőséget biztosítanak a lejárt jelszavakról való értesítések megjelenítésére, megvalósították a másolási műveletet, és hozzáadták a előre hívott cselekvések (pre-*) és a bizonyos eseményeknél működő kezelők támogatását (például hozzáadtak egy kezelőt, amely bejelentkezéskor aktiválódik).
- Hozzáadták a felhasználók adminisztrátori jogainak biztosítását.
- A parancssori felületen parancsokat adtak hozzá az adminisztrátor jelszavának visszaállítására és a szolgáltatás működésének ellenőrzésére.
- Hozzáadták a feltételes operátorok támogatását a felhőszolgáltatók oldali fájlok tömeges átnevezése során.
- Hozzáadták a nyomon követés és automatikus újraindítás támogatását. TLS-tanúsítványok.
- Lehetőséget biztosítanak saját MIME-típusok definiálására a WebDAV számára.
- SSH-hoz alapértelmezetten engedélyezve van az interaktív hitelesítés billentyűzet használatával.
- A hordozható módban lehetőség nyílt a jelszavak fájlból való betöltésére.
- Kísérleti támogatás került bevezetésre a Terraform szolgáltatáshoz.
Az SFTPGo főbb funkciói:
- Minden felhasználói fiók esetében chroot elszigetelési mód alkalmazható, amely korlátozza a felhasználó otthoni könyvtárához való hozzáférést. Lehetséges virtuális könyvtárakat létrehozni, amelyek kívül eső adatokra mutatnak a felhasználó otthoni könyvtárán.
- A fiókok egy virtuális felhasználói adatbázisban tárolódnak, amely nem ütközik a rendszer felhasználói adatbázisával. A felhasználói adatbázis tárolásához SQLite, MySQL, PostgreSQL, bbolt és memória alapú tárolás alkalmazható. Eszközök állnak rendelkezésre a virtuális és rendszer felhasználói fiókok összepárosítására — közvetlen vagy önkényes párosítás lehetséges (egy rendszer felhasználó egy másik virtuális felhasználóhoz rendelhető).
- Támogatott a kulcsalapú hitelesítés, SSH kulcsok és jelszavak (beleértve az interaktív hitelesítést a billentyűzeten beírt jelszóval). Lehetséges több kulcs bindelése minden felhasználóhoz, valamint többlépcsős és multi-faktoros hitelesítés beállítása (például, ha a kulcssal végzett hitelesítés sikeres, akkor további jelszó megadása is kérhető).
- Minden felhasználó esetében különböző hitelesítési módszerek konfigurálhatók, valamint saját módszerek definiálhatók, amelyek külső hitelesítő programok meghívásán (például LDAP hitelesítéshez) vagy HTTP API-n keresztül küldött kéréseken keresztül valósulnak meg.
- Lehetőség van külső kezelők vagy HTTP API hívások csatlakoztatására a felhasználói paraméterek dinamikus módosításához, amelyek a felhasználó belépése előtt aktiválódnak. Támogatja a felhasználók dinamikus létrehozását a csatlakozáskor.
- Támogatás egyedi kvótákra az adatok méretére és a fájlok számára.
- Támogatás sávszélesség-korlátozásra, külön beállításokkal a bejövő és kimenő forgalom számára, valamint a párhuzamos kapcsolatok számának korlátozására.
- Hozzáférés-ellenőrzési eszközök, amelyek felhasználóhoz vagy könyvtárhoz kötődnek (lehetséges a fájlok listájának megtekintésének korlátozása, feltöltés, letöltés, átnevezés, törlés, jogok módosítása, könyvtárak vagy szimbolikus linkek létrehozásának tilalma stb.).
- Minden felhasználó számára egyedi hálózati korlátozások határozhatók meg, például engedélyezhető a csatlakozás csak meghatározott IP-kről vagy alhálózatokról.
- Támogatott a bekapcsolt tartalomszűrők csatlakoztatása egyes felhasználókhoz és könyvtárakhoz (például lehetséges bizonyos kiterjesztésű fájlok feltöltésének blokkolása).
- Lehetséges kezelők hozzárendelése, amelyeket különböző fájlműveletek (feltöltés, törlés, átnevezés stb.) esetén indítanak. A kezelők meghívása mellett HTTP-kérések formájában értesítések küldése is támogatott.
- Automatikus megszakítás a tétlen kapcsolatokról.
- Atomikus konfigurációfrissítés kapcsolatmegszakítás nélkül.
- Metrikák biztosítása a Prometheus monitorozásához.
- Támogatta a HAProxy PROXY protokollt a terheléselosztás vagy a SFTP/SCP szolgáltatásokhoz való kapcsolódás megszervezésére anélkül, hogy elvesznének a felhasználó eredeti IP-címének adatai.
- REST API a felhasználók és könyvtárak kezelésére, biztonsági mentések készítésére és az aktív kapcsolatokról készült jelentések generálására.
- Webes felület (http://127.0.0.1:8080/web) a beállításhoz és monitorozáshoz (a hagyományos konfigurációs fájlokon keresztüli beállítás is támogatott).

- Lehetőség beállítások megadására JSON, TOML, YAML, HCL és envfile formátumokban.
- SSH kapcsolatok korlátozott hozzáféréssel a rendszer parancsaihoz. Például engedélyezett a Git működéséhez szükséges parancsok (git-receive-pack, git-upload-pack, git-upload-archive) és rsync, valamint néhány beépített parancs (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy és sftpgo-remove) futtatása.
- Portable mód egy közös könyvtár megosztására automatikus csatlakozási hitelesítő adatok generálásával, amelyeket multicast DNS-en keresztül hirdet.
- Beépített profilosító rendszer a teljesítmény elemzésére.
- Egyszerűsített folyamat a Linux rendszerfelhasználók migrálásához.
- A naplók tárolása JSON formátumban.
- Virtuális könyvtárak támogatása (például egy adott könyvtár tartalmát nem a helyi fájlrendszerből, hanem egy külső felhő tárolóból lehet szolgáltatni).
- A cryptfs támogatása az adatok átlátható titkosítására menet közben, a fájlrendszerbe mentéskor és a kiadáskor történő visszafejtéskor.
- Kapcsolatok továbbításának támogatása más SFTP szerverekhez.
- Lehetőség az SFTPGo használatára az OpenSSH SFTP-alrendszereként.
- A felhasználói és bizalmas adatok titkosítva tárolhatók KMS szerverek (Key Management Services) használatával, mint például Vault, GCP KMS, AWS KMS.
- Támogatja a kétfaktoros hitelesítést ideiglenes jelszavak (TOTP, RFC 6238) használatával. Hitelesítőként olyan alkalmazások alkalmazhatók, mint az Authy és a Google Authenticator.
- Funkcionalitás bővítése pluginek által. Például elérhetők olyan pluginek, amelyek támogatják a további kulcsszolgáltatásokat, a Publish/Subscribe séma integrációját, valamint az események adatbázisban való tárolását és keresését.
Forrás: opennet.ru


