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)
- Nome de usuário:
- 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
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:
- 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
- Backup do Banco de Dados: Um backup automático é criado antes da migração
- 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
- Nome de usuário:
- Invalidação de Sessão: Todas as sessões existentes são invalidadas
- Login do Usuário Obrigatório: Todos os usuários devem entrar após a atualização
- 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.keyestá em backup
Primeiros Passos de Login
- Entrar com credenciais padrão (
admin/Duplistatus09) - Alterar senha quando solicitado (obrigatório no primeiro login)
- Criar usuário para outros usuários (Configurações → Usuários)
- Configurar retenção de log de auditoria se necessário (Configurações → Log de Auditoria)
- 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árioPOST /api/auth/logout- Encerramento de sessãoGET /api/auth/me- Informações do usuário atualPOST /api/auth/change-password- Alteração de senha
Endpoints de Gerenciamento de usuários (Apenas Admin)
GET /api/users- Listar usuáriosPOST /api/users- Criar usuárioPATCH /api/users/{id}- Atualizar usuárioDELETE /api/users/{id}- Excluir usuário
Endpoints de Log de Auditoria
GET /api/audit-log- Consultar logs de auditoriaGET /api/audit-log/download- Exportar logs de auditoriaGET /api/audit-log/stats- Estatísticas de auditoriaPOST /api/audit-log/cleanup- Limpeza manual (apenas admin)GET /api/audit-log/retention- Obter configuração de retençãoPATCH /api/audit-log/retention- Atualizar retenção (apenas admin)
Todos os endpoints da API agora exigem autenticação. Consulte a Referência da API para detalhes sobre autenticação.
Suporte
Obtendo Ajuda
- Documentação: Guia do Usuário
- Referência de API: Documentação da API
- Guia de Migração: Migração de Atualização de Versão
- Recuperação de Admin: Recuperação de Conta Admin
- Comunidade: GitHub Discussions
- Problemas: GitHub Issues
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.