Die Version des SFTP-Servers SFTPGo 2.5.0

Die Ausgabe des SFTPGo-Servers 2.5.0 wurde veröffentlicht, der den Remotezugriff auf Dateien über die Protokolle SFTP, SCP/SSH, Rsync, HTTP und WebDav ermöglicht, sowie den Zugriff auf Git-Repositories über das SSH-Protokoll bereitstellt. Daten können sowohl von lokalem Dateisystem als auch aus externen Speichern, die mit Amazon S3, Google Cloud Storage und Azure Blob Storage kompatibel sind, bereitgestellt werden. Es ist möglich, Daten in verschlüsselter Form zu speichern. Zur Speicherung der Benutzerdaten und Metadaten werden SQL-unterstützende oder schlüssel/wert-formatierte Datenbanken wie PostgreSQL, MySQL, SQLite, CockroachDB oder bbolt verwendet, aber es besteht auch die Möglichkeit, Metadaten im Arbeitsspeicher zu speichern, ohne eine externe Datenbank anschließen zu müssen. Der Projektcode ist in Go geschrieben und wird unter der GPLv3-Lizenz vertrieben.

In der neuen Version:

  • Im Web-Interface wurde die Möglichkeit zur Schließung von Fehlermeldungen hinzugefügt. Im Web-Interface für Administratoren wurde die Unterstützung für die Suche im Audit-Log sowie den Export von Daten daraus hinzugefügt, und die Verwaltung von Listen wurde realisiert. IP-Adressen und Netzwerken wurde die Möglichkeit zur Konfiguration von SMTP und typischen ACME- und SFTP-Einstellungen bereitgestellt. Im Client-Web-Interface wurde ein eigenes Anmeldeformular (statt Basic Auth) implementiert, Kopieroperationen hinzugefügt und die Begrenzung der Upload-Größe entfernt.
    Die Version des SFTP-Servers SFTPGo 2.5.0
  • Die Unterstützung für Passwortnutzungsrichtlinien wurde hinzugefügt, beispielsweise können Anforderungen an die Passwortsicherheit definiert und die Lebensdauer des Passworts festgelegt werden.
  • Im EventManager wurde die Möglichkeit zur Ausgabe von Benachrichtigungen über abgelaufene Passwörter hinzugefügt, eine Kopieroperation realisiert sowie die Unterstützung für vordefinierte Aktionen (pre-*) und Auslöser, die bei bestimmten Handlungen (z.B. beim Benutzer-Login) aktiv werden, implementiert.
  • Die Möglichkeit wurde eingeführt, Benutzern Administratorrechte zu gewähren.
  • Im Kommandozeileninterface wurden Befehle zum Zurücksetzen des Administratorpassworts und zur Überprüfung der Funktionsfähigkeit des Dienstes hinzugefügt.
  • Die Unterstützung für bedingte Operatoren bei der Durchführung von Massenumbenennungen von Dateien auf Seiten der Cloud-Anbieter wurde hinzugefügt.
  • Die Unterstützung für das Verfolgen und das automatische Neuladen wurde hinzugefügt. TLS-Zertifikate.
  • Die Möglichkeit zur Definition eigener MIME-Typen für WebDAV wurde hinzugefügt.
  • Für SSH ist standardmäßig die interaktive Authentifizierung mit der Tastatur aktiviert.
  • Im tragbaren Modus besteht die Möglichkeit, Passwörter aus einer Datei hochzuladen.
  • Experimentelle Unterstützung für den Terraform-Dienst hinzugefügt.

Hauptfunktionen von SFTPGo:

  • Für jedes Benutzerkonto wird chroot-Isolierung angewendet, die den Zugriff auf das Heimatverzeichnis des Benutzers einschränkt. Es ist möglich, virtuelle Verzeichnisse zu erstellen, die auf Daten außerhalb des Heimatverzeichnisses des Benutzers verweisen.
  • Benutzerkonten werden in einer virtuellen Benutzerdatenbank gespeichert, die nicht mit der systemweiten Benutzerdatenbank überlappt. Für die Speicherung der Benutzerdatenbank können SQLite, MySQL, PostgreSQL, bbolt und Speichern im Arbeitsspeicher verwendet werden. Es stehen Werkzeuge zur Verfügung, um virtuelle und systemweite Benutzerkonten abzugleichen – ein systemweiter Benutzer kann direkt oder beliebig einem anderen virtuellen Benutzer zugeordnet werden.
  • Die Authentifizierung über öffentliche Schlüssel, SSH-Schlüssel und Passwörter wird unterstützt (einschließlich interaktiver Authentifizierung, bei der das Passwort über die Tastatur eingegeben wird). Es ist möglich, mehrere Schlüssel für jeden Benutzer zu binden, sowie die Einrichtung von Zwei-Faktor- und mehrstufiger Authentifizierung (zum Beispiel kann nach erfolgreicher Authentifizierung mit einem Schlüssel zusätzlich ein Passwort angefordert werden).
  • Für jeden Benutzer können verschiedene Authentifizierungsmethoden eingerichtet werden, sowie eigene Methoden definiert werden, die über den Aufruf externer Authentifizierungsprogramme (zum Beispiel zur Authentifizierung über LDAP) oder über HTTP API-Anfragen umgesetzt werden.
  • Es ist möglich, externe Handler oder HTTP-API-Aufrufe zu verbinden, um Benutzerparameter dynamisch zu ändern, die vor dem Benutzerlogin aufgerufen werden. Es wird die dynamische Erstellung von Benutzern bei der Anmeldung unterstützt.
  • Unterstützung individueller Datenquoten und Dateizahlen.
  • Unterstützung von Bandbreitenbeschränkungen mit separaten Einstellungsmöglichkeiten für eingehenden und ausgehenden Datenverkehr sowie für die Anzahl gleichzeitiger Verbindungen.
  • Zugangskontrollmechanismen, die an Benutzer oder Verzeichnisse gebunden sind (z. B. kann der Zugriff auf die Dateiliste eingeschränkt, der Upload, Download, das Überschreiben, Löschen, Umbenennen oder Ändern der Berechtigungen verboten und die Erstellung von Verzeichnissen oder symbolischen Links untersagt werden usw.).
  • Für jeden Benutzer können individuelle Netzwerkbeschränkungen definiert werden, z. B. kann der Zugang nur von bestimmten IPs oder Subnetzen erlaubt werden.
  • Unterstützung von Filterverbindungen für herunterladbare Inhalte, die an einzelne Benutzer und Verzeichnisse gebunden sind (z. B. kann der Download von Dateien mit bestimmten Erweiterungen blockiert werden).
  • Es ist möglich, Handler zu binden, die bei verschiedenen Dateioperationen (Hochladen, Löschen, Umbenennen usw.) ausgelöst werden. Neben dem Aufrufen von Handlern wird auch das Versenden von Benachrichtigungen in Form von HTTP-Anfragen unterstützt.
  • Automatisches Beenden inaktiver Verbindungen.
  • Atomare Konfigurationsaktualisierung ohne Unterbrechung der Verbindungen.
  • Bereitstellung von Metriken zur Überwachung in Prometheus.
  • Unterstützung des HAProxy PROXY-Protokolls für das Lastenausgleich oder das Proxying von Verbindungen zu SFTP/SCP-Diensten, ohne dass Informationen über die ursprüngliche IP-Adresse des Benutzers verloren gehen.
  • REST-API zur Verwaltung von Benutzern und Katalogen, zur Erstellung von Sicherungskopien und zur Berichterstattung über aktive Verbindungen.
  • Web-Oberfläche (http://127.0.0.1:8080/web) zur Konfiguration und Überwachung (Konfiguration ist auch über normale Konfigurationsdateien möglich).
    Die Version des SFTP-Servers SFTPGo 2.5.0
  • Die Möglichkeit, Einstellungen im JSON-, TOML-, YAML-, HCL- und envfile-Format zu definieren.
  • Unterstützung für SSH-Verbindungen mit eingeschränktem Zugriff auf Systembefehle. Zum Beispiel ist die Ausführung der für Git erforderlichen Befehle (git-receive-pack, git-upload-pack, git-upload-archive) und rsync sowie einiger integrierter Befehle (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy und sftpgo-remove) erlaubt.
  • Portable Modus zur gemeinsamen Nutzung eines gemeinsamen Verzeichnisses mit automatischer Generierung von Anmeldedaten, die über Multicast DNS angekündigt werden.
  • Integriertes Profilsystem zur Leistungsanalyse.
  • Vereinfachter Prozess zur Migration von Linux-Systembenutzerkonten.
  • Protokollspeicherung im JSON-Format.
  • Unterstützung für virtuelle Verzeichnisse (z. B. kann der Inhalt eines bestimmten Verzeichnisses nicht aus dem lokalen Dateisystem, sondern aus einem externen Cloud-Speicher bereitgestellt werden).
  • Unterstützung für cryptfs zur transparenten Verschlüsselung von Daten in Echtzeit während der Speicherung im Dateisystem und zur Entschlüsselung bei der Bereitstellung.
  • Unterstützung für das Weiterleiten von Verbindungen zu anderen SFTP-Servern.
  • Die Möglichkeit, SFTPGo als SFTP-Subsystem für OpenSSH zu verwenden.
  • Die Möglichkeit, Benutzer- und vertrauliche Daten in verschlüsselter Form unter Verwendung von KMS-Servern (Key Management Services) wie Vault, GCP KMS, AWS KMS zu speichern.
  • Unterstützung für die Zwei-Faktor-Authentifizierung unter Verwendung von zeitlich begrenzten Einmalpasswörtern (TOTP, RFC 6238). Als Authenticator können Anwendungen wie Authy und Google Authenticator verwendet werden.
  • Erweiterung der Funktionalität durch Plugins. Beispielsweise stehen Plugins mit Unterstützung für zusätzliche Schlüsselaustauschdienste, Integration des Publish/Subscribe-Schemas sowie Speicherung und Suche von Informationen über Ereignisse in der Datenbank zur Verfügung.

Quelle: opennet.ru

60GB SSD 8Gb DDR4