Pular para o conteúdo principal

Versão 0.9.x

Visão geral

Versão 0.9.x é uma versão principal que introduz um Sistema Abrangente de Controle de Acesso de Usuários e Segurança. Esta versão transforma duplistatus de uma aplicação de acesso aberto em um sistema seguro e multi-usuário com controle de acesso baseado em funções, registro de auditoria abrangente e recursos de segurança de nível empresarial. Toda a funcionalidade existente agora é protegida por autenticação, garantindo que apenas usuários autorizados possam acessar e gerenciar o monitoramento de backup.

Mudanças Significativas

Autenticação Obrigatória

  • Todas as páginas agora exigem autenticação - Os usuários devem entrar para acessar a aplicação
  • Conta admin padrão é criada automaticamente:
    • Nome de usuário: admin
    • Senha: Duplistatus09 (deve ser alterada no primeiro login)
  • Sessões existentes são invalidadas - Todos os usuários devem entrar após a atualização
  • Endpoints de API agora exigem autenticação - Integrações externas devem incluir cookies de sessão ou usar requisições autenticadas
Aviso

Todos os usuários devem entrar após atualizar para a versão 0.9.x. As credenciais padrão de admin são admin/Duplistatus09. Altere a senha imediatamente após o primeiro login.

Migração de Schema de Banco de Dados

  • Migração automática de v3.1 para v4.0 para instalações existentes
  • Novas tabelas adicionadas: users, sessions, audit_log
  • Backup do banco de dados criado automaticamente antes da migração
  • Novas instalações iniciam diretamente com schema v4.0 (nenhuma migração necessária)

Novos Recursos

Controle de Acesso de Usuário e Sistema de Segurança

Sistema de Autenticação

  • Funcionalidade de login/logout de usuário com gerenciamento seguro de sessão
  • Autenticação baseada em senha com hash bcrypt (fator de custo 12)
  • Mecanismo de bloqueio de conta (5 tentativas falhadas, bloqueio de 15 minutos)
  • Alteração forçada de senha no primeiro login
  • Aplicação de política de senha:
    • Mínimo 8 caracteres
    • Pelo menos uma letra maiúscula
    • Pelo menos uma letra minúscula
    • Pelo menos um número
    • Caracteres especiais opcional
  • Funcionalidade "Lembrar de mim" com persistência de nome de usuário em localStorage
  • Autenticação baseada em sessão com sessões apoiadas em banco de dados (substitui em memória)
  • Proteção CSRF integrada com autenticação
  • Cookies HTTP-only para segurança de sessão
  • Rastreamento de endereço IP e agente do usuário para monitoramento de segurança

Gerenciamento de usuários (Apenas Admin)

  • Criação de usuário com geração automática de senha temporária
  • Lista de usuários com pesquisa, paginação e filtros
  • Edição de usuário (nome de usuário, status de admin, requisito de alteração de senha)
  • Funcionalidade de redefinição de senha com exibição de senha temporária
  • Exclusão de usuário com salvaguardas (impede exclusão do último admin)
  • Controle de acesso baseado em função (funções Admin/Usuário)
  • Indicadores de status (Ativo, Bloqueado, Deve alterar a senha)
  • Rastreamento de último login e exibição

Sistema de Registro de Auditoria

  • Trilha de auditoria abrangente para todas as mudanças do sistema e ações do usuário
  • Visualizador de log de auditoria com filtragem avançada:
    • Filtragem por intervalo de data
    • Filtragem por usuário
    • Filtragem por ação
    • Filtragem por categoria
    • Filtragem por status
  • Funcionalidade de exportação (formatos CSV e JSON)
  • Estatísticas e análises de log de auditoria
  • Período de retenção configurável (30-365 dias, padrão: 90 dias)
  • Tarefa de limpeza automática cron (executa diariamente às 2h UTC)
  • API de limpeza manual com suporte a simulação
  • Log de auditoria para:
    • Eventos de autenticação (login, logout, alterações de senha, bloqueios de conta)
    • Operações de gerenciamento de usuários (criar, atualizar, excluir, redefinições de senha)
    • Mudanças de configuração (e-mail, NTFY, modelos, tolerância de atraso, configurações de backup)
    • Operações de backup (coleta, exclusão, limpeza)
    • Gerenciamento de servidores (adicionar, atualizar, excluir)
    • Operações do sistema (migrações, limpeza, notificações)

Redesign da Página de Configurações

  • Navegação moderna da barra lateral com barra lateral recolhível
  • Persistência de estado da barra lateral específica do usuário (preferência de recolhida/expandida salva por usuário)
  • Seções de configurações agrupadas:
    • Notificações: Notificações de backup, Monitoramento de backup, Modelos
    • Integrações: NTFY, E-mail
    • Sistema: Servidores, Usuários (apenas admin), Log de Auditoria
  • Barra lateral fixa que permanece visível ao rolar
  • Design responsivo com espaçamento otimizado
  • Ícone de configurações e título "Configurações do Sistema" no cabeçalho da barra lateral
  • Botão Voltar integrado ao cabeçalho do aplicativo

Melhorias da Interface do Usuário

  • Página de login independente com design moderno
  • Caixa de seleção "Lembrar de mim" no formulário de login para persistência do nome de usuário
  • Botões mostrar/ocultar senha nos formulários de login e alteração de senha
  • Modal de alteração de senha com lista de validação em tempo real
  • Indicador de usuário e botão de sair no cabeçalho do aplicativo
  • Visibilidade da interface baseada em função (recursos apenas para admin ocultos de usuários comuns)
  • Crachás e indicadores de status em toda a interface
  • Preferências específicas do usuário armazenadas em localStorage (por exemplo, estado da barra lateral recolhida)

Recursos de Segurança

  • Hashing de senha com bcrypt (padrão da indústria)
  • Sanitização de dados sensíveis em logs de auditoria (senhas, tokens, segredos nunca são registrados)
  • Limitação de taxa para tentativas de login
  • Expiração de sessão (24 horas)
  • Validação de token CSRF para todas as operações que alteram estado
  • Ferramenta CLI de recuperação do Admin para redefinição de senha se bloqueado

Ferramentas do Desenvolvedor

  • Script CLI de recuperação de Admin (admin-recovery) para fácil execução em contêineres Docker
  • Funciona tanto localmente quanto em Docker com detecção automática de caminho
  • Interfaces TypeScript abrangentes (sem tipos any)
  • Middleware de autenticação para proteção de rotas
  • Classe utilitária de logger de auditoria com métodos de conveniência

🚀 Notas de Migração

Da Versão 0.8.x

Esta versão introduz autenticação e requer que todos os usuários entrem. Quando atualizar da versão 0.8.x:

  1. Migração Automática do Banco de Dados: A aplicação migrará automaticamente o esquema do seu banco de dados da v3.1 para v4.0
  2. Backup do Banco de Dados: Um backup automático é criado antes da migração
  3. Conta Admin Padrão: Uma conta admin padrão é criada:
    • Nome de usuário: admin
    • Senha: Duplistatus09
    • Você deve alterar esta senha no primeiro login
  4. Invalidação de Sessão: Todas as sessões existentes são invalidadas
  5. Login do Usuário Obrigatório: Todos os usuários devem entrar após a atualização
  6. Autenticação de API: As integrações externas devem ser atualizadas para incluir autenticação

Considerações de Segurança

  • Alterar Senha Padrão: Altere a senha padrão do admin imediatamente após o primeiro login
  • Criar Contas de Usuário: Crie contas de usuário individuais para cada pessoa que precisa de acesso
  • Verificar Logs de Auditoria: Verifique os logs de auditoria regularmente para monitoramento de segurança
  • Configurar Retenção: Defina o período apropriado de retenção de log de auditoria com base em seus requisitos de conformidade
  • Backup da Chave Mestra: Se estiver atualizando da versão 0.8.x, certifique-se de que o arquivo .duplistatus.key está em backup

Primeiros Passos de Login

  1. Entrar com credenciais padrão (admin / Duplistatus09)
  2. Alterar senha quando solicitado (obrigatório no primeiro login)
  3. Criar usuário para outros usuários (Configurações → Usuários)
  4. Configurar retenção de log de auditoria se necessário (Configurações → Log de Auditoria)
  5. Revisar logs de auditoria para verificar se o sistema está funcionando corretamente

🐛 Correções de Bugs

  • Corrigidos problemas de persistência de sessão entre reinicializações de servidor
  • Melhorado tratamento de erros para falhas de autenticação
  • Aprimorado feedback de validação de senha
  • Corrigidas inconsistências de UI na página de Configurações
  • Melhorado desempenho de filtragem do Log de Auditoria

Pontos de Extremidade da API

Pontos de Extremidade de Autenticação

  • POST /api/auth/login - Autenticação de usuário
  • POST /api/auth/logout - Encerramento de sessão
  • GET /api/auth/me - Informações do usuário atual
  • POST /api/auth/change-password - Alteração de senha

Endpoints de Gerenciamento de usuários (Apenas Admin)

  • GET /api/users - Listar usuários
  • POST /api/users - Criar usuário
  • PATCH /api/users/{id} - Atualizar usuário
  • DELETE /api/users/{id} - Excluir usuário

Endpoints de Log de Auditoria

  • GET /api/audit-log - Consultar logs de auditoria
  • GET /api/audit-log/download - Exportar logs de auditoria
  • GET /api/audit-log/stats - Estatísticas de auditoria
  • POST /api/audit-log/cleanup - Limpeza manual (apenas admin)
  • GET /api/audit-log/retention - Obter configuração de retenção
  • PATCH /api/audit-log/retention - Atualizar retenção (apenas admin)
nota

Todos os endpoints da API agora exigem autenticação. Consulte a Referência da API para detalhes sobre autenticação.


Suporte

Obtendo Ajuda

Relatando Bugs

Ao relatar bugs, inclua:

  • Versão: 0.9.x
  • Sistema operacional e versão
  • Versão do Docker
  • Mensagens de erro e logs
  • Passos para reproduzir
  • Função do usuário (admin/usuário) se relevante

Changelog

Alterações Detalhadas

  • Adicionado: Sistema completo de autenticação e autorização
  • Adicionado: Gerenciamento de usuários com controle de acesso baseado em função
  • Adicionado: Sistema abrangente de auditoria
  • Adicionado: Redesign da página de Configurações com barra lateral recolhível
  • Adicionado: Ferramenta CLI de recuperação Admin
  • Adicionado: Aplicação de política de Senha
  • Adicionado: Mecanismo de bloqueio de conta
  • Adicionado: Gerenciamento de sessão com persistência em banco de dados
  • Alterado: Todas as páginas agora exigem autenticação
  • Alterado: Schema do banco de dados de v3.1 para v4.0
  • Alterado: Armazenamento de sessão de em memória para suportado por banco de dados
  • Alterado: Layout e navegação da página de Configurações
  • Corrigido: Persistência de sessão entre reinicializações do Servidor
  • Corrigido: Várias inconsistências de UI
  • Melhorado: Postura de Segurança com auditoria abrangente
  • Melhorado: Experiência do usuário com páginas modernas de Login e Configurações
  • Melhorado: Qualidade de código com interfaces TypeScript e princípios DRY

Licença

Este projeto está licenciado sob a Apache License 2.0.

Copyright © 2025 Waldemar Scudeller Jr.