SFTPGo 2.2.0 SFTP-serverversion

Utgivningen av SFTPGo 2.2-servern har publicerats, som låter dig organisera fjärråtkomst till filer med hjälp av SFTP-, SCP/SSH-, Rsync-, HTTP- och WebDav-protokollen. SFTPGo kan bland annat användas för att ge åtkomst till Git-repositories med hjälp av SSH-protokollet. Data kan överföras både från det lokala filsystemet och från externa lagringar som är kompatibla med Amazon S3, Google Cloud Storage och Azure Blob Storage. Det är möjligt att lagra data i krypterad form. För att lagra användardatabasen och metadata används DBMS med stöd för SQL eller nyckel/värde-format, såsom PostgreSQL, MySQL, SQLite, CockroachDB eller bbolt, men det går även att lagra metadata i RAM, vilket inte kräver att man kopplar en extern databas. Projektkoden är skriven i Go och distribueras under GPLv3-licensen.

I den nya versionen:

  • Lade till stöd för tvåfaktorsautentisering med tidsbegränsade engångslösenord (TOTP, RFC 6238). Applikationer som Authy och Google Authenticator kan användas som autentiseringsverktyg.
  • Möjligheten att utöka funktionaliteten genom plugins har implementerats. Bland de redan tillgängliga plugins: stöd för ytterligare nyckelutbytestjänster, integration av Publicerings-/Prenumerationsschemat, lagring och sökning av information om händelser i DBMS.
  • REST API har lagt till stöd för autentisering med hjälp av nycklar, förutom JWT-tokens, och ger även möjlighet att ställa in datalagringspolicyer (begränsar datas livslängd) i förhållande till enskilda kataloger och användare. Som standard är Swagger UI aktiverat för att navigera i API-resurser utan att använda externa verktyg.
  • Stöd för skrivoperationer har lagts till i webbgränssnittet (ladda upp filer, skapa kataloger, byta namn och ta bort), möjligheten att återställa ett lösenord med bekräftelse via e-post har implementerats, en textfilredigerare och en PDF-dokumentvisare har integrerats. Lade till möjligheten att skapa HTTP-länkar för att ge externa användare tillgång till enskilda filer och kataloger, med möjligheten att ställa in ett separat åtkomstlösenord, begränsa IP-adresser, ställa in länkens livslängd och begränsa antalet nedladdningar.

Huvudfunktioner i SFTPGo:

  • Varje konto är chrooted, vilket begränsar åtkomsten till användarens hemkatalog. Det är möjligt att skapa virtuella kataloger som refererar till data utanför användarens hemkatalog.
  • Konton lagras i en virtuell användardatabas som inte överlappar systemets användardatabas. SQLite, MySQL, PostgreSQL, bbolt och lagring i minnet kan användas för att lagra användardatabaser. Det finns faciliteter för att kartlägga virtuella konton och systemkonton - antingen direkt eller slumpmässig mappning är möjlig (en systemanvändare kan mappas till en annan virtuell användare).
  • Autentisering med offentliga nycklar, SSH-nycklar och lösenord stöds (inklusive interaktiv autentisering med ett lösenord som anges från tangentbordet). Det är möjligt att binda flera nycklar för varje användare, samt ställa in multifaktor- och flerstegsautentisering (till exempel, vid framgångsrik nyckelautentisering kan ett lösenord begäras ytterligare).
  • För varje användare är det möjligt att konfigurera olika autentiseringsmetoder, samt definiera egna metoder, implementerade genom att anropa externa autentiseringsprogram (till exempel för autentisering via LDAP) eller skicka förfrågningar via HTTP API.
  • Det är möjligt att ansluta externa hanterare eller HTTP API-anrop för att dynamiskt ändra användarparametrar, anropade innan användaren loggar in. Dynamiskt skapande av användare vid anslutning stöds.
  • Stöder individuella kvoter för datastorlek och antal filer.
  • Stöd för bandbreddsbegränsning med separat konfiguration av begränsningar för inkommande och utgående trafik, samt begränsningar av antalet samtidiga anslutningar.
  • Åtkomstkontrollverktyg som fungerar i relation till en användare eller katalog (du kan begränsa visningen av en lista med filer, förbjuda uppladdning, nedladdning, överskrivning, radering, byta namn på eller ändra åtkomsträttigheter, förbjuda skapandet av kataloger eller symboliska länkar, etc.).
  • För varje användare kan du definiera individuella nätverksbegränsningar, till exempel kan du bara tillåta inloggningar från vissa IP-adresser eller subnät.
  • Den stöder anslutningsfilter för nedladdat innehåll i förhållande till enskilda användare och kataloger (du kan till exempel blockera nedladdning av filer med en viss förlängning).
  • Det är möjligt att binda hanterare som startas under olika operationer med en fil (ladda ner, ta bort, byta namn, etc.). Förutom att anropa hanterare stöds att skicka aviseringar i form av HTTP-förfrågningar.
  • Automatisk avslutning av inaktiva anslutningar.
  • Atomic konfigurationsuppdatering utan att bryta anslutningar.
  • Tillhandahåller mätvärden för övervakning i Prometheus.
  • HAProxy PROXY-protokollet stöds för att organisera lastbalansering eller proxyanslutningar till SFTP/SCP-tjänster utan att förlora information om användarens käll-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 (konfiguration via vanliga konfigurationsfiler stöds också).
  • Möjlighet att definiera inställningar i JSON, TOML, YAML, HCL och envfile format.
  • Stöd för anslutning via SSH med begränsad tillgång till systemkommandon. Till exempel är det tillåtet att köra kommandon som är nödvändiga 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).
  • Bärbart läge för att dela en gemensam katalog med automatisk generering av anslutningsuppgifter som annonseras via multicast-DNS.
  • Inbyggt profileringssystem för prestandaanalys.
  • Förenklad process för att migrera Linux-systemkonton.
  • Lagra loggar i JSON-format.
  • Stöd för virtuella kataloger (till exempel kan innehållet i en viss katalog serveras inte från den lokala FS, utan från en extern molnlagring).
  • Cryptfs-stöd för transparent on-the-fly-kryptering av data när du sparar till FS och dekryptering när du returnerar.
  • Stöd för vidarebefordran av anslutningar till andra SFTP-servrar.
  • Möjlighet att använda SFTPGo som ett SFTP-undersystem för OpenSSH.
  • Möjligheten att lagra autentiseringsuppgifter och konfidentiell data i krypterad form med hjälp av KMS-servrar (Key Management Services), såsom Vault, GCP KMS, AWS KMS.

Källa: opennet.ru

Lägg en kommentar