S'ha publicat el llançament del servidor SFTPGo 2.5.0, que permet organitzar l'accés remot als fitxers mitjançant els protocols SFTP, SCP/SSH, Rsync, HTTP i WebDav, així com 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ó d'un base de dades externa. El codi del projecte està escrit a Go i es distribueix sota la llicència GPLv3.
En la nova versió:
- La interfície web ofereix la possibilitat de tancar missatges d'error. A la interfície web de l'administrador, s'ha afegit suport per a la cerca al registre d'auditoria i l'exportació de dades d'aquest, s'ha implementat la gestió de llistes d'adreces IP i xarxes, i s'ha pogut configurar SMTP i paràmetres estàndard ACME i SFTP. proporcionat. La interfície web del client té el seu propi formulari d'inici de sessió (en lloc de l'autenticació bàsica), ha afegit operacions de còpia i ha eliminat el límit de mida de descàrrega.
- S'ha afegit suport per a polítiques de contrasenya; per exemple, podeu definir els requisits de seguretat de la contrasenya i establir la vida útil de la contrasenya.
- El Gestor d'esdeveniments ha afegit la possibilitat de mostrar notificacions sobre contrasenyes caducades, ha implementat una operació de còpia, ha afegit suport per a accions trucades prèviament (pre-*) i controladors activats en determinades accions (per exemple, un controlador cridat quan l'usuari inicia sessió ha estat afegit).
- S'ha afegit la possibilitat d'atorgar als usuaris drets d'administrador.
- S'han afegit ordres a la interfície de la línia d'ordres per restablir la contrasenya de l'administrador i comprovar la funcionalitat del servei.
- S'ha afegit suport per a declaracions condicionals quan es realitzen canvis de nom massius dels fitxers del costat dels proveïdors de núvol.
- S'ha afegit suport per al seguiment i la recàrrega automàtica dels certificats TLS.
- S'ha afegit la possibilitat de definir els vostres propis tipus MIME per a WebDAV.
- SSH té l'autenticació de teclat interactiva activada de manera predeterminada.
- En mode portàtil, es va fer possible carregar contrasenyes des d'un fitxer.
- S'ha afegit suport experimental per al servei Terraform.
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.
- Compatibilitat per a l'autenticació de dos factors mitjançant contrasenyes d'un sol ús de temps limitat (TOTP, RFC 6238). Aplicacions com Authy i Google Authenticator es poden utilitzar com a autenticadors.
- Ampliació de la funcionalitat mitjançant complements. Per exemple, hi ha connectors disponibles que admeten serveis addicionals d'intercanvi de claus, integració de l'esquema Publicació/Subscripció, emmagatzematge i recuperació d'informació sobre esdeveniments al SGBD.
Font: opennet.ru