Veröffentlichung des SFTP-Servers SFTPGo 2.5.0

Die Version des SFTPGo 2.5.0-Servers wurde veröffentlicht, der es Ihnen ermöglicht, den Fernzugriff auf Dateien mithilfe der Protokolle SFTP, SCP/SSH, Rsync, HTTP und WebDav zu organisieren sowie den Zugriff auf Git-Repositorys mithilfe des SSH-Protokolls bereitzustellen . Daten können sowohl aus dem lokalen Dateisystem als auch von externen Speichern übertragen werden, die mit Amazon S3, Google Cloud Storage und Azure Blob Storage kompatibel sind. Es besteht die Möglichkeit, Daten verschlüsselt zu speichern. Zur Speicherung der Benutzerdatenbank und Metadaten werden DBMS mit Unterstützung für SQL oder Schlüssel/Wert-Format verwendet, wie zum Beispiel PostgreSQL, MySQL, SQLite, CockroachDB oder bbolt, aber es ist auch möglich, Metadaten im RAM zu speichern, was keine Verbindung erfordert externe Datenbank. Der Projektcode ist in Go geschrieben und wird unter der GPLv3-Lizenz vertrieben.

In der neuen Version:

  • Die Weboberfläche bietet die Möglichkeit, Fehlermeldungen zu schließen. In der Webschnittstelle für den Administrator wurde Unterstützung für die Suche im Audit-Protokoll und den Export von Daten daraus hinzugefügt, die Verwaltung von Listen von IP-Adressen und Netzwerken implementiert und die Möglichkeit zur Konfiguration von SMTP und Standard-ACME- und SFTP-Parametern hinzugefügt bereitgestellt. Die Client-Weboberfläche verfügt über ein eigenes Anmeldeformular (anstelle der Basisauthentifizierung), es wurden Kopiervorgänge hinzugefügt und die Downloadgrößenbeschränkung entfernt.
    Veröffentlichung des SFTP-Servers SFTPGo 2.5.0
  • Unterstützung für Passwortrichtlinien hinzugefügt; Sie können beispielsweise Anforderungen an die Passwortstärke definieren und die Passwortlebensdauer festlegen.
  • Der EventManager hat die Möglichkeit hinzugefügt, Benachrichtigungen über abgelaufene Passwörter anzuzeigen, einen Kopiervorgang implementiert, Unterstützung für vorab aufgerufene Aktionen (pre-*) und Handler hinzugefügt, die durch bestimmte Aktionen ausgelöst werden (z. B. ein Handler, der aufgerufen wird, wenn sich der Benutzer anmeldet). hinzugefügt).
  • Es wurde die Möglichkeit hinzugefügt, Benutzern Administratorrechte zu gewähren.
  • Der Befehlszeilenschnittstelle wurden Befehle hinzugefügt, um das Administratorkennwort zurückzusetzen und die Funktionalität des Dienstes zu überprüfen.
  • Unterstützung für bedingte Anweisungen bei der Massenumbenennung von Dateien durch Cloud-Anbieter hinzugefügt.
  • Unterstützung für die Verfolgung und das automatische Neuladen von TLS-Zertifikaten hinzugefügt.
  • Es wurde die Möglichkeit hinzugefügt, eigene MIME-Typen für WebDAV zu definieren.
  • Bei SSH ist die interaktive Tastaturauthentifizierung standardmäßig aktiviert.
  • Im portablen Modus wurde es möglich, Passwörter aus einer Datei zu laden.
  • Experimentelle Unterstützung für den Terraform-Dienst hinzugefügt.

