Release des SFTP-Servers SFTPGo 2.2.0.

Die Veröffentlichung des SFTPGo 2.2 Servers ermöglicht den Remote-Zugriff auf Dateien über die Protokolle SFTP, SCP/SSH, Rsync, HTTP und WebDav. SFTPGo kann auch verwendet werden, um Zugang zu Git-Repositories über das SSH-Protokoll zu gewähren. Daten können sowohl von lokalen Dateisystemen als auch aus externen Speicherlösungen, 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 relationale Datenbanken oder Key-Value-Formate wie PostgreSQL, MySQL, SQLite, CockroachDB oder bbolt verwendet, wobei auch eine Speicherung der Metadaten im Arbeitsspeicher möglich ist, die keine Verbindung zu einer externen Datenbank erfordert. Der Code des Projekts ist in Go geschrieben und unter der GPLv3-Lizenz verfügbar.

In der neuen Version:

  • Die Unterstützung für die Zwei-Faktor-Authentifizierung mit zeitlich begrenzten Einmalpasswörtern (TOTP, RFC 6238) wurde hinzugefügt. Als Authentifizierungs-Apps können Anwendungen wie Authy und Google Authenticator verwendet werden.
  • Die Möglichkeit zur Erweiterung der Funktionalität durch Plugins wurde implementiert. Zu den bereits verfügbaren Plugins gehören: Unterstützung zusätzlicher Schlüsselüberweisungsdienste, Integration des Publish/Subscribe-Schemas sowie Speicherung und Suche von Ereignisinformationen in der Datenbank.
  • Die REST API unterstützt nun die Authentifizierung über Schlüssel neben JWT-Tokens und ermöglicht das Festlegen von Datenaufbewahrungsrichtlinien (Lebensdauer der Daten) in Bezug auf bestimmte Verzeichnisse und Benutzer. Standardmäßig ist die Swagger UI für die Navigation durch die API-Ressourcen aktiviert, ohne dass externe Tools verwendet werden müssen.
  • Der Web-Interface unterstützt jetzt Schreiboperationen (Datei-Uploads, Verzeichniserstellung, Umbenennung und Löschung), das Zurücksetzen von Passwörtern mit Bestätigung per E-Mail wurde implementiert, und ein Editor für Textdateien sowie ein PDF-Dokumentenbetrachter wurden integriert. Es ist jetzt möglich, HTTP-Links zu erstellen, um externen Benutzern den Zugang zu bestimmten Dateien und Verzeichnissen zu ermöglichen, wobei separate Zugangspasswörter sowie Einschränkungen für IP-Adressen, die Lebensdauer des Links festgelegt und die Anzahl der Downloads begrenzt werden kann.

Hauptfunktionen von SFTPGo:

  • Für jedes Konto wird eine chroot-Isolierung angewendet, die den Zugriff auf das Home-Verzeichnis des Nutzers einschränkt. Es ist möglich, virtuelle Verzeichnisse zu erstellen, die auf Daten außerhalb des Benutzer-HOME-Verzeichnisses verweisen.
  • Die Konten werden in einer virtuellen Benutzerdatenbank gespeichert, die nicht mit der systeminternen Benutzerdatenbank überlappt. Für die Speicherung der Benutzerdatenbank können SQLite, MySQL, PostgreSQL, bbolt und der Speicher im Arbeitsspeicher verwendet werden. Es stehen Werkzeuge zur Verfügung, um virtuelle und systeminterne Konten abzugleichen — eine direkte oder willkürliche Zuordnung ist möglich (ein systeminterner Benutzer kann einem anderen virtuellen Benutzer zugeordnet werden).
  • Die Authentifizierung unterstützt öffentliche Schlüssel, SSH-Schlüssel und Passwörter (einschließlich interaktiver Authentifizierung mit passwortbasierter Eingabe über die Tastatur). Es können mehrere Schlüssel für jeden Benutzer zugewiesen werden, sowie die Konfiguration von Multi-Faktor- und Mehrstufen-Authentifizierung (zum Beispiel kann nach erfolgreicher Schlüssel-Authentifizierung zusätzlich ein Passwort angefordert werden).
  • Für jeden Benutzer können unterschiedliche Authentifizierungsmethoden eingestellt werden, einschließlich der Definition eigener Methoden, die über externe Authenticator-Programme (zum Beispiel für LDAP-Authentifizierung) oder durch HTTP-API-Anfragen bereitgestellt werden.
  • Es ist möglich, externe Handler oder HTTP-API-Aufrufe zu integrieren, um Benutzereinstellungen dynamisch zu ändern, bevor der Benutzer sich anmeldet. Die dynamische Erstellung von Benutzern während der Verbindung wird unterstützt.
  • Unterstützung individueller Quoten für Datenvolumen und Anzahl der Dateien.
  • Unterstützung für die Begrenzung der Bandbreite mit separaten Einstellungen für eingehenden und ausgehenden Datenverkehr sowie Beschränkungen für die Anzahl gleichzeitiger Verbindungen.
  • Zugriffssteuerungsmechanismen, die benutzerspezifisch oder katalogbasiert arbeiten (z. B. kann die Anzeige der Dateiliste eingeschränkt, das Hochladen, Herunterladen, Überschreiben, Löschen, Umbenennen oder Ändern von Berechtigungen verboten sowie das Erstellen von Verzeichnissen oder symbolischen Links untersagt werden).
  • Für jeden Benutzer können individuelle Netzwerkeinschränkungen festgelegt werden, zum Beispiel kann der Zugang nur von bestimmten IP-Adressen oder Subnetzen gestattet werden.
  • Es wird unterstützt, Inhalte mit spezifischen Filteroptionen zu verbinden, die benutzerspezifisch oder katalogbasiert sind (z. B. können Uploads von Dateien mit bestimmten Dateierweiterungen blockiert werden).
  • Es ist möglich, Handler zu binden, die bei verschiedenen Dateioperationen (Hochladen, Löschen, Umbenennen usw.) ausgeführt werden. Neben dem Aufruf von Handlern wird auch die Versendung von Benachrichtigungen in Form von HTTP-Anfragen unterstützt.
  • Automatische Beendigung von inaktiven Verbindungen.
  • Atomare Aktualisierung der Konfiguration ohne Unterbrechung der Verbindungen.
  • Bereitstellung von Metriken für die Überwachung in Prometheus.
  • Das HAProxy PROXY-Protokoll wird unterstützt, um Lastenausgleich oder Proxy-Verbindungen zu SFTP/SCP-Diensten ohne Verlust der ursprünglichen IP-Adresse des Nutzers zu ermöglichen.
  • REST API zur Verwaltung von Benutzern und Verzeichnissen, zur Erstellung von Backups und zur Erstellung von Berichten über aktive Verbindungen.
  • Webschnittstelle (http://127.0.0.1:8080/web) zur Konfiguration und Überwachung (auch die Konfiguration über reguläre Konfigurationsdateien wird unterstützt).
  • Möglichkeit, Einstellungen in den Formaten JSON, TOML, YAML, HCL und envfile zu definieren.
  • Unterstützung für SSH-Zugriff mit eingeschränktem Zugriff auf Systembefehle. Zum Beispiel ist das Ausführen von Befehlen, die für die Verwendung von Git erforderlich sind (git-receive-pack, git-upload-pack, git-upload-archive), und rsync sowie mehrerer integrierter Befehle (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy und sftpgo-remove) erlaubt.
  • Portable Modus zur gemeinsamen Nutzung eines gemeinsamen Verzeichnisses mit automatischer Erstellung von Anmeldedaten für die Verbindung, die über multicast DNS angekündigt werden.
  • Integriertes Profilsystem zur Leistungsanalyse.
  • Vereinfachter Prozess zur Migration von Linux-Systemkonten.
  • Speicherung von Protokollen im JSON-Format.
  • Unterstützung von virtuellen Verzeichnissen (z. B. kann der Inhalt eines bestimmten Verzeichnisses nicht aus dem lokalen Dateisystem, sondern aus einem externen Cloud-Speicher bereitgestellt werden).
  • Unterstützung von cryptfs für die transparente Verschlüsselung von Daten während der Speicherung im Dateisystem und deren Entschlüsselung bei der Bereitstellung.
  • Unterstützung für die Weiterleitung von Verbindungen zu anderen SFTP-Servern.
  • Die Möglichkeit, SFTPGo als SFTP-Subsystem für OpenSSH zu verwenden.
  • Die Möglichkeit, Konten- und vertrauliche Daten verschlüsselt unter Verwendung von KMS-Servern (Key Management Services) wie Vault, GCP KMS, AWS KMS zu speichern.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster