Lanzamiento del servidor SFTP SFTPGo 2.5.0

Se ha publicado el lanzamiento del servidor SFTPGo 2.5.0, que permite organizar el acceso remoto a archivos utilizando los protocolos SFTP, SCP/SSH, Rsync, HTTP y WebDav, así como proporcionar acceso a repositorios Git utilizando el protocolo SSH. . Los datos se pueden transferir tanto desde el sistema de archivos local como desde almacenamientos externos compatibles con Amazon S3, Google Cloud Storage y Azure Blob Storage. Es posible almacenar datos en forma cifrada. Para almacenar la base de datos y metadatos del usuario se utilizan DBMS con soporte para SQL o formato clave/valor, como PostgreSQL, MySQL, SQLite, CockroachDB o bbolt, pero también es posible almacenar metadatos en RAM, lo que no requiere conectar una base de datos externa. El código del proyecto está escrito en Go y distribuido bajo la licencia GPLv3.

Versículos nuevos:

  • La interfaz web ofrece la posibilidad de cerrar mensajes de error. En la interfaz web para el administrador, se agregó soporte para buscar en el registro de auditoría y exportar datos del mismo, se implementó la gestión de listas de direcciones IP y redes y se agregó la capacidad de configurar SMTP y los parámetros estándar ACME y SFTP. proporcionó. La interfaz web del cliente tiene su propio formulario de inicio de sesión (en lugar de autenticación básica), operaciones de copia agregadas y eliminó el límite de tamaño de descarga.
    Lanzamiento del servidor SFTP SFTPGo 2.5.0
  • Se agregó soporte para políticas de contraseñas; por ejemplo, puede definir los requisitos de seguridad de la contraseña y establecer la duración de la misma.
  • EventManager agregó la capacidad de mostrar notificaciones sobre contraseñas vencidas, implementó una operación de copia, agregó soporte para acciones prellamadas (pre-*) y controladores activados ante ciertas acciones (por ejemplo, un controlador llamado cuando el usuario inicia sesión ha sido agregado).
  • Se agregó la capacidad de otorgar derechos de administrador a los usuarios.
  • Se han agregado comandos a la interfaz de línea de comandos para restablecer la contraseña del administrador y verificar la funcionalidad del servicio.
  • Se agregó soporte para declaraciones condicionales al realizar cambios masivos de nombres de archivos por parte de los proveedores de la nube.
  • Se agregó soporte para rastrear y recargar automáticamente certificados TLS.
  • Se agregó la capacidad de definir sus propios tipos MIME para WebDAV.
  • SSH tiene la autenticación de teclado interactivo habilitada de forma predeterminada.
  • En el modo portátil, fue posible cargar contraseñas desde un archivo.
  • Se agregó soporte experimental para el servicio Terraform.

Características principales de SFTPGo:

  • Cada cuenta tiene un chroot, lo que limita el acceso al directorio de inicio del usuario. Es posible crear directorios virtuales que hagan referencia a datos fuera del directorio de inicio del usuario.
  • Las cuentas se almacenan en una base de datos de usuarios virtual que no se superpone con la base de datos de usuarios del sistema. Se pueden utilizar SQLite, MySQL, PostgreSQL, bbolt y almacenamiento en memoria para almacenar bases de datos de usuarios. Se proporcionan instalaciones para mapear cuentas virtuales y de sistema; es posible un mapeo directo o aleatorio (un usuario del sistema se puede mapear a otro usuario virtual).
  • Se admite la autenticación mediante claves públicas, claves SSH y contraseñas (incluida la autenticación interactiva con una contraseña ingresada desde el teclado). Es posible vincular varias claves para cada usuario, así como configurar la autenticación multifactor y de varios pasos (por ejemplo, en el caso de una autenticación de clave exitosa, se puede solicitar adicionalmente una contraseña).
  • Para cada usuario, es posible configurar diferentes métodos de autenticación, así como definir sus propios métodos, implementados llamando a programas de autenticación externos (por ejemplo, para autenticación a través de LDAP) o enviando solicitudes a través de la API HTTP.
  • Es posible conectar controladores externos o llamadas API HTTP para cambiar dinámicamente los parámetros del usuario, llamados antes de que el usuario inicie sesión. Se admite la creación dinámica de usuarios al conectarse.
  • Admite cuotas individuales para el tamaño de los datos y la cantidad de archivos.
  • Soporte para limitación de ancho de banda con configuración separada de restricciones para el tráfico entrante y saliente, así como restricciones en la cantidad de conexiones simultáneas.
  • Herramientas de control de acceso que operan en relación a un usuario o directorio (puede limitar la visualización de una lista de archivos, prohibir cargar, descargar, sobrescribir, eliminar, renombrar o cambiar los derechos de acceso, prohibir la creación de directorios o enlaces simbólicos, etc.).
  • Para cada usuario, puede definir restricciones de red individuales; por ejemplo, solo puede permitir inicios de sesión desde determinadas IP o subredes.
  • Admite la conexión de filtros para el contenido descargado en relación con usuarios y directorios individuales (por ejemplo, puede bloquear la descarga de archivos con una determinada extensión).
  • Es posible vincular controladores que se inician durante varias operaciones con un archivo (descargar, eliminar, cambiar nombre, etc.). Además de llamar a los controladores, se admite el envío de notificaciones en forma de solicitudes HTTP.
  • Terminación automática de conexiones inactivas.
  • Actualización de configuración atómica sin romper conexiones.
  • Proporcionar métricas para el seguimiento en Prometheus.
  • El protocolo HAProxy PROXY es compatible para organizar el equilibrio de carga o conexiones proxy a servicios SFTP/SCP sin perder información sobre la dirección IP de origen del usuario.
  • API REST para gestionar usuarios y directorios, crear copias de seguridad y generar informes sobre conexiones activas.
  • Interfaz web (http://127.0.0.1:8080/web) para configuración y monitoreo (también se admite la configuración mediante archivos de configuración normales).
    Lanzamiento del servidor SFTP SFTPGo 2.5.0
  • Capacidad para definir configuraciones en formatos JSON, TOML, YAML, HCL y envfile.
  • Soporte para conectarse vía SSH con acceso limitado a los comandos del sistema. Por ejemplo, se permite ejecutar comandos necesarios para Git (git-receive-pack, git-upload-pack, git-upload-archive) y rsync, así como varios comandos integrados (scp, md5sum, sha*sum , cd, pwd, sftpgo-copy y sftpgo-remove).
  • Modo portátil para compartir un directorio común con generación automática de credenciales de conexión anunciadas a través de DNS de multidifusión.
  • Sistema de creación de perfiles incorporado para análisis de rendimiento.
  • Proceso simplificado para migrar cuentas del sistema Linux.
  • Almacenamiento de registros en formato JSON.
  • Soporte para directorios virtuales (por ejemplo, el contenido de un determinado directorio se puede servir no desde el FS local, sino desde un almacenamiento en la nube externo).
  • Cryptfs admite el cifrado transparente de datos sobre la marcha al guardarlos en el FS y el descifrado al regresar.
  • Soporte para reenviar conexiones a otros servidores SFTP.
  • Posibilidad de utilizar SFTPGo como subsistema SFTP para OpenSSH.
  • La capacidad de almacenar credenciales y datos confidenciales en forma cifrada utilizando servidores KMS (servicios de administración de claves), como Vault, GCP KMS, AWS KMS.
  • Soporte para autenticación de dos factores usando contraseñas de un solo uso por tiempo limitado (TOTP, RFC 6238). Se pueden utilizar aplicaciones como Authy y Google Authenticator como autenticadores.
  • Ampliación de la funcionalidad a través de complementos. Por ejemplo, hay complementos disponibles que admiten servicios adicionales de intercambio de claves, integración del esquema de publicación/suscripción, almacenamiento y recuperación de información sobre eventos en el DBMS.

Fuente: opennet.ru

Añadir un comentario