Hauptmerkmale von SFTPGo:

  • Jedes Konto ist chrooted, wodurch der Zugriff auf das Home-Verzeichnis des Benutzers eingeschränkt wird. Es ist möglich, virtuelle Verzeichnisse zu erstellen, die auf Daten außerhalb des Home-Verzeichnisses des Benutzers verweisen.
  • Konten werden in einer virtuellen Benutzerdatenbank gespeichert, die sich nicht mit der Systembenutzerdatenbank überschneidet. Zur Speicherung von Benutzerdatenbanken können SQLite, MySQL, PostgreSQL, Bbolt und In-Memory-Storage verwendet werden. Es stehen Funktionen für die Zuordnung virtueller und Systemkonten zur Verfügung – entweder direkte oder zufällige Zuordnung ist möglich (ein Systembenutzer kann einem anderen virtuellen Benutzer zugeordnet werden).
  • Die Authentifizierung mit öffentlichen Schlüsseln, SSH-Schlüsseln und Passwörtern wird unterstützt (einschließlich interaktiver Authentifizierung mit einem über die Tastatur eingegebenen Passwort). Es ist möglich, für jeden Benutzer mehrere Schlüssel zu binden sowie eine mehrstufige und mehrstufige Authentifizierung einzurichten (z. B. kann bei erfolgreicher Schlüsselauthentifizierung zusätzlich ein Passwort abgefragt werden).
  • Für jeden Benutzer ist es möglich, verschiedene Authentifizierungsmethoden zu konfigurieren sowie eigene Methoden zu definieren, die durch den Aufruf externer Authentifizierungsprogramme (z. B. zur Authentifizierung über LDAP) oder das Senden von Anfragen über die HTTP-API implementiert werden.
  • Es ist möglich, externe Handler oder HTTP-API-Aufrufe anzuschließen, um Benutzerparameter dynamisch zu ändern, die aufgerufen werden, bevor sich der Benutzer anmeldet. Die dynamische Erstellung von Benutzern bei der Verbindung wird unterstützt.
  • Unterstützt individuelle Kontingente für Datengröße und Anzahl der Dateien.
  • Unterstützung der Bandbreitenbegrenzung mit separater Konfiguration von Beschränkungen für ein- und ausgehenden Datenverkehr sowie Beschränkungen der Anzahl gleichzeitiger Verbindungen.
  • Zugriffskontrolltools, die in Bezug auf einen Benutzer oder ein Verzeichnis funktionieren (Sie können die Anzeige einer Liste von Dateien einschränken, das Hochladen, Herunterladen, Überschreiben, Löschen, Umbenennen oder Ändern von Zugriffsrechten verbieten, die Erstellung von Verzeichnissen oder symbolischen Links verbieten usw.).
  • Für jeden Benutzer können Sie individuelle Netzwerkeinschränkungen definieren, z. B. können Sie nur Anmeldungen von bestimmten IPs oder Subnetzen zulassen.
  • Es unterstützt die Verknüpfung von Filtern für heruntergeladene Inhalte in Bezug auf einzelne Benutzer und Verzeichnisse (Sie können beispielsweise das Herunterladen von Dateien mit einer bestimmten Erweiterung blockieren).
  • Es ist möglich, Handler zu binden, die bei verschiedenen Vorgängen mit einer Datei (Herunterladen, Löschen, Umbenennen usw.) gestartet werden. Neben dem Aufruf von Handlern wird auch das Versenden von Benachrichtigungen in Form von HTTP-Anfragen unterstützt.
  • Automatische Beendigung inaktiver Verbindungen.
  • Atomare Konfigurationsaktualisierung ohne Verbindungsunterbrechung.
  • Bereitstellung von Metriken für die Überwachung in Prometheus.
  • Das HAProxy PROXY-Protokoll wird unterstützt, um Lastausgleich oder Proxy-Verbindungen zu SFTP/SCP-Diensten zu organisieren, ohne Informationen über die Quell-IP-Adresse des Benutzers zu verlieren.
  • REST-API zum Verwalten von Benutzern und Verzeichnissen, zum Erstellen von Backups und zum Generieren von Berichten über aktive Verbindungen.
  • Webschnittstelle (http://127.0.0.1:8080/web) zur Konfiguration und Überwachung (Konfiguration über reguläre Konfigurationsdateien wird ebenfalls unterstützt).
    Veröffentlichung des SFTP-Servers SFTPGo 2.5.0
  • Möglichkeit, Einstellungen in den Formaten JSON, TOML, YAML, HCL und envfile zu definieren.
  • Unterstützung für die Verbindung über SSH mit eingeschränktem Zugriff auf Systembefehle. Es ist beispielsweise erlaubt, für Git erforderliche Befehle (git-receive-pack, git-upload-pack, git-upload-archive) und rsync sowie mehrere integrierte Befehle (scp, md5sum, sha*sum) auszuführen , cd, pwd, sftpgo-copy und sftpgo-remove).
  • Portabler Modus zur gemeinsamen Nutzung eines gemeinsamen Verzeichnisses mit automatischer Generierung von Verbindungsanmeldeinformationen, die über Multicast-DNS bekannt gegeben werden.
  • Integriertes Profiling-System zur Leistungsanalyse.
  • Vereinfachter Prozess zur Migration von Linux-Systemkonten.
  • Protokolle im JSON-Format speichern.
  • Unterstützung für virtuelle Verzeichnisse (z. B. kann der Inhalt eines bestimmten Verzeichnisses nicht vom lokalen FS, sondern von einem externen Cloud-Speicher bereitgestellt werden).
  • Cryptfs-Unterstützung für transparente On-the-Fly-Verschlüsselung von Daten beim Speichern im FS und Entschlüsselung bei der Rückgabe.
  • Unterstützung für die Weiterleitung von Verbindungen zu anderen SFTP-Servern.
  • Möglichkeit, SFTPGo als SFTP-Subsystem für OpenSSH zu verwenden.
  • Die Möglichkeit, Anmeldeinformationen und vertrauliche Daten in verschlüsselter Form mithilfe von KMS-Servern (Key Management Services) wie Vault, GCP KMS, AWS KMS zu speichern.
  • Unterstützung der Zwei-Faktor-Authentifizierung mit zeitlich begrenzten Einmalpasswörtern (TOTP, RFC 6238). Als Authentifikatoren können Anwendungen wie Authy und Google Authenticator verwendet werden.
  • Erweiterung der Funktionalität durch Plugins. Es stehen beispielsweise Plugins zur Verfügung, die zusätzliche Schlüsselaustauschdienste, die Integration des Publish/Subscribe-Schemas sowie das Speichern und Abrufen von Informationen zu Ereignissen im DBMS unterstützen.

Source: opennet.ru

Kommentar hinzufügen