Versió del servidor SFTPo 2.2.0 SFTP

S'ha publicat el llançament del servidor SFTPGo 2.2, que permet organitzar l'accés remot als fitxers mitjançant els protocols SFTP, SCP/SSH, Rsync, HTTP i WebDav. Entre altres coses, SFTPGo es pot utilitzar per proporcionar accés als repositoris Git mitjançant el protocol SSH. Les dades es poden transferir tant des del sistema de fitxers local com des d'emmagatzematge extern compatible amb Amazon S3, Google Cloud Storage i Azure Blob Storage. És possible emmagatzemar dades en forma xifrada. Per emmagatzemar la base de dades i les metadades de l'usuari, s'utilitzen DBMS amb suport per a SQL o format clau/valor, com PostgreSQL, MySQL, SQLite, CockroachDB o bbolt, però també és possible emmagatzemar metadades a la RAM, que no requereix la connexió base de dades externa. El codi del projecte està escrit a Go i es distribueix sota la llicència GPLv3.

En la nova versió:

  • S'ha afegit compatibilitat per a l'autenticació de dos factors mitjançant contrasenyes d'una sola vegada amb limitació de temps (TOTP, RFC 6238). Aplicacions com Authy i Google Authenticator es poden utilitzar com a autenticadors.
  • S'ha implementat la possibilitat d'ampliar la funcionalitat mitjançant complements. Entre els connectors ja disponibles: suport per a serveis addicionals d'intercanvi de claus, integració de l'esquema Publicació/Subscripció, emmagatzematge i cerca d'informació sobre esdeveniments al DBMS.
  • L'API REST ha afegit suport per a l'autenticació mitjançant claus, a més dels testimonis JWT, i també ofereix la possibilitat d'establir polítiques d'emmagatzematge de dades (limitant la vida útil de les dades) en relació amb directoris i usuaris individuals. De manera predeterminada, Swagger UI està habilitat per navegar pels recursos de l'API sense utilitzar utilitats externes.
  • S'ha afegit suport per a operacions d'escriptura a la interfície web (càrrega de fitxers, creació de directoris, canvi de nom i supressió), s'ha implementat la possibilitat de restablir una contrasenya amb confirmació per correu electrònic, s'ha integrat un editor de fitxers de text i un visualitzador de documents PDF. S'ha afegit la possibilitat de crear enllaços HTTP per proporcionar als usuaris externs accés a fitxers i directoris individuals, amb la possibilitat d'establir una contrasenya d'accés independent, limitar adreces IP, establir la vida útil de l'enllaç i limitar el nombre de descàrregues.

Característiques principals de SFTPGo:

  • Cada compte té un chrooteig, limitant l'accés al directori inicial de l'usuari. És possible crear directoris virtuals que facin referència a dades fora del directori inicial de l'usuari.
  • Els comptes s'emmagatzemen en una base de dades d'usuaris virtual que no es solapa amb la base de dades d'usuaris del sistema. SQLite, MySQL, PostgreSQL, bbolt i l'emmagatzematge en memòria es poden utilitzar per emmagatzemar bases de dades d'usuaris. Es proporcionen instal·lacions per mapejar comptes virtuals i de sistema; és possible mapejar directament o aleatòriament (un usuari del sistema es pot assignar a un altre usuari virtual).
  • S'admet l'autenticació mitjançant claus públiques, claus SSH i contrasenyes (inclosa l'autenticació interactiva amb una contrasenya introduïda des del teclat). És possible lligar diverses claus per a cada usuari, així com configurar l'autenticació multifactorial i de diversos passos (per exemple, en cas d'autenticació de claus correcta, es pot demanar una contrasenya addicional).
  • Per a cada usuari, és possible configurar diferents mètodes d'autenticació, així com definir els vostres propis mètodes, implementats cridant a programes d'autenticació externs (per exemple, per a l'autenticació mitjançant LDAP) o enviant peticions mitjançant l'API HTTP.
  • És possible connectar controladors externs o trucades a l'API HTTP per canviar dinàmicament els paràmetres de l'usuari, cridats abans que l'usuari iniciï sessió. S'admet la creació dinàmica d'usuaris després de la connexió.
  • Admet quotes individuals per a la mida de les dades i el nombre de fitxers.
  • Suport per a la limitació de l'ample de banda amb una configuració separada de restriccions per al trànsit entrant i sortint, així com restriccions sobre el nombre de connexions simultànies.
  • Eines de control d'accés que operen en relació a un usuari o directori (podeu limitar la visualització d'una llista d'arxius, prohibir la càrrega, la descàrrega, la sobreescritura, la supressió, el canvi de nom o el canvi de drets d'accés, prohibir la creació de directoris o enllaços simbòlics, etc.).
  • Per a cada usuari, podeu definir restriccions de xarxa individuals, per exemple, només podeu permetre inicis de sessió des de determinades IP o subxarxes.
  • Admet la connexió de filtres per al contingut descarregat en relació amb usuaris i directoris individuals (per exemple, podeu bloquejar la descàrrega de fitxers amb una extensió determinada).
  • És possible enllaçar els controladors que s'inicien durant diverses operacions amb un fitxer (descàrrega, supressió, canvi de nom, etc.). A més de trucar als controladors, s'admet l'enviament de notificacions en forma de sol·licituds HTTP.
  • Finalització automàtica de connexions inactives.
  • Actualització de la configuració atòmica sense trencar connexions.
  • Proporcionar mètriques per al seguiment a Prometheus.
  • El protocol HAProxy PROXY és compatible per organitzar l'equilibri de càrrega o les connexions de proxy als serveis SFTP/SCP sense perdre informació sobre l'adreça IP d'origen de l'usuari.
  • API REST per gestionar usuaris i directoris, crear còpies de seguretat i generar informes sobre connexions actives.
  • Interfície web (http://127.0.0.1:8080/web) per a la configuració i la supervisió (també s'admet la configuració mitjançant fitxers de configuració habituals).
  • Capacitat de definir la configuració en formats JSON, TOML, YAML, HCL i envfile.
  • Suport per a la connexió mitjançant SSH amb accés limitat a les ordres del sistema. Per exemple, es permet executar les ordres necessàries per a Git (git-receive-pack, git-upload-pack, git-upload-archive) i rsync, així com diverses ordres integrades (scp, md5sum, sha*sum). , cd, pwd, sftpgo-copy i sftpgo-remove).
  • Mode portàtil per compartir un directori comú amb generació automàtica de credencials de connexió anunciades mitjançant DNS multicast.
  • Sistema de perfils integrat per a l'anàlisi del rendiment.
  • Procés simplificat per migrar els comptes del sistema Linux.
  • Emmagatzematge de registres en format JSON.
  • Suport per a directoris virtuals (per exemple, el contingut d'un directori determinat no es pot servir des del FS local, sinó des d'un emmagatzematge al núvol extern).
  • Suport de Cryptfs per a un xifratge transparent sobre la marxa de les dades quan es desen a l'FS i desxifrat quan es tornen.
  • Suport per reenviar connexions a altres servidors SFTP.
  • Capacitat d'utilitzar SFTPGo com a subsistema SFTP per a OpenSSH.
  • La capacitat d'emmagatzemar credencials i dades confidencials en forma xifrada mitjançant servidors KMS (Key Management Services), com ara Vault, GCP KMS, AWS KMS.

Font: opennet.ru

Afegeix comentari