Publicouse o lanzamento do servidor SFTPGo 2.5.0, que permite organizar o acceso remoto aos ficheiros mediante os protocolos SFTP, SCP/SSH, Rsync, HTTP e WebDav, así como proporcionar acceso aos repositorios Git mediante o protocolo SSH . Os datos pódense transferir tanto desde o sistema de ficheiros local como desde almacenamentos externos compatibles con Amazon S3, Google Cloud Storage e Azure Blob Storage. É posible almacenar datos en forma cifrada. Para almacenar a base de datos do usuario e os metadatos utilízanse DBMS con soporte para SQL ou formato de clave/valor, como PostgreSQL, MySQL, SQLite, CockroachDB ou bbolt, pero tamén é posible almacenar metadatos na RAM, que non precisa conectar un base de datos externa. O código do proxecto está escrito en Go e distribúese baixo a licenza GPLv3.
Na nova versión:
- A interface web ofrece a posibilidade de pechar mensaxes de erro. Na interface web para o administrador, engadiuse soporte para buscar no rexistro de auditoría e exportar datos deste, implementouse a xestión de listas de enderezos IP e redes e instalouse a posibilidade de configurar SMTP e parámetros estándar ACME e SFTP. fornecido. A interface web do cliente ten o seu propio formulario de inicio de sesión (en lugar da autenticación básica), engadiu operacións de copia e eliminou o límite de tamaño de descarga.
- Engadiuse compatibilidade para políticas de contrasinais; por exemplo, pode definir os requisitos de seguridade do contrasinal e establecer a duración do contrasinal.
- O EventManager engadiu a posibilidade de mostrar notificacións sobre contrasinais caducados, implementou unha operación de copia, engadiu soporte para accións previamente chamadas (pre-*) e controladores desencadeados en determinadas accións (por exemplo, un controlador chamado cando o usuario inicia sesión foi engadido).
- Engadida a posibilidade de conceder aos usuarios dereitos de administrador.
- Engadíronse comandos á interface da liña de comandos para restablecer o contrasinal do administrador e comprobar a funcionalidade do servizo.
- Engadiuse compatibilidade para as declaracións condicionais ao realizar o cambio de nome masivo de ficheiros do lado dos provedores de nube.
- Engadido soporte para rastrexar e recargar automaticamente certificados TLS.
- Engadida a posibilidade de definir os teus propios tipos MIME para WebDAV.
- SSH ten activada de forma predeterminada a autenticación de teclado interactivo.
- No modo portátil, fíxose posible cargar contrasinais desde un ficheiro.
- Engadiuse soporte experimental para o servizo Terraform.
Principais características de SFTPGo:
- Cada conta está chrooteada, o que limita o acceso ao directorio de inicio do usuario. É posible crear directorios virtuais que fan referencia a datos fóra do directorio de inicio do usuario.
- As contas gárdanse nunha base de datos de usuarios virtual que non se solapa coa base de datos de usuarios do sistema. Pódense usar SQLite, MySQL, PostgreSQL, bbolt e o almacenamento en memoria para almacenar bases de datos de usuarios. Ofrécense instalacións para mapear contas virtuais e do sistema: é posible mapear directamente ou aleatoriamente (pódese asignar un usuario do sistema a outro usuario virtual).
- Admítese a autenticación mediante chaves públicas, claves SSH e contrasinais (incluída a autenticación interactiva cun contrasinal introducido desde o teclado). É posible vincular varias claves para cada usuario, así como configurar a autenticación de varios factores e de varios pasos (por exemplo, no caso de que a autenticación de claves teña éxito, pódese solicitar adicionalmente un contrasinal).
- Para cada usuario, é posible configurar diferentes métodos de autenticación, así como definir os seus propios métodos, implementados chamando a programas de autenticación externos (por exemplo, para a autenticación mediante LDAP) ou enviando solicitudes a través da API HTTP.
- É posible conectar controladores externos ou chamadas API HTTP para cambiar dinámicamente os parámetros do usuario, chamado antes de que o usuario inicie sesión. Admítese a creación dinámica de usuarios despois da conexión.
- Admite cotas individuais para o tamaño dos datos e o número de ficheiros.
- Soporte para limitar o ancho de banda con configuración separada de restricións para o tráfico entrante e saínte, así como restricións sobre o número de conexións simultáneas.
- Ferramentas de control de acceso que operan en relación a un usuario ou directorio (pode limitar a visualización dunha lista de ficheiros, prohibir a carga, descarga, sobrescritura, eliminación, renomeado ou cambio de dereitos de acceso, prohibir a creación de directorios ou ligazóns simbólicas, etc.).
- Para cada usuario, pode definir restricións de rede individuais, por exemplo, só pode permitir inicios de sesión desde determinadas IP ou subredes.
- Admite filtros de conexión para o contido descargado en relación con usuarios e directorios individuais (por exemplo, pode bloquear a descarga de ficheiros cunha extensión determinada).
- É posible vincular controladores que se inician durante varias operacións cun ficheiro (descargar, eliminar, renomear, etc.). Ademais de chamar aos controladores, é compatible o envío de notificacións en forma de solicitudes HTTP.
- Terminación automática de conexións inactivas.
- Actualización da configuración atómica sen interromper as conexións.
- Proporcionar métricas para o seguimento en Prometheus.
- O protocolo HAProxy PROXY é compatible para organizar o equilibrio de carga ou as conexións de proxy aos servizos SFTP/SCP sen perder información sobre o enderezo IP de orixe do usuario.
- API REST para xestionar usuarios e directorios, crear copias de seguridade e xerar informes sobre conexións activas.
- Interface web (http://127.0.0.1:8080/web) para a configuración e monitorización (tamén se admite a configuración mediante ficheiros de configuración habituais).
- Capacidade de definir axustes en formatos JSON, TOML, YAML, HCL e envfile.
- Soporte para conectarse mediante SSH con acceso limitado aos comandos do sistema. Por exemplo, permítese executar os comandos necesarios para Git (git-receive-pack, git-upload-pack, git-upload-archive) e rsync, así como varios comandos integrados (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy e sftpgo-remove).
- Modo portátil para compartir un directorio común con xeración automática de credenciais de conexión anunciadas a través de DNS multicast.
- Sistema de perfilado integrado para análise de rendemento.
- Proceso simplificado para migrar contas do sistema Linux.
- Almacenamento de rexistros en formato JSON.
- Soporte para directorios virtuais (por exemplo, o contido dun determinado directorio pódese servir non desde o FS local, senón desde un almacenamento en nube externo).
- Soporte Cryptfs para o cifrado transparente sobre a marcha dos datos cando se gardan no FS e o descifrado ao volver.
- Soporte para reenviar conexións a outros servidores SFTP.
- Capacidade de usar SFTPGo como subsistema SFTP para OpenSSH.
- A capacidade de almacenar credenciais e datos confidenciais en forma cifrada mediante servidores KMS (servizos de xestión de claves), como Vault, GCP KMS, AWS KMS.
- Soporte para a autenticación de dous factores mediante contrasinais únicos de tempo limitado (TOTP, RFC 6238). Aplicacións como Authy e Google Authenticator pódense usar como autenticadores.
- Ampliación da funcionalidade mediante complementos. Por exemplo, hai complementos dispoñibles que admiten servizos de intercambio de claves adicionais, integración do esquema Publicación/Subscrición, almacenamento e recuperación de información sobre eventos no DBMS.
Fonte: opennet.ru