SFTPGo 1.0 SFTP-serverversion

Den första betydande releasen av servern ägde rum SFTPGo 1.0, som låter dig organisera fjärråtkomst till filer med SFTP-, SCP/SSH- och Rsync-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 extern lagring som är kompatibel med Amazon S3 och Google Cloud Storage. 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 9.4+, MySQL 5.6+, SQLite 3.x eller bbolt 1.3.x. Det finns också ett läge för att lagra metadata i RAM, vilket inte kräver att en extern databas ansluts. Projektkoden är skriven i Go och levererad av licensierad under GPLv3.

Huvudfunktioner:

  • 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. Stöds dynamisk skapa användare vid anslutning.
  • 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 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.
  • Support anslutningar 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).
  • regim portabel att dela en gemensam katalog med automatisk generering av anslutningsuppgifter som annonseras via multicast DNS.
  • Inbyggda system profilering för resultatanalys.
  • Förenklat process migrering av Linux-systemkonton.
  • Förvaring loggar i JSON-format.

Källa: opennet.ru

Lägg en kommentar