Uitgave van de SFTP-server SFTPGo 1.0

De eerste significante release van de server SFTPGo 1.0, waarmee externe toegang tot bestanden kan worden georganiseerd via de protocollen SFTP, SCP/SSH en Rsync. SFTPGo kan ook worden gebruikt om toegang te verlenen tot Git-repositories via het SSH-protocol. Gegevens kunnen worden opgehaald uit zowel lokale bestandssystemen als externe opslagen die compatibel zijn met Amazon S3 en Google Cloud Storage. Voor het opslaan van de gebruikersdatabase en metadata worden databases gebruikt die SQL-ondersteuning of het sleutel/waarde-formaat hebben, zoals PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x of bbolt 1.3.x. Er is ook een modus voor het opslaan van metadata in het geheugen, waarvoor geen externe databaseverbinding vereist is. De code van het project is geschreven in de taal Go en wordt verspreid onder GPLv3-licentie.

Belangrijkste kenmerken:

  • Voor elke account wordt chroot-isolatie toegepast, die de toegang tot de thuismap van de gebruiker beperkt. Het is mogelijk om virtuele mappen te maken die verwijzen naar gegevens buiten de thuismap van de gebruiker.
  • Accounts worden opgeslagen in een virtuele gebruikersdatabase die niet overlapt met de systeemgebruikersdatabase. Voor het opslaan van de gebruikersdatabase kunnen SQLite, MySQL, PostgreSQL, bbolt en opslag in het geheugen worden gebruikt. Er zijn middelen beschikbaar om virtuele en systeemaccounts aan elkaar te koppelen - directe of willekeurige mapping is mogelijk (ƩƩn systeemgebruiker kan aan een andere virtuele gebruiker worden gekoppeld).
  • Authenticatie via openbare sleutels, SSH-sleutels en wachtwoorden (inclusief interactieve authenticatie met invoer van het wachtwoord via het toetsenbord) wordt ondersteund. Het is mogelijk om meerdere sleutels voor elke gebruiker toe te wijzen, evenals het instellen van multifactor- en meervoudige authenticatie (bijvoorbeeld kan na succesvolle authenticatie met de sleutel additioneel om een wachtwoord worden gevraagd).
  • Voor elke gebruiker kan een andere authenticatiemethode worden ingesteld, evenals het definiĆ«ren van eigen methoden die worden geĆÆmplementeerd via het aanroepen van externe authenticatieprogramma's (bijvoorbeeld voor authenticatie via LDAP) of het versturen van verzoeken via de HTTP API.
  • Het is mogelijk om externe handlers of HTTP API-aanroepen aan te sluiten voor het dynamisch aanpassen van gebruikersparameters die vóór de gebruikerslogin worden aangeroepen. Ondersteuning voor dynamische gebruikerscreatie bij verbinding.
  • Ondersteuning voor individuele quota voor gegevensgrootte en aantal bestanden.
  • Ondersteuning voor bandbreedtebeperkingen met afzonderlijke instellingen voor inkomend en uitgaand verkeer, evenals beperkingen op het aantal gelijktijdige verbindingen.
  • Toegangsbeheertools die gebonden zijn aan gebruikers of mappen (het is mogelijk om het bekijken van bestandslijsten te beperken, uploads, downloads, overschrijven, verwijderen, hernoemen of wijziging van toegangsrechten te verbieden, het maken van mappen of symbolische links te verbieden, enz.).
  • Voor elke gebruiker kunnen individuele netwerkbeperkingen worden ingesteld, bijvoorbeeld toegang kan alleen vanaf bepaalde IP-adressen of subnetten worden toegestaan.
  • Er wordt ondersteuning geboden voor het koppelen van contentfiltering voor afzonderlijke gebruikers en catalogi (bijvoorbeeld, het blokkeren van uploads van bestanden met bepaalde extensies).
  • Het is mogelijk om handlers te koppelen die worden uitgevoerd bij verschillende bestandsbewerkingen (upload, verwijderen, hernoemen, enz.). Naast het aanroepen van handlers wordt ook ondersteuning geboden voor het versturen van meldingen in de vorm van HTTP-verzoeken.
  • Automatische beĆ«indiging van inactieve verbindingen.
  • Atomaire configuratie-updates zonder verbroken verbindingen.
  • Biedt metrics voor monitoring in Prometheus.
  • Ondersteuning voor het HAProxy PROXY-protocol voor het organiseren van load balancing of het proxy'en van verbindingen naar SFTP/SCP-diensten zonder verlies van informatie over het IP-adres van de gebruiker.
  • REST API voor het beheer van gebruikers en catalogi, het maken van back-ups en het genereren van rapporten over actieve verbindingen.
  • Web-interface (http://127.0.0.1:8080/web) voor configuratie en monitoring (configuratie wordt ook ondersteund via gewone configuratiebestanden).
  • De mogelijkheid om instellingen te definiĆ«ren in JSON-, TOML-, YAML-, HCL- en envfile-indelingen.
  • Ondersteuning SSH-verbindingen met beperkte toegang tot systeemcommando's. Bijvoorbeeld, de uitvoering van commando's die nodig zijn voor het gebruik van Git (git-receive-pack, git-upload-pack, git-upload-archive) en rsync is toegestaan, evenals enkele ingebouwde commando's (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy en sftpgo-remove).
  • Modus portable voor het delen van ƩƩn gemeenschappelijke catalogus met automatische genestelde aanmeldgegevens voor verbinding, aangekondigd via multicast DNS.
  • Ingebouwd profileringsysteem voor prestatieanalyse.
  • Vereenvoudigde proces migraties van systeemgebruikersaccounts in Linux.
  • Opslag logs in JSON-formaat.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster