Skip to content

Latest commit

Ā 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

Gerenciador de Senhas LAPS

Sistema de gerenciamento de senhas LAPS (Local Administrator Password Solution).

šŸ“‹ Apresentação

O Gerenciador de Senhas LAPS é uma aplicação web desenvolvida para centralizar e gerenciar as senhas de administrador local de todos os computadores da rede. O sistema integra-se ao Active Directory (LDAP) para sincronizar automaticamente as senhas LAPS e fornece uma interface intuitiva para visualização, gerenciamento e monitoramento.

šŸŽÆ Funcionalidades Principais

šŸ“Š Dashboard Interativo

  • GrĆ”ficos Visuais: GrĆ”ficos de linha, barras, pizza e doughnut com estatĆ­sticas em tempo real
  • Cards de MĆ©tricas: 8 cards clicĆ”veis com informaƧƵes importantes:
    • Total de computadores
    • Senhas que expiram hoje
    • Senhas expiradas
    • Senhas antigas (6+ meses e 1+ ano)
    • Senhas manuais
    • Senhas alteradas hoje
    • Computadores sem senha
  • Sistema de Alertas: NotificaƧƵes visuais para situaƧƵes crĆ­ticas
  • Navegação Intuitiva: Cards clicĆ”veis abrem visualizaƧƵes filtradas

šŸ” Visualização e Filtros

  • Tabela Principal: Lista completa de senhas LAPS com todas as informaƧƵes
  • Filtros AvanƧados:
    • Senhas ativas (padrĆ£o)
    • Senhas nulas (computadores sem senha)
    • Senhas antigas (histórico)
    • Senhas que expiram hoje
    • Senhas alteradas hoje
  • Busca Inteligente: Pesquisa por nome do computador
  • Ordenação: Ordenação por qualquer coluna da tabela

šŸ”§ Gerenciamento de Senhas

  • Senhas AutomĆ”ticas: Sincronização automĆ”tica com o Active Directory
  • Senhas Manuais: Adição, edição e exclusĆ£o de senhas manuais
  • Cópia RĆ”pida: BotĆ£o para copiar senhas para clipboard
  • Validação: Verificação de integridade dos dados

šŸ”„ Sincronização AutomĆ”tica

  • Integração LDAP: ConexĆ£o direta com o Active Directory
  • Atualização em Tempo Real: BotĆ£o "Atualizar" para sincronizar dados
  • Processamento Inteligente: Sincroniza apenas computadores com alteraƧƵes
  • Feedback Visual: Status em tempo real do processo de atualização

šŸ”’ SeguranƧa

  • Autenticação: Sistema de login seguro
  • SessƵes Protegidas: Controle de acesso por sessĆ£o
  • Tokens CSRF: Proteção contra ataques cross-site
  • Sanitização: Tratamento seguro de dados de entrada
  • Logout Seguro: Destruição completa de sessƵes

šŸš€ Como Usar

1. Acesso ao Sistema

  • URL: Acesse a aplicação atravĆ©s do navegador
  • āš ļø Importante: Configure o usuĆ”rio e senha no arquivo init.sql antes do primeiro deploy

2. Dashboard

  • Acesso: Clique em "Dashboard" na pĆ”gina principal
  • Navegação: Clique em qualquer card para ver dados especĆ­ficos
  • Tema: Use o botĆ£o de tema para alternar entre claro/escuro
  • Atualização: Use o botĆ£o "Atualizar" para sincronizar dados

3. Visualização de Senhas

  • Tabela Principal: Visualize todas as senhas LAPS
  • Filtros: Use os checkboxes para filtrar por tipo de senha
  • Busca: Digite o nome do computador na caixa de busca
  • Ordenação: Clique nos cabeƧalhos das colunas para ordenar

4. Gerenciamento

  • Copiar Senha: Clique no Ć­cone de cópia ao lado da senha
  • Adicionar Manual: Clique no Ć­cone "+" para adicionar senha manual
  • Editar: Clique no Ć­cone de edição para modificar senha manual
  • Excluir: Clique no Ć­cone "šŸ—‘ļø" para remover senha manual

5. Atualização de Dados

  • Sincronização: Clique em "Atualizar" para sincronizar com o LDAP
  • Status: Acompanhe o progresso em tempo real
  • ConclusĆ£o: A pĆ”gina recarrega automaticamente com dados atualizados

šŸ—ļø Arquitetura

Estrutura de Diretórios

laps/
ā”œā”€ā”€ interface/           # Interface web principal
│   ā”œā”€ā”€ PHP/            # Arquivos PHP da aplicação
│   ā”œā”€ā”€ SCRIPTS/        # Scripts de sincronização
│   └── nginx/          # Configuração do servidor web
ā”œā”€ā”€ .env                # ConfiguraƧƵes do ambiente
ā”œā”€ā”€ docker-compose.yml  # Orquestração de containers
└── README.md          # Este arquivo

Tecnologias Utilizadas

  • Backend: PHP 8.1
  • Banco de Dados: MySQL 8.0
  • Servidor Web: Nginx
  • Containerização: Docker
  • Frontend: HTML5, CSS3, JavaScript
  • GrĆ”ficos: Chart.js
  • ƍcones: Font Awesome

Integração

  • Active Directory: Sincronização automĆ”tica via LDAP
  • GLPI: Integração para gestĆ£o de ativos (configurĆ”vel via GLPI_URL)
  • Banco de Dados: Armazenamento seguro de senhas e histórico

šŸ”§ Configuração

VariƔveis de Ambiente

O sistema utiliza um arquivo .env para todas as configuraƧƵes:

# ConfiguraƧƵes do Banco de Dados
DB_HOST=localhost
DB_NAME=laps_db
DB_USER=laps_user
DB_PASS=sua_senha

# ConfiguraƧƵes LDAP
LDAP_SERVER=ldap://seu-servidor
LDAP_BASE_DN=DC=exemplo,DC=com
LDAP_USER=usuario_ldap
LDAP_PASS=senha_ldap

# ConfiguraƧƵes GLPI
GLPI_URL=https://glpi.exemplo.com

# Grupos permitidos para acesso (separados por vĆ­rgula)
LDAP_ALLOWED_GROUPS=Domain Admins

Configuração do GLPI

O sistema integra-se ao GLPI para permitir visualização dos computadores no sistema de gestão de ativos. Para configurar:

  1. URL do GLPI: Configure a variƔvel GLPI_URL no arquivo .env
  2. Exemplo: GLPI_URL=https://glpi.sua-empresa.com
  3. Funcionalidade: O botão "Ver no GLPI" na tabela de senhas abrirÔ o computador correspondente no GLPI

Configuração de Grupos Permitidos

O sistema verifica se o usuƔrio pertence aos grupos configurados no Active Directory. Para configurar:

  1. Grupos Permitidos: Configure a variƔvel LDAP_ALLOWED_GROUPS no arquivo .env
  2. Exemplo: LDAP_ALLOWED_GROUPS=Domain Admins,Administradores,TI
  3. Funcionalidade: Apenas usuÔrios dos grupos especificados poderão fazer login no sistema

Configuração de UsuÔrio e Senha Local

O sistema utiliza autenticação local como fallback. Para configurar o usuÔrio e senha:

  1. Editar arquivo: interface/init.sql
  2. Localizar linha: INSERT IGNORE INTO local_users (username, password_hash, email, full_name, role) VALUES
  3. Alterar usuƔrio: Substituir 'admin' pelo nome de usuƔrio desejado
  4. Gerar hash da senha: Use um gerador de hash bcrypt online ou execute:
    <?php echo password_hash('sua_senha_aqui', PASSWORD_BCRYPT); ?>
  5. Substituir hash: Trocar o hash bcrypt existente pelo novo hash gerado
  6. Exemplo:
    INSERT IGNORE INTO local_users (username, password_hash, email, full_name, role) VALUES 
    ('seu_usuario', '$2a$12$novo_hash_aqui', 'usuario@empresa.com', 'Nome Completo', 'admin');

āš ļø Exemplo PrĆ”tico: Para criar um usuĆ”rio "ti_admin" com senha "MinhaSenha@2024":

  1. Gere o hash: <?php echo password_hash('MinhaSenha@2024', PASSWORD_BCRYPT); ?>
  2. Resultado: $2y$10$... (hash Ćŗnico)
  3. Use no SQL:
    INSERT IGNORE INTO local_users (username, password_hash, email, full_name, role) VALUES 
    ('ti_admin', '$2y$10$hash_gerado_aqui', 'ti@empresa.com', 'Administrador TI', 'admin');

Deploy com Docker

# Clone o repositório
git clone [url-do-repositorio]

# Configure o arquivo .env
cp exemplo.env .env
# Edite o arquivo .env com suas configuraƧƵes

# Execute com Docker Compose
docker-compose up -d

šŸ“ˆ Monitoramento

EstatĆ­sticas DisponĆ­veis

  • Total de Computadores: Contagem geral de registros
  • Senhas por Status: Distribuição entre ativas, nulas e manuais
  • Histórico de AlteraƧƵes: Senhas modificadas por perĆ­odo
  • Alertas de Expiração: Senhas que expiram em breve
  • Performance: Tempo de sincronização e processamento

Logs e Debug

  • Logs de Sincronização: Arquivo ldap-up.log com detalhes do processo
  • Script de EstatĆ­sticas: ldap-stats.sh para anĆ”lise detalhada
  • Monitoramento em Tempo Real: Status visual na interface

šŸ›”ļø SeguranƧa

Medidas Implementadas

  • Autenticação Segura: Sistema de login com validação
  • Proteção CSRF: Tokens para prevenir ataques cross-site
  • Sanitização de Dados: Tratamento seguro de entradas
  • SessƵes Protegidas: Controle de acesso por sessĆ£o
  • Headers de SeguranƧa: CSP, XSS Protection, Frame Options
  • Logout Seguro: Destruição completa de sessƵes e cookies

Boas PrƔticas

  • Senhas Fortes: ExigĆŖncia de complexidade mĆ­nima
  • Configuração Segura: Sempre altere o usuĆ”rio e senha padrĆ£o no init.sql
  • Controle de Acesso: Verificação de autenticação em todas as pĆ”ginas
  • Auditoria: Registro de aƧƵes importantes
  • Hash Seguro: Use sempre hash bcrypt para senhas locais

šŸŽØ Interface e UX

Design Responsivo

  • Layout AdaptĆ”vel: Funciona em desktop, tablet e mobile
  • Tema Claro/Escuro: AlternĆ¢ncia automĆ”tica com persistĆŖncia
  • ƍcones Intuitivos: Font Awesome para melhor usabilidade
  • AnimaƧƵes Suaves: TransiƧƵes CSS para melhor experiĆŖncia

Experiência do UsuÔrio

  • Feedback Visual: Estados de loading e confirmaƧƵes
  • Navegação Clara: Estrutura intuitiva e fĆ”cil de usar
  • Acessibilidade: Contraste adequado e navegação por teclado
  • Performance: Carregamento rĆ”pido e operaƧƵes eficientes

About

Sistema de gerenciamento de senhas LAPS (Local Administrator Password Solution)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages