Lançamento do servidor SFTP SFTPGo 1.0.

Aconteceu o primeiro lançamento significativo do servidor SFTPGo 1.0, permitindo o acesso remoto a arquivos utilizando os protocolos SFTP, SCP/SSH e Rsync. O SFTPGo também pode ser usado para fornecer acesso a repositórios Git, utilizando o protocolo SSH. Os dados podem ser fornecidos tanto do sistema de arquivos local quanto de armazenamentos externos compatíveis com Amazon S3 e Google Cloud Storage. Para armazenar a base de usuários e metadados, são utilizadas bases de dados com suporte a SQL ou formato chave/valor, como PostgreSQL 9.4+, MySQL 5.6+, SQLite 3.x ou bbolt 1.3.x. Há também um modo de armazenamento de metadados na memória, que não requer a conexão a uma base de dados externa. O código do projeto é escrito na linguagem Go e é distribuído sob a licença GPLv3.

Principais características:

  • Para cada conta, é aplicada a isolação chroot, que limita o acesso ao diretório pessoal do usuário. É possível criar diretórios virtuais que referenciam dados fora do diretório pessoal do usuário.
  • As contas são armazenadas em um banco de dados virtual de usuários, que não se sobrepõe ao banco de dados do sistema. Para o armazenamento do banco de dados de usuários, podem ser utilizados SQLite, MySQL, PostgreSQL, bbolt e armazenamento em memória. Ferramentas são fornecidas para mapear contas virtuais e sistemáticas — é possível um mapeamento direto ou arbitrário (um usuário do sistema pode ser mapeado a outro usuário virtual).
  • A autenticação por chaves públicas, chaves SSH e senhas é suportada (incluindo autenticação interativa com a inserção de senha pelo teclado). É possível vincular várias chaves a cada usuário, assim como configurar autenticação multifatorial e de múltiplas etapas (por exemplo, após uma autenticação bem-sucedida com chave, uma senha adicional poderá ser solicitada).
  • Para cada usuário, é possível configurar diferentes métodos de autenticação, bem como definir seus próprios métodos que são implementados através da chamada de programas externos de autenticação (por exemplo, para autenticação via LDAP) ou envio de solicitações via HTTP API.
  • É possível conectar manipuladores externos ou chamadas de API HTTP para alterar dinamicamente os parâmetros do usuário, que são invocados antes do login do usuário. Suporta criação dinâmica de usuários durante a conexão.
  • Suporte para cotas individuais em tamanho de dados e número de arquivos.
  • Suporte para limitação de largura de banda com configuração separada das restrições para tráfego de entrada e saída, bem como restrições no número de conexões simultâneas.
  • Ferramentas de controle de acesso que atuam vinculadas ao usuário ou diretório (é possível restringir a visualização da lista de arquivos, proibir upload, download, sobrescrita, exclusão, renomeação ou alteração de permissões, proibir a criação de diretórios ou links simbólicos, etc.).
  • Para cada usuário, é possível definir restrições de rede individuais, por exemplo, permitindo o acesso apenas de determinados IPs ou sub-redes.
  • Suporte à conexão de filtros de conteúdo carregado vinculados a usuários e diretórios específicos (por exemplo, é possível bloquear o upload de arquivos com determinadas extensões).
  • É possível vincular manipuladores que são acionados durante várias operações com arquivos (upload, exclusão, renomeação etc.). Além da chamada de manipuladores, também é suportado o envio de notificações na forma de solicitações HTTP.
  • Encerramento automático de conexões inativas.
  • Atualização atômica da configuração sem interrupção de conexões.
  • Fornecimento de métricas para monitoramento no Prometheus.
  • Suporte ao protocolo HAProxy PROXY para balanceamento de carga ou proxy de conexões para serviços SFTP/SCP sem perda de informações sobre o endereço IP de origem do usuário.
  • REST API para gerenciar usuários e diretórios, criar backups e gerar relatórios sobre conexões ativas.
  • Interface web (http://127.0.0.1:8080/web) para configuração e monitoramento (também é suportada a configuração através de arquivos de configuração comuns).
  • Possibilidade de definir configurações nos formatos JSON, TOML, YAML, HCL e envfile.
  • Suporte conexões SSH com acesso restrito a comandos do sistema. Por exemplo, é permitido executar comandos necessários para o funcionamento do Git (git-receive-pack, git-upload-pack, git-upload-archive) e rsync, assim como alguns comandos embutidos (scp, md5sum, sha*sum, cd, pwd, sftpgo-copy e sftpgo-remove).
  • Modo portable para compartilhamento de um diretório comum com geração automática de credenciais para conexão, anunciadas via multicast DNS.
  • Sistema embutido de perfilamento para análise de desempenho.
  • Simplificação processo da migração de contas de sistema Linux.
  • Armazenamento logs no formato JSON.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster