Frigivelse af SFTP-server SFTPGo 1.0

Den første betydelige udgivelse af serveren fandt sted SFTPGo 1.0, som giver dig mulighed for at organisere fjernadgang til filer ved hjælp af SFTP-, SCP/SSH- og Rsync-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 eksternt lager, der er kompatibelt med Amazon S3 og Google Cloud Storage. Til lagring af brugerdatabase og metadata anvendes DBMS'er med understøttelse af SQL eller nøgle/værdi-format, såsom PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x eller bbolt 1.3.x. Der er også en tilstand til lagring af metadata i RAM, som ikke kræver tilslutning af en ekstern database. Projektkoden er skrevet i Go og distribueret af licenseret under GPLv3.

Hovedtræk:

  • 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å. Understøttet dynamisk oprettelse af brugere ved forbindelse.
  • 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.
  • At sørge for målinger 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 at administrere brugere og mapper, oprette backups og generere 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.
  • Support forbindelser 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).
  • regime bærbare at dele én fælles mappe med automatisk generering af forbindelsesoplysninger, der annonceres via multicast DNS.
  • Indlejret system profilering til præstationsanalyse.
  • Forenklet proces migrering af Linux-systemkonti.
  • Opbevaring logfiler i JSON-format.

Kilde: opennet.ru

Tilføj en kommentar