Vrijgave van SFTP-server SFTPGo 1.0

De eerste grote release van de server vond plaats SFTPGo 1.0, waarmee u externe toegang tot bestanden kunt organiseren met behulp van de protocollen SFTP, SCP/SSH en Rsync. SFTPGo kan met name worden gebruikt om toegang te bieden tot Git-repositories met behulp van het SSH-protocol. Gegevens kunnen worden aangeleverd vanuit zowel het lokale bestandssysteem als externe opslag die compatibel is met Amazon S3 en Google Cloud Storage. Voor het opslaan van de gebruikersdatabase en metadata worden DBMS met SQL- of sleutel/waarde-indeling gebruikt, zoals PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x of bbolt 1.3.xEr is ook een modus voor het opslaan van metadata in het RAM-geheugen, waarvoor geen verbinding met een externe database nodig is. De projectcode is geschreven in Go en gedistribueerd door gelicentieerd onder GPLv3.

Основные особенности:

  • Elk account is chrooted, waardoor de toegang tot de thuismap van de gebruiker beperkt is. Het is mogelijk om virtuele mappen aan te maken die verwijzen naar gegevens buiten de thuismap van de gebruiker.
  • Accounts worden opgeslagen in een virtuele gebruikersdatabase die niet overlapt met de gebruikersdatabase van het systeem. SQLite, MySQL, PostgreSQL, bbolt en in-memory storage worden allemaal ondersteund voor het opslaan van gebruikersdatabases. Er zijn mogelijkheden voor het koppelen van virtuele en systeemaccounts - directe of willekeurige koppeling is mogelijk (één systeemgebruiker kan worden gekoppeld aan een andere virtuele gebruiker).
  • Authenticatie met openbare sleutels, SSH-sleutels en wachtwoorden wordt ondersteund (inclusief interactieve authenticatie met wachtwoordinvoer via het toetsenbord). Het is mogelijk om meerdere sleutels aan elke gebruiker te koppelen en multifactor- en multifase-authenticatie in te stellen (bij succesvolle authenticatie met een sleutel kan bijvoorbeeld ook om een ​​wachtwoord worden gevraagd).
  • Voor elke gebruiker is het mogelijk om verschillende authenticatiemethoden te configureren en aangepaste methoden te definiëren die worden geïmplementeerd door externe authenticatieprogramma's aan te roepen (bijvoorbeeld voor authenticatie via LDAP) of door verzoeken te versturen via de HTTP API.
  • Het is mogelijk om externe handlers of HTTP API-aanroepen te verbinden om dynamisch gebruikersparameters te wijzigen, die worden aangeroepen voordat de gebruiker zich aanmeldt. Ondersteund dynamisch gebruikers aanmaken bij verbinding.
  • Ondersteuning voor individuele quota's voor datagrootte en aantal bestanden.
  • Ondersteuning voor bandbreedtebeperking met afzonderlijke instellingen voor inkomend en uitgaand verkeer, evenals limieten voor het aantal gelijktijdige verbindingen.
  • Hulpmiddelen voor toegangscontrole die betrekking hebben op een gebruiker of map (u kunt het bekijken van een lijst met bestanden beperken, het uploaden, downloaden, herschrijven, verwijderen, hernoemen of wijzigen van toegangsrechten verbieden, het aanmaken van mappen of symbolische koppelingen verbieden, etc.).
  • Voor elke gebruiker kunt u afzonderlijke netwerkbeperkingen definiëren. U kunt bijvoorbeeld instellen dat alleen aanmeldingen vanaf bepaalde IP's of subnetten zijn toegestaan.
  • Het is mogelijk om filters voor gedownloade content te koppelen aan individuele gebruikers en mappen (zo kunt u bijvoorbeeld het downloaden van bestanden met een bepaalde extensie blokkeren).
  • Het is mogelijk om handlers te binden die worden gestart tijdens verschillende bewerkingen met een bestand (downloaden, verwijderen, hernoemen, enz.). Naast het aanroepen van handlers wordt ook het verzenden van meldingen in de vorm van HTTP-verzoeken ondersteund.
  • Automatische beëindiging van inactieve verbindingen.
  • Atomaire configuratie-update zonder de verbindingen te verbreken.
  • Het verstrekken van Metrieken voor monitoring in Prometheus.
  • Het HAProxy PROXY-protocol wordt ondersteund voor load balancing of proxying van verbindingen met SFTP/SCP-services zonder verlies van informatie over het oorspronkelijke IP-adres van de gebruiker.
  • REST API om gebruikers en mappen te beheren, back-ups te maken en rapporten over actieve verbindingen te genereren.
  • Web-interface (http://127.0.0.1:8080/web) voor configuratie en monitoring (configuratie via reguliere configuratiebestanden wordt ook ondersteund).
  • Mogelijkheid om instellingen te definiëren in JSON-, TOML-, YAML-, HCL- en envfile-indelingen.
  • Ondersteunen SSH-verbindingen met beperkte toegang tot systeemcommando's. Zo zijn commando's die vereist zijn voor Git (git-receive-pack, git-upload-pack, git-upload-archive) en rsync toegestaan, evenals diverse ingebouwde commando's (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy en sftpgo-remove).
  • regime draagbare voor het delen van een enkele openbare directory met automatische generatie van verbindingsgegevens die via multicast DNS worden aangekondigd.
  • Ingebouwd systeem profilering voor prestatieanalyse.
  • Vereenvoudigd procede migratie van systeemaccounts Linux.
  • opslagruimte logs in JSON-formaat.

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster