Version 2.2 av SFTPGo-servern har publicerats, vilket möjliggör fjÀrrÄtkomst till filer via protokollen SFTP, SCP/SSH, Rsync, HTTP och WebDav. SFTPGo kan ocksÄ anvÀndas för att ge Ätkomst till Git-repositorier med hjÀlp av SSH-protokollet. Data kan hÀmtas bÄde frÄn det lokala filsystemet och frÄn externa lagringslösningar som Àr kompatibla med Amazon S3, Google Cloud Storage och Azure Blob Storage. Det finns möjlighet att lagra data i krypterad form. För lagring av anvÀndardata och metadata anvÀnds databaser som stöder SQL eller nyckel/vÀrde-format, sÄsom PostgreSQL, MySQL, SQLite, CockroachDB eller bbolt, men det finns Àven möjlighet att lagra metadata i minnet, utan att ansluta till en extern databas. Projektets kod Àr skriven i Go och distribueras under GPLv3-licens.
I den nya versionen:
- Stöd för tvÄfaktorsautentisering med engÄngslösenord med begrÀnsad livslÀngd (TOTP, RFC 6238) har lagts till. Applikationer som Authy och Google Authenticator kan anvÀndas som autentiserare.
- Möjlighet att utöka funktionaliteten via plugins har implementerats. Bland de redan tillgÀngliga plugins finns stöd för ytterligare tjÀnster för nyckelutbyte, integration av Publish/Subscribe-schema, samt lagring och sökning av hÀndelseinformation i databaser.
- Stöd för autentisering med nycklar har lagts till i REST API, utöver JWT-token, och det har Àven införts möjlighet att specificera datalagringspolicys (begrÀnsningar för datalivslÀngd) kopplade till specifika kataloger och anvÀndare. Swagger UI-grÀnssnittet aktiveras som standard för att navigera bland API-resurser utan att anvÀnda externa verktyg.
- WebgrÀnssnittet har utökats med stöd för skrivoperationer (uppladdning av filer, skapande av kataloger, omnamn och radering), samt möjlighet att ÄterstÀlla lösenord med bekrÀftelse via e-post, en integrerad textredigerare och en PDF-dokumentvisare. Möjligheten att skapa HTTP-lÀnkar för att ge externa anvÀndare Ätkomst till specifika filer och kataloger har lagts till, med möjlighet att ange ett separat Ätkomstlösenord, tidsbegrÀnsning för lÀnken och begrÀnsning av antalet nedladdningar. IP-adresser, ange livslÀngden för lÀnken och begrÀnsa antal nedladdningar.
Huvudfunktioner i SFTPGo:
- Chroot-isolering tillÀmpas för varje anvÀndarkonto, vilket begrÀnsar tillgÄngen till anvÀndarens hemkatalog. Virtuella kataloger kan skapas som hÀnvisar till data utanför anvÀndarens hemkatalog.
- AnvĂ€ndarkonton lagras i en virtuell anvĂ€ndardatabas som inte överlappar med systemets anvĂ€ndardatabas. SQLite, MySQL, PostgreSQL, bbolt och minneslagring kan anvĂ€ndas för att lagra anvĂ€ndardatabasen. Verktyg för att mappa virtuella och systemanvĂ€ndarkonton erbjuds â direkt eller godtycklig mapping (en systemanvĂ€ndare kan knytas till en annan virtuell anvĂ€ndare).
- Stöd för autentisering med offentliga nycklar, SSH-nycklar och lösenord (inklusive interaktiv autentisering med tangentbordsinmatning av lösenord). Flera nycklar kan kopplas till varje anvÀndare, liksom instÀllning av flerfaktors- och flertrinsautentisering (till exempel kan ett lösenord begÀras efter framgÄngsrik autentisering med nyckel).
- För varje anvÀndare kan olika autentiseringsmetoder konfigureras, samt egna metoder definieras genom anrop av externa autentiseringprogram (till exempel för autentisering via LDAP) eller genom att skicka förfrÄgningar via HTTP API.
- Anslutning av externa handlare eller HTTP API-anrop för dynamisk Àndring av anvÀndarens parametrar kan göras före inloggningen. Dynamisk anvÀndarskapande vid anslutning stöds.
- Stöd för individuella kvoter för datamÀngd och antal filer.
- Stöd för att begrÀnsa bandbredd med separata instÀllningar för inkommande och utgÄende trafik, samt begrÀnsningar för antal samtidiga anslutningar.
- à tkomstkontrollverktyg som fungerar kopplade till anvÀndare eller kataloger (möjlighet att begrÀnsa visning av fillistor, förbjuda uppladdning, nedladdning, överskrivning, borttagning, omdöpning eller Àndring av rÀttigheter, förbjuda skapande av kataloger eller symboliska lÀnkar, etc.).
- För varje anvÀndare kan individuella nÀtverksbegrÀnsningar definieras, till exempel kan endast Ätkomst frÄn specifika IP-adresser eller subnÀt tillÄtas.
- Stöd för att koppla belastningsfiltrering av innehÄll till specifika anvÀndare och kataloger (till exempel kan uppladdning av filer med specifika filÀndelser blockeras).
- Det Àr möjligt att koppla hanterare som utlöses vid olika filoperationer (uppladdning, radering, omdöpning osv.). Förutom att kalla hanterare stöds Àven att skicka meddelanden i form av HTTP-förfrÄgningar.
- Automatisk avslutning av inaktiva anslutningar.
- AtomÀr uppdatering av konfigurationen utan att bryta anslutningar.
- TillhandahÄllande av metrik för övervakning i Prometheus.
- Stöd för HAProxy PROXY-protokollet för att organisera lastbalansering eller proxy-anslutningar till SFTP/SCP-tjÀnster utan att tappa information om anvÀndarens ursprungliga IP-adress.
- REST API för att hantera anvÀndare och kataloger, skapa sÀkerhetskopior och generera rapporter om aktiva anslutningar.
- WebbgrÀnssnitt (http://127.0.0.1:8080/web) för konfiguration och övervakning (stöd för konfiguration Àven via vanliga konfigurationsfiler).
- Möjlighet att definiera instÀllningar i formaten JSON, TOML, YAML, HCL och envfile.
- Stöd för SSH-anslutning med begrÀnsad Ätkomst till systemkommandon. Till exempel Àr det tillÄtet att köra kommandon som krÀvs för Git (git-receive-pack, git-upload-pack, git-upload-archive) och rsync, samt flera inbyggda kommandon (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy och sftpgo-remove).
- Portable-lÀge för delning av en gemensam katalog med automatisk generering av autentiseringsuppgifter för anslutning, annonserade via multicast DNS.
- Inbyggt profileringssystem för prestandaanalys.
- Förenklad process för migrering av systemanvÀndarkonton i Linux.
- Lagring av loggar i JSON-format.
- Stöd för virtuella kataloger (till exempel kan innehÄllet i en specifik katalog levereras inte frÄn det lokala filsystemet, utan frÄn extern molnlagring).
- Stöd för cryptfs för transparent kryptering av data i farten nÀr de sparas pÄ filsystemet och dekryptering vid leverans.
- Stöd för anslutningsgenomströmning till andra SFTP-servrar.
- Möjlighet att anvÀnda SFTPGo som en SFTP-understruktur för OpenSSH.
- Möjlighet att lagra bokförings- och konfidentiella uppgifter i krypterad form med hjÀlp av KMS-servrar (Key Management Services), sÄsom Vault, GCP KMS, AWS KMS.
KĂ€lla: opennet.ru
