Rilascio del server SFTP SFTPGo 1.0

È stata effettuata la prima significativa versione del server SFTPGo 1.0, che consente di organizzare l'accesso remoto ai file utilizzando i protocolli SFTP, SCP/SSH e Rsync. SFTPGo può anche essere utilizzato per fornire accesso ai repository Git, utilizzando il protocollo SSH. I dati possono essere forniti sia dal sistema di file locale che da archivi esterni compatibili con Amazon S3 e Google Cloud Storage. Per memorizzare la base utenti e i metadati, vengono utilizzati database con supporto SQL o formato chiave/valore, come PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x o bbolt 1.3.x. È inoltre disponibile una modalità di memorizzazione dei metadati in memoria, che non richiede una connessione a un database esterno. Il codice del progetto è scritto in Go e è distribuito sotto licenza GPLv3.

Caratteristiche principali:

  • Per ogni account viene applicata l'isolamento chroot, che limita l'accesso alla home directory dell'utente. È possibile creare directory virtuali che fanno riferimento ai dati al di fuori della home directory dell'utente.
  • Gli account sono memorizzati in un database virtuale degli utenti, che non si sovrappone al database degli utenti di sistema. Per memorizzare il database degli utenti possono essere utilizzati SQLite, MySQL, PostgreSQL, bbolt e memorizzazione in memoria. Sono forniti strumenti per l'abbinamento degli account virtuali e di sistema, consentendo un abbinamento diretto o arbitrario (un utente di sistema può essere abbinato a un altro utente virtuale).
  • È supportata l'autenticazione tramite chiavi pubbliche, chiavi SSH e password (inclusa l'autenticazione interattiva con inserimento password da tastiera). È possibile associare più chiavi per ogni utente, così come configurare l'autenticazione multipla e a più fasi (ad esempio, in caso di autenticazione riuscita tramite chiave, potrebbe essere richiesto un ulteriore inserimento di password).
  • Per ogni utente è possibile configurare diversi metodi di autenticazione, nonché definire metodi personalizzati, implementati tramite chiamate a programmi di autenticazione esterni (ad esempio, per autenticazione LDAP) o l'invio di richieste attraverso API HTTP.
  • È possibile collegare gestori esterni o chiamare API HTTP per modificare dinamicamente i parametri utente, invocati prima dell'accesso dell'utente. Sono supportati la generazione dinamica di utenti al momento della connessione.
  • Supporto per quote individuali sulla dimensione dei dati e sul numero di file.
  • Supporto per limitazioni della larghezza di banda con configurazione separata dei limiti per il traffico in entrata e in uscita, nonché limiti sul numero di connessioni simultanee.
  • Strumenti per il controllo degli accessi, funzionanti in base all'utente o alla directory (è possibile limitare la visualizzazione dell'elenco dei file, vietare il caricamento, il download, la sovrascrittura, la cancellazione, la rinominazione o la modifica delle autorizzazioni, vietare la creazione di directory o collegamenti simbolici, ecc.).
  • Per ogni utente è possibile definire limitazioni di rete individuali, ad esempio, è possibile consentire l'accesso solo da determinati IP o subnet.
  • È supportata la connessione di filtri per il contenuto caricato, legati a singoli utenti e directory (ad esempio, è possibile bloccare il caricamento di file con determinate estensioni).
  • È possibile associare gestori che vengono attivati durante diverse operazioni con i file (caricamento, eliminazione, rinomina, ecc.). Oltre all'invocazione dei gestori, è supportinata l'invio di notifiche sotto forma di richieste HTTP.
  • Chiusura automatica delle connessioni inattive.
  • Aggiornamento atomico della configurazione senza interruzione delle connessioni.
  • Fornitura di metriche per il monitoraggio in Prometheus.
  • È supportato il protocollo HAProxy PROXY per l'organizzazione del bilanciamento del carico o del proxy delle connessioni ai servizi SFTP/SCP senza perdere 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 normali file di configurazione).
  • Possibilità di definire impostazioni nei formati JSON, TOML, YAML, HCL e envfile.
  • Supporto 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, così come alcuni comandi incorporati (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy e sftpgo-remove).
  • Modalità portable per la condivisione di una directory comune con generazione automatica delle credenziali per la connessione, annunciate tramite multicast DNS.
  • Sistema integrato di profilazione per l'analisi delle prestazioni.
  • Semplificato processo migrazione degli account utente di sistema Linux.
  • Archiviazione log in formato JSON.

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