Frigivelse af SFTP-server SFTPGo 2.2.0

Frigivelsen af ​​SFTPGo 2.2-serveren er blevet offentliggjort, som giver dig mulighed for at organisere fjernadgang til filer ved hjælp af SFTP-, SCP/SSH-, Rsync-, HTTP- og WebDav-protokollerne. SFTPGo kan blandt andet bruges til at give adgang til Git repositories ved hjælp af SSH-protokollen. Data kan overføres både fra det lokale filsystem og fra eksterne lager, der er kompatible med Amazon S3, Google Cloud Storage og Azure Blob Storage. Det er muligt at gemme data i krypteret form. Til lagring af brugerdatabasen og metadata anvendes DBMS'er med understøttelse af SQL eller nøgle/værdi-format, såsom PostgreSQL, MySQL, SQLite, CockroachDB eller bbolt, men det er også muligt at gemme metadata i RAM, hvilket ikke kræver tilslutning af en ekstern database. Projektkoden er skrevet i Go og distribueret under GPLv3-licensen.

I den nye version:

  • Tilføjet understøttelse af tofaktorautentificering ved hjælp af tidsbegrænsede engangsadgangskoder (TOTP, RFC 6238). Programmer som Authy og Google Authenticator kan bruges som autentificeringsmidler.
  • Muligheden for at udvide funktionaliteten gennem plugins er blevet implementeret. Blandt de allerede tilgængelige plugins: understøttelse af yderligere nøgleudvekslingstjenester, integration af Publish/Subscribe-ordningen, lagring og søgning af information om begivenheder i DBMS.
  • REST API'en har tilføjet understøttelse af godkendelse ved hjælp af nøgler, ud over JWT-tokens, og giver også mulighed for at indstille datalagringspolitikker (begrænser datas levetid) i forhold til individuelle mapper og brugere. Som standard er Swagger UI aktiveret til at navigere i API-ressourcer uden at bruge eksterne hjælpeprogrammer.
  • Understøttelse af skriveoperationer er blevet tilføjet til webgrænsefladen (upload af filer, oprettelse af mapper, omdøbning og sletning), muligheden for at nulstille en adgangskode med bekræftelse via e-mail er blevet implementeret, en tekstfileditor og en PDF-dokumentfremviser er blevet integreret. Tilføjet muligheden for at oprette HTTP-links for at give eksterne brugere adgang til individuelle filer og mapper, med muligheden for at indstille en separat adgangskode, begrænse IP-adresser, indstille linkets levetid og begrænse antallet af downloads.

Hovedtræk ved SFTPGo:

  • Hver konto er chrootet, hvilket begrænser adgangen til brugerens hjemmemappe. Det er muligt at oprette virtuelle mapper, der refererer til data uden for brugerens hjemmemappe.
  • Konti er gemt i en virtuel brugerdatabase, der ikke overlapper med systemets brugerdatabase. SQLite, MySQL, PostgreSQL, bbolt og lager i hukommelsen kan bruges til at gemme brugerdatabaser. Der er faciliteter til at kortlægge virtuelle og systemkonti - enten direkte eller tilfældig kortlægning er mulig (en systembruger kan tilknyttes en anden virtuel bruger).
  • Godkendelse ved hjælp af offentlige nøgler, SSH-nøgler og adgangskoder er understøttet (inklusive interaktiv godkendelse med en adgangskode indtastet fra tastaturet). Det er muligt at binde flere nøgler for hver bruger, samt opsætte multi-faktor og multi-trin autentificering (for eksempel, i tilfælde af vellykket nøglegodkendelse, kan der yderligere anmodes om en adgangskode).
  • For hver bruger er det muligt at konfigurere forskellige autentificeringsmetoder, samt definere dine egne metoder, implementeret ved at kalde eksterne autentificeringsprogrammer (for eksempel til autentificering via LDAP) eller sende anmodninger via HTTP API.
  • Det er muligt at forbinde eksterne handlere eller HTTP API-kald for dynamisk at ændre brugerparametre, kaldet før brugeren logger på. Dynamisk oprettelse af brugere ved forbindelse er understøttet.
  • Understøtter individuelle kvoter for datastørrelse og antal filer.
  • Understøttelse af båndbreddebegrænsning med separat konfiguration af begrænsninger for indgående og udgående trafik, samt begrænsninger på antallet af samtidige forbindelser.
  • Adgangskontrolværktøjer, der fungerer i forhold til en bruger eller mappe (du kan begrænse visningen af ​​en liste over filer, forbyde upload, download, overskrivning, sletning, omdøbning eller ændring af adgangsrettigheder, forbyde oprettelse af mapper eller symbolske links osv.).
  • For hver bruger kan du definere individuelle netværksbegrænsninger, for eksempel kan du kun tillade logins fra bestemte IP'er eller undernet.
  • Det understøtter tilslutningsfiltre for downloadet indhold i forhold til individuelle brugere og mapper (du kan f.eks. blokere for download af filer med en bestemt udvidelse).
  • Det er muligt at binde handlere, der startes under forskellige operationer, med en fil (download, slet, omdøb osv.). Ud over at kalde handlere understøttes afsendelse af notifikationer i form af HTTP-anmodninger.
  • Automatisk afbrydelse af inaktive forbindelser.
  • Atomic konfigurationsopdatering uden at afbryde forbindelser.
  • Levering af metrics til overvågning i Prometheus.
  • HAProxy PROXY-protokollen understøttes til at organisere belastningsbalancering eller proxyforbindelser til SFTP/SCP-tjenester uden at miste information om brugerens kilde-IP-adresse.
  • REST API til styring af brugere og mapper, oprettelse af sikkerhedskopier og generering af rapporter om aktive forbindelser.
  • Webgrænseflade (http://127.0.0.1:8080/web) til konfiguration og overvågning (konfiguration via almindelige konfigurationsfiler understøttes også).
  • Mulighed for at definere indstillinger i JSON, TOML, YAML, HCL og envfile formater.
  • Understøttelse af tilslutning via SSH med begrænset adgang til systemkommandoer. For eksempel er det tilladt at køre kommandoer, der er nødvendige for Git (git-receive-pack, git-upload-pack, git-upload-archive) og rsync, samt flere indbyggede kommandoer (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy og sftpgo-remove).
  • Bærbar tilstand til deling af én fælles mappe med automatisk generering af forbindelsesoplysninger, der annonceres via multicast DNS.
  • Indbygget profileringssystem til præstationsanalyse.
  • Forenklet proces til migrering af Linux-systemkonti.
  • Lagring af logfiler i JSON-format.
  • Understøttelse af virtuelle mapper (for eksempel kan indholdet af en bestemt mappe serveres ikke fra den lokale FS, men fra et eksternt skylager).
  • Cryptfs-understøttelse af gennemsigtig on-the-fly-kryptering af data ved lagring til FS og dekryptering ved retur.
  • Understøttelse af videresendelse af forbindelser til andre SFTP-servere.
  • Mulighed for at bruge SFTPGo som et SFTP-undersystem til OpenSSH.
  • Evnen til at gemme legitimationsoplysninger og fortrolige data i krypteret form ved hjælp af KMS-servere (Key Management Services), såsom Vault, GCP KMS, AWS KMS.

Kilde: opennet.ru

Tilføj en kommentar