Utgivelse av SFTP Server SFTPGo 2.2.0

Utgivelsen av SFTPGo 2.2-serveren er publisert, som lar deg organisere ekstern tilgang til filer ved hjelp av SFTP, SCP/SSH, Rsync, HTTP og WebDav-protokollene. SFTPGo kan blant annet brukes til å gi tilgang til Git-depoter ved å bruke SSH-protokollen. Data kan overføres både fra det lokale filsystemet og fra eksterne lagringer som er kompatible med Amazon S3, Google Cloud Storage og Azure Blob Storage. Det er mulig å lagre data i kryptert form. For å lagre brukerdatabasen og metadata brukes DBMS-er med støtte for SQL eller nøkkel/verdi-format, som PostgreSQL, MySQL, SQLite, CockroachDB eller bbolt, men det er også mulig å lagre metadata i RAM, som ikke krever tilkopling av en ekstern database. Prosjektkoden er skrevet i Go og distribuert under GPLv3-lisensen.

I den nye versjonen:

  • Lagt til støtte for tofaktorautentisering ved bruk av tidsbegrensede engangspassord (TOTP, RFC 6238). Apper som Authy og Google Authenticator kan brukes som autentiseringer.
  • Muligheten til å utvide funksjonaliteten gjennom plugins er implementert. Blant de allerede tilgjengelige pluginene: støtte for ytterligere nøkkelutvekslingstjenester, integrasjon av Publish/Subscribe-ordningen, lagring og søk etter informasjon om hendelser i DBMS.
  • REST API har lagt til støtte for autentisering ved bruk av nøkler, i tillegg til JWT-tokens, og gir også muligheten til å angi datalagringspolicyer (begrenser levetiden til data) i forhold til individuelle kataloger og brukere. Som standard er Swagger UI aktivert for å navigere i API-ressurser uten å bruke eksterne verktøy.
  • Støtte for skriveoperasjoner er lagt til webgrensesnittet (laste opp filer, lage kataloger, gi nytt navn og slette), muligheten til å tilbakestille et passord med bekreftelse på e-post er implementert, en tekstfilredigerer og en PDF-dokumentviser er integrert. Lagt til muligheten til å lage HTTP-koblinger for å gi eksterne brukere tilgang til individuelle filer og kataloger, med muligheten til å angi et eget tilgangspassord, begrense IP-adresser, angi koblingens levetid og begrense antall nedlastinger.

Hovedtrekk ved SFTPGo:

  • Hver konto er chrootet, noe som begrenser tilgangen til brukerens hjemmekatalog. Det er mulig å lage virtuelle kataloger som refererer til data utenfor brukerens hjemmekatalog.
  • Kontoer lagres i en virtuell brukerdatabase som ikke krysser systemets brukerdatabase. SQLite, MySQL, PostgreSQL, bbolt og lagring i minnet kan brukes til å lagre brukerdatabaser. Midler er gitt for å kartlegge virtuelle og systemkontoer - direkte eller vilkårlig kartlegging er mulig (en systembruker kan tilordnes en annen virtuell bruker).
  • Offentlig nøkkel, SSH-nøkkel og passordautentisering støttes (inkludert interaktiv autentisering med tastaturpassord). Det er mulig å binde flere nøkler for hver bruker, samt sette opp multifaktor- og flertrinnsautentisering (for eksempel, i tilfelle vellykket nøkkelautentisering, kan et passord i tillegg bli bedt om).
  • Det er mulig å konfigurere ulike autentiseringsmetoder for hver bruker, samt definere sine egne metoder implementert ved å kalle eksterne autentiseringsprogrammer (for eksempel for autentisering via LDAP) eller sende forespørsler via HTTP API.
  • Det er mulig å koble til eksterne behandlere eller HTTP API-anrop for å dynamisk endre brukerinnstillingene som kalles opp før brukeren logger på. Dynamisk oppretting av brukere ved tilkobling støttes.
  • Støtte for individuelle kvoter for datastørrelse og antall filer.
  • Støtte for båndbreddebegrensning med egne innstillinger for grenser for innkommende og utgående trafikk, samt grenser for antall samtidige forbindelser.
  • Tilgangskontrollverktøy som virker i forhold til en bruker eller katalog (du kan begrense visningen av listen over filer, forby opplasting, nedlasting, overskriving, sletting, gi nytt navn eller endre tilgangsrettigheter, forby opprettelse av kataloger eller symbolske lenker, etc.).
  • For hver bruker kan du definere individuelle nettverksbegrensninger, for eksempel kan du bare tillate tilgang fra visse IP-er eller undernett.
  • Den støtter tilkobling av filtre for nedlastbart innhold i forhold til individuelle brukere og kataloger (du kan for eksempel blokkere nedlasting av filer med en viss utvidelse).
  • Du kan binde behandlere som startes under ulike operasjoner med filen (laster, sletter, gir nytt navn osv.). I tillegg til å ringe behandlere, støttes sending av varsler i form av HTTP-forespørsler.
  • Automatisk avslutning av inaktive tilkoblinger.
  • Atomic konfigurasjonsoppdatering uten å bryte tilkoblinger.
  • Tilbyr beregninger for overvåking i Prometheus.
  • HAProxy PROXY-protokollen støttes for å organisere lastbalansering eller proxy-tilkoblinger til SFTP/SCP-tjenester uten å miste kunnskapen om brukerens kilde-IP-adresse.
  • REST API for å administrere brukere og kataloger, lage sikkerhetskopier og rapportere om aktive tilkoblinger.
  • Webgrensesnitt (http://127.0.0.1:8080/web) for konfigurasjon og overvåking (konfigurasjon via vanlige konfigurasjonsfiler støttes også).
  • Evne til å definere innstillinger i formatene JSON, TOML, YAML, HCL og envfile.
  • Støtte for tilkobling via SSH med begrenset tilgang til systemkommandoer. For eksempel er kommandoer som kreves for Git (git-receive-pack, git-upload-pack, git-upload-archive) og rsync tillatt å kjøre, samt flere innebygde kommandoer (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy og sftpgo-remove).
  • Bærbar modus for deling av én delt katalog med automatisk generering av tilkoblingslegitimasjon annonsert via multicast DNS.
  • Innebygd profileringssystem for ytelsesanalyse.
  • Forenklet migreringsprosess for Linux-systemkontoer.
  • Lagre logger i JSON-format.
  • Støtte for virtuelle kataloger (for eksempel kan innholdet i en bestemt katalog ikke gis fra det lokale filsystemet, men fra ekstern skylagring).
  • Støtte for cryptfs for transparent kryptering av data når du lagrer til filsystemet og dekrypterer ved opplasting.
  • Støtte for videresending av tilkoblinger til andre SFTP-servere.
  • Evne til å bruke SFTPGo som et SFTP-undersystem for OpenSSH.
  • Muligheten til å lagre legitimasjon og konfidensielle data i kryptert form ved å bruke KMS-servere (Key Management Services), som Vault, GCP KMS, AWS KMS.

Kilde: opennet.ru

Legg til en kommentar