Uscita del server SFTP SFTPGo 2.2.0

È stata pubblicata la versione 2.2 del server SFTPGo, che consente di organizzare l'accesso remoto ai file attraverso i protocolli SFTP, SCP/SSH, Rsync, HTTP e WebDav. Inoltre, SFTPGo può essere utilizzato per fornire accesso a repository Git tramite il protocollo SSH. I dati possono essere forniti sia dalla filesystem locale che da archivi esterni compatibili con Amazon S3, Google Cloud Storage e Azure Blob Storage. È possibile memorizzare i dati in forma criptata. Per la memorizzazione del database degli utenti e dei metadati vengono utilizzati DBMS con supporto SQL o nel formato chiave/valore, come PostgreSQL, MySQL, SQLite, CockroachDB o bbolt, ma è anche possibile memorizzare i metadati nella memoria volatile, senza la necessità di un database esterno. Il codice del progetto è scritto in Go e distribuito con licenza GPLv3.

Nella nuova versione:

  • È stata aggiunta la supporto per l'autenticazione a due fattori utilizzando codici monouso con scadenza (TOTP, RFC 6238). Le applicazioni come Authy e Google Authenticator possono essere utilizzate come autenticatori.
  • È stata implementata la possibilità di estendere la funzionalità tramite plugin. Tra i plugin già disponibili: supporto per servizi di scambio chiavi aggiuntivi, integrazione dello schema Publish/Subscribe, archiviazione e ricerca di informazioni sugli eventi in un DBMS.
  • Nell'API REST è stato aggiunto il supporto per l'autenticazione tramite chiavi, oltre ai token JWT, e è stata fornita la possibilità di definire politiche di archiviazione dei dati (limitazione della vita dei dati) legate a directory e utenti specifici. Per impostazione predefinita, è attivata l'interfaccia Swagger UI per navigare nelle risorse dell'API senza utilizzare strumenti esterni.
  • Nell'interfaccia web è stato aggiunto il supporto per operazioni di scrittura (caricamento file, creazione di directory, rinomina e cancellazione) ed è stata realizzata la possibilità di ripristinare la password con conferma via email. Sono stati integrati un editor di file di testo e un visualizzatore di documenti PDF. È stata aggiunta la possibilità di creare collegamenti HTTP per fornire agli utenti esterni accesso a singoli file e directory, con la possibilità di impostare una password d'accesso separata, limitazioni di indirizzi IP, impostazioni di vita del collegamento e limitazione del numero di download.

Funzionalità principali di SFTPGo:

  • Per ogni account viene applicata l'isolamento chroot, limitando l'accesso alla home directory dell'utente. È possibile creare directory virtuali che fanno riferimento a dati al di fuori della home directory dell'utente.
  • Gli account sono memorizzati in un database virtuale degli utenti, non sovrapposto al database degli utenti di sistema. Possono essere utilizzati SQLite, MySQL, PostgreSQL, bbolt e la memoria per la memorizzazione del database degli utenti. Sono forniti strumenti per mappare gli account virtuali e di sistema — è possibile una mappatura diretta o arbitraria (un utente di sistema può essere mappato a un altro utente virtuale).
  • Supporta l'autenticazione tramite chiavi pubbliche, chiavi SSH e password (inclusa l'autenticazione interattiva con input da tastiera). È possibile associare più chiavi per ogni utente, nonché configurare l'autenticazione multifattoriale e a più fasi (ad esempio, dopo un'autenticazione riuscita tramite chiave, potrebbe essere richiesta una password aggiuntiva).
  • Per ogni utente, è possibile configurare diversi metodi di autenticazione, così come definire metodi personalizzati tramite l'invocazione di programmi esterni di autenticazione (ad esempio, per l'autenticazione tramite LDAP) o l'invio di richieste tramite HTTP API.
  • È possibile connettere gestori esterni o effettuare chiamate HTTP API per modificare dinamicamente i parametri utente, richiamati prima dell'accesso dell'utente. Supporta la creazione dinamica di utenti durante la connessione.
  • Supporto per quote individuali sulle dimensioni dei dati e sul numero di file.
  • Supporto per il limitamento della larghezza di banda con impostazioni separate per le restrizioni sul traffico in ingresso e in uscita, e limite sul numero di connessioni simultanee.
  • Mezzi di controllo degli accessi, che operano in base all'utente o alla directory (è possibile limitare la visualizzazione dell'elenco dei file, vietare il caricamento, il download, la scrittura, la cancellazione, il rinominare o la modifica dei permessi, vietare la creazione di directory o collegamenti simbolici, ecc.).
  • Per ogni utente è possibile definire limitazioni di rete individuali, ad esempio, consentire l'accesso solo da determinati IP o sottoreti.
  • Supporta il collegamento di filtri per il contenuto caricato in relazione a singoli utenti e directory (ad esempio, è possibile bloccare il caricamento di file con determinate estensioni).
  • È possibile collegare gestori che vengono attivati durante varie operazioni con il file (caricamento, cancellazione, rinominazione, ecc.). Oltre all'attivazione di gestori, è support l'invio di notifiche sotto forma di richieste HTTP.
  • Chiusura automatica delle connessioni inattive.
  • Aggiornamento atomico della configurazione senza interrompere le connessioni.
  • Fornire metriche per il monitoraggio in Prometheus.
  • È supportato il protocollo HAProxy PROXY per la gestione del bilanciamento del carico o il proxy delle connessioni verso i servizi SFTP/SCP senza perdita di informazioni sull'indirizzo IP originale dell'utente.
  • REST API per la gestione degli utenti e delle directory, la creazione di backup e la generazione di report sulle connessioni attive.
  • Interfaccia web (http://127.0.0.1:8080/web) per la configurazione e il monitoraggio (supportata anche la configurazione tramite file di configurazione tradizionali).
  • Possibilità di definire le impostazioni nei formati JSON, TOML, YAML, HCL e envfile.
  • Supporto per connessioni SSH con accesso limitato ai comandi di sistema. Ad esempio, è consentito eseguire comandi necessari per il funzionamento di Git (git-receive-pack, git-upload-pack, git-upload-archive) e rsync, oltre a diversi comandi integrati (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy e sftpgo-remove).
  • Modalità portable per la condivisione di una cartella comune con generazione automatica delle credenziali di accesso, annunciate tramite multicast DNS.
  • Sistema di profilazione integrato per l'analisi delle prestazioni.
  • Processo semplificato di migrazione degli account di sistema Linux.
  • Archiviazione dei log in formato JSON.
  • Supporto per directory virtuali (ad esempio, il contenuto di una determinata directory può essere servito non dal file system locale, ma da uno storage cloud esterno).
  • Supporto per cryptfs per la crittografia trasparente dei dati in tempo reale al momento del salvataggio nel file system e decrittazione durante il recupero.
  • Supporto per il forwarding delle connessioni a altri server SFTP.
  • Possibilità di utilizzare SFTPGo come sottosistema SFTP per OpenSSH.
  • Possibilità di memorizzare dati di autenticazione e riservati in forma crittografata utilizzando server KMS (Key Management Services), come Vault, GCP KMS, AWS KMS.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster