O INVENTORY é uma solução para a gestão centralizada do inventário de máquinas corporativas, desenvolvida para ambientes que exigem alta visibilidade, rastreabilidade e segurança. O sistema transforma os dados de telemetria brutos coletados pela sua plataforma Wazuh (via SysCollector) em uma Interface Web Segura e Moderna.
O objetivo principal do INVENTORY é eliminar a "cegueira" sobre os ativos de TI, fornecendo às equipes de segurança, operações e compliance uma fonte única e confiável de informação sobre o estado, hardware, software e segurança de cada dispositivo.
A principal vantagem reside na utilização dos agentes nativos do Wazuh, eliminando a necessidade de instalar softwares adicionais nos endpoints e, consequentemente, reduzindo a superfície de ataque e o overhead operacional.
Os principais objetivos do sistema INVENTORY são: Centralizar informações de inventário de TI de dispositivos corporativos. • Garantir rastreabilidade e auditoria completa dos ativos. • Oferecer dashboards interativos para equipes de segurança e TI. • Permitir a integração com outros sistemas corporativos (CMDB, SIEM, DLP). • Agrupar Informações do Host como Processos, Serviços, Portas Abertas, Programas Instalados. • Suportar ambientes heterogêneos (Linux, Windows, servidores e estações de trabalho) em empresas de pequeno e médio porte.
A arquitetura do INVENTORY foi evoluída para um modelo de três camadas robusto: coleta, armazenamento relacional e apresentação. Este desacoplamento permite que o coletor e a aplicação web sejam mantidos e escalados de forma independente. A adoção de um banco de dados PostgreSQL (containerizado via Docker) como camada de persistência provê um repositório de dados confiável, estruturado e escalável, superando as limitações de performance e integridade do modelo anterior baseado em arquivos JSON.
-
Coleta de Dados (Wazuh Collector): O processo se inicia com o componente coletor, que se conecta de forma segura à API REST do Wazuh Manager. Utilizando o módulo SysCollector, ele extrai informações dos agentes, incluindo detalhes de hardware, sistema operacional, configurações de rede, portas abertas, pacotes de software e processos em execução.
-
Armazenamento (PostgreSQL Database): Diferente da versão anterior, os dados coletados não são mais salvos em arquivos locais. Eles são processados, estruturados e persistidos em um banco de dados relacional PostgreSQL. Essa migração permite transações mais seguras, consultas complexas mais rápidas e uma base sólida para as novas funcionalidades de dashboard em tempo real e multi-usuário.
-
Apresentação e Análise (Flask App): A aplicação web, desenvolvida em Flask, conecta-se ao banco de dados PostgreSQL para recuperar e exibir as informações em uma interface interativa. Os dados são apresentados em dashboards estatísticos (com atualização automática), painéis de listagem de máquinas e relatórios detalhados, permitindo que as equipes de TI e segurança analisem, inspecionem e auditem o inventário de forma centralizada e eficiente.
A arquitetura é materializada por três componentes principais que trabalham em conjunto: o Módulo Coletor, o Banco de Dados PostgreSQL e a Aplicação Web. A solução mantém o padrão de arquitetura MVC (Model-View-Controller), uma prática recomendada de segurança que impõe a separação de interesses. Ao isolar a lógica de manipulação de dados (agora gerida pelo banco de dados) da camada de apresentação, o padrão MVC reduz a superfície de ataque e facilita a manutenção e o desenvolvimento seguro.
O Coletor de Dados é o principal responsável pela extração de informações, atuando como a interface de comunicação entre o sistema INVENTORY e o ambiente WAZUH. Sua função é automatizar a coleta e a estruturação dos dados de inventário.
**Dados Coletados:**
- **Informações Básicas**
- Hostname
- Agent ID
- Sistema Operacional
- Arquitetura
- Serial da placa
- Última varredura
- **Hardware**
- CPU
- Núcleos
- Memória RAM
- **Rede**
- Interfaces de rede
- Endereço MAC
- Endereço IP
- Portas de rede abertas
- Configurações de rede
- **Software**
- Pacotes instalados
- Processos em execução
- **Classificação de Atividade**
- Dispositivos classificados como ativos ou inativos conforme a última sincronização.
- **Grupos do WAZUH**
| Função | Detalhamento |
|---|---|
| Interface com a API do Wazuh | Realiza a coleta e listagem de dados dos agentes monitorados, utilizando o módulo SysCollector do Wazuh. |
| Autenticação | Utiliza um Token JWT (JSON Web Token) para garantir o acesso seguro e autenticado à API do Wazuh. |
| Listagem de Agentes: | Recupera a lista de todos os dispositivos monitorados via API. |
| Dados Coletados | Extrai informações de Hardware (CPU, RAM, disco), Software (pacotes instalados), Rede (interfaces, portas abertas), Processos e detalhes do agente (status, hostname, ID). |
| Armazenamento | O coletor insere e atualiza os registros diretamente no banco de dados relacional PostgreSQL, garantindo integridade, consistência e suporte a múltiplas sessões simultâneas da aplicação web. |
A Aplicação Web é a camada de processamento, gerenciamento, visualização e gestão da solução, fornecendo a interface com a qual os usuários interagem para analisar o inventário. Atualmente integrada ao banco de dados PostgreSQL, a aplicação oferece maior performance, estabilidade e resposta rápida nas requisições, eliminando a dependência de leitura de arquivos estáticos.
Acessível via navegador, a plataforma conta com as seguintes funcionalidades:
-
Autenticação e Gestão de Identidade
- Senhas protegidas com hash bcrypt.
- Gerenciador de Contas e funcionalidade de Troca de Senha.
- Bloqueio de IP após tentativas falhas configuráveis.
- Expiração automática da sessão (ex: 30 minutos).
- Autenticação Multifator (MFA TOTP).
-
Dashboard Estatístico (Tempo Real)
- Atualização automática a cada 2 minutos sem necessidade de recarregar a página.
- Total de máquinas cadastradas, ativas e inativas.
- Distribuição de Sistemas Operacionais, Arquiteturas e Hardware.
- Análise de Portas de Rede, Serviços e Processos.
-
Painel e Busca de Ativos
- Lista completa de dispositivos com filtros avançados.
- Sistema de Busca Avançada com sintaxe de tags (ex:
ports:445,os:Windows). - Controle de Máquinas Legadas para gestão de ativos antigos ou específicos.
-
Internacionalização
- Suporte Multi-idioma completo para Inglês, Espanhol e Hindi.
-
Detalhes e Relatórios
- Visão detalhada dos dados coletados para cada host (Hardware, Rede, Software).
- Exportação de relatórios em formato PDF.
| Função | Detalhamento |
|---|---|
| Framework | A aplicação é construída sobre o micro-framework Flask, utilizando a linguagem Python. A integração com PostgreSQL substitui o uso de arquivos JSON locais, garantindo consultas mais rápidas e integridade de dados. |
| Interface | A interface do usuário é desenvolvida com Tríade da Web, utilizando bibliotecas como Chart.js para gráficos interativos e Font Awesome para ícones, resultando em uma experiência moderna e responsiva. |
| Funcionalidades | Oferece um dashboard estatístico com atualização em tempo real (2 min), suporte a múltiplos idiomas (Inglês, Espanhol, Hindi), gestão de contas, controle de máquinas legadas, busca avançada e exportação de relatórios em PDF. |
| Segurança | Implementa múltiplos mecanismos de segurança, incluindo armazenamento de senhas com hash bcrypt, Autenticação Multifator (MFA) baseada em TOTP, controle de acesso por faixas de IP e o uso de headers de segurança HTTP. |
A organização lógica do sistema evoluiu para suportar a nova arquitetura baseada em banco de dados relacional, mantendo pastas locais para configurações, logs e suporte a máquinas legadas. A separação entre a aplicação web, o container do banco de dados e os utilitários facilita a manutenção e o deployment.
| Diretório/Arquivo | Função |
|---|---|
app.py |
Aplicação principal Flask. |
models.py |
Definição dos modelos/tabelas do banco de dados (SQLAlchemy). |
postgres/ |
Configuração do Docker Compose para o banco PostgreSQL. |
migrate_db.py |
Script para migrar dados antigos (JSON) para o PostgreSQL. |
utils/collector.py |
Novo módulo responsável pela coleta de dados na API do Wazuh. |
data/ |
Contém dados de autenticação local, grupos e cache/inventário legado. |
logs/ |
Logs de operação, auditoria e sessões de usuário. |
ssl/ |
Certificados TLS/SSL para conexões HTTPS. |
A estrutura do projeto separa a aplicação, os dados e os utilitários de gestão:
| Categoria | Função |
|---|---|
| Núcleo da Aplicação | Contém a lógica principal da interface web (Flask). |
| Dados | Diretórios para armazenar os arquivos JSON do inventário, credenciais de usuários e dados de grupos do Wazuh. |
| Recursos Estáticos | Arquivos de estilo (CSS), scripts de interação (JS) e imagens/ícones. |
| Templates | Arquivos HTML da interface do usuário. |
| Utilitários | Scripts para coleta de dados, gerenciamento de usuários e exportação de relatórios. |
| Certificados | Arquivos para configuração de segurança HTTPS (TLS/SSL). |
INVENTORY/ # Diretório raiz do projeto
├── app.py # Ponto de entrada principal da aplicação Flask
├── models.py # Definição das tabelas do Banco de Dados
├── migrate_db.py # Script de migração (JSON -> PostgreSQL)
├── reset_db.py # Script para limpar/resetar o banco de dados
├── requirements.txt # Dependências Python
├── .env # Variáveis de ambiente (Senhas, IPs, Configurações)
├── data/ # Dados persistentes e configurações locais
│ ├── auth/
│ │ └── logins.json # Credenciais de usuários (configuração local)
│ ├── groups/
│ │ └── groups.json # Cache de grupos do Wazuh
│ └── inventory/ # Armazenamento local (ex: máquinas legadas ou cache)
│ ├── hosts_antigos/ # Diretório para máquinas legadas
│ └── [arquivos JSON...] # Dados de hosts (quando aplicável)
├── logs/ # Logs de execução e segurança
│ ├── audit.log # Log de auditoria
│ ├── error.log # Log de erros
│ ├── info.log # Log de informações gerais
│ ├── security.log # Log de eventos de segurança
│ ├── warning.log # Log de alertas
│ └── flask_sessions/ # Sessões ativas dos usuários
├── postgres/ # Configuração do Banco de Dados (Docker)
│ └── docker-compose.yml # Orquestração do container PostgreSQL
├── ssl/ # Certificados TLS/SSL
│ ├── cert.pem
│ └── key.pem
├── static/ # Arquivos estáticos
│ ├── css/ # Estilos da interface
│ ├── js/ # Scripts JavaScript (Dashboard, Gráficos, Tema)
│ └── [images/icons] # Logos e favicons
├── templates/ # Templates HTML (Jinja2)
│ ├── admin_users.html # Gestão de contas de usuários
│ ├── legacy_machines.html # Controle de máquinas legadas
│ ├── dashboard.html # Dashboard principal
│ ├── painel.html # Listagem de máquinas
│ ├── search.html # Busca avançada
│ ├── machine_details.html # Detalhes do ativo
│ ├── settings.html # Configurações do sistema
│ ├── login.html # Tela de login
│ ├── verify_mfa.html # Verificação de dois fatores
│ ├── error.html # Página de erro
│ └── base.html # Template base (layout)
└── utils/ # Scripts utilitários e lógica de negócio
├── collector.py # Coletor de dados (substitui o antigo get_data.py)
├── machine_handler.py # Manipulação lógica de máquinas
├── language.py # Suporte a internacionalização (Inglês, Espanhol, Hindi)
├── mfa_utils.py # Funções auxiliares para MFA
└── pdf_export.py # Exportação de relatórios PDF
A interface web do INVENTORY foi desenvolvida para transformar os dados brutos coletados em inteligência acionável, fornecendo ferramentas poderosas para as equipes de TI e segurança.
O dashboard é a visão centralizada e estatística do inventário, projetado para oferecer uma compreensão imediata do ambiente de TI.
• Métricas (KPIs): Apresenta indicadores chave de desempenho, como o número total de máquinas, a quantidade de ativos online (ativos) e offline (inativos).
• Gráficos Interativos: Exibe visualizações gráficas da distribuição de sistemas operacionais, tipos de processadores, faixas de memória RAM, portas de rede mais comuns e processos com maior recorrência, além da evolução temporal do status dos agentes, permitindo a análise de tendências. O clique em um gráfico redireciona para a busca avançada com o filtro correspondente aplicado.
Este painel fornece uma listagem de todos os dispositivos inventariados, exibindo informações resumidas e o status de atividade em tempo real. A partir desta lista, é possível navegar para uma página de detalhes completa para cada ativo, que consolida todas as informações extraídas do Wazuh, incluindo hardware, rede, software instalado e processos em execução.
A funcionalidade de busca avançada é uma ferramenta para atividades de threat hunting, auditoria, ou até mesmo uma simples pesquisa, permitindo consultas precisas com uma sintaxe baseada em tags.
Exemplos de Sintaxe de Busca:
• ports:445 - Localiza máquinas com uma porta específica aberta.
• inventory:os:Windows - Filtra dispositivos por sistema operacional.
• inventory:packages:chrome - Busca por máquinas com um pacote de software específico instalado.
• agent_info:10.7.6.20 - Pesquisa por hostname, IP, status ou ID do agente.
• inventory:processes:python - Busca por processos em execução em um ativo.
• ram_gb:9-12gb - Filtra ativos por uma faixa específica de memória RAM.
• groups:Home - Busca pelo grupo pesquisado.
O sistema permite a exportação de relatórios completos do inventário em formatos PDF e CSV, facilitando a criação de documentação para auditorias de conformidade. Adicionalmente, oferece uma funcionalidade de_ sincronização manual_, que aciona o coletor para atualizar os dados do inventário diretamente do Wazuh, garantindo que as informações estejam sempre atualizadas.
Note
Devido a uma restrição de segurança da própria API do Wazuh, a sincronização pode ser lenta de acordo com a quantidade de hosts a serem sincronizados.
Com a intenção de facilitar a utilização do sistema, foi desenvolvido uma area de configuração de sincronização com o API WAZUH, com ingestao dos dados em periodos especificos.
A segurança é uma prioridade no design do sistema INVENTORY. A arquitetura emprega uma estratégia de "defesa em profundidade", com controles implementados nas camadas de autenticação, sessão, rede e transporte para proteger de forma abrangente o acesso aos dados centralizados de inventário.
A proteção de credenciais e o controle de acesso são realizados por meio de um conjunto robusto de medidas:
• Hash bcrypt: As senhas dos usuários são armazenadas utilizando o algoritmo bcrypt, um padrão forte que protege contra ataques de quebra de senha offline, como rainbow table e força bruta. • Controle de Força Bruta: O sistema implementa um mecanismo de bloqueio de IP após um número configurável de tentativas de login falhas. • Verificação de IP de Origem: Cada login é validado contra o endereço IP de origem para mitigar o risco de sequestro de sessão ou uso de credenciais roubadas de locais não autorizados. • Timeout Automático: As sessões de usuário expiram automaticamente após um período de inatividade (padrão de 15 minutos), mitigando o risco de acesso não autorizado a estações de trabalho desatendidas.
Para reforçar a segurança do login, o sistema suporta Autenticação Multifator (MFA) baseada no padrão TOTP (Time-based One-Time Password). Esta funcionalidade é compatível com aplicativos autenticadores populares, como o Google Authenticator, pode ser configurada de forma simples através da leitura de um QR code e oferece suporte a backup de códigos de recuperação.
Para ajudar a controlar e descentrazar as atividades dos analistas, foi desenvolvido a area de contas de usuários, podendo ser definido um usuario comum, para ser observador, ou outros administradores.
O acesso à interface web pode ser restrito a faixas de rede específicas. Essa configuração é controlada pela variável de ambiente ALLOWED_IP_RANGES, permitindo que apenas usuários de redes confiáveis (como a rede corporativa interna) possam acessar a aplicação.
A comunicação entre o cliente e o servidor é protegida com TLS/SSL, garantindo a criptografia de todo o tráfego via HTTPS. A aplicação também implementa Headers de Segurança HTTP para mitigar ataques comuns a aplicações web. Além disso, o sistema mantém logs detalhados de segurança (security.log) e auditoria (audit.log), registrando eventos relevantes para garantir a rastreabilidade completa das ações.
OBS: Esta configuração foi realizada em um UBUNTU 24.04
O sistema realiza o inventário dos dispositivos com agentes Wazuh em duas camadas principais:
- Coletor de Dados: Responsável por se conectar à API do Wazuh e coletar informações detalhadas de cada agente monitorado, incluindo dados de hardware, sistema operacional, rede e portas abertas. As informações são processadas e armazenadas em arquivos JSON, organizados por hostname, de forma estruturada e padronizada para consumo posterior pela interface web.
- Aplicação Web (Flask): Consome os arquivos JSON gerados pelo coletor e apresenta os dados por meio de uma interface web segura e interativa. A aplicação disponibiliza dashboards estatísticos, visualizações individuais por máquina, filtros dinâmicos, busca avançada e consultas personalizadas. Essa interface facilita a análise, inspeção e auditoria do inventário de forma eficiente e centralizada.
Operation Flow:
Wazuh Manager (API REST / SysCollector)
│
└─ Coleta de dados: hardware, SO, rede, portas, pacotes, processos
│
▼
Coletor Python
│
└─ Consome API do Wazuh e normaliza os dados
│
▼
Parser
│
└─ Estrutura e organiza os dados (JSON → modelo relacional)
│
▼
PostgreSQL (Docker)
│
└─ Armazenamento estruturado por hostname / grupos / atributos
│
▼
Flask Web App
│
└─ Consultas SQL + regras de negócio
│
▼
Dashboard do Usuário
└─ Visualização centralizada, busca e análise por máquina
Criar usuário:
sudo useradd -r -s /usr/sbin/nologin inventoryInstalar dependências:
sudo apt install -y docker.io docker-compose-v2 python3-pip python3-venvO inventory serve como uma solução para centralizar os dados de OSCollector do WAZUH. Ao invés de acessar maquina por maquina, é possivel ter uma visão geral e abrangente dos ativos.
Criar e configurar a pasta:
cd /opt
sudo mkdir Inventory
sudo chown -R inventory:inventory ./Inventory
Clonar o repositório:
sudo -u inventory git clone https://github.com/Maarckz/Inventory.gitCriar o .env dentro de Inventory e colar o conteúdo abaixo
sudo -u inventory cd Inventory
sudo -u inventory nano .env# Configurações de segurança
SECRET_KEY=MINHACHAVE
SESSION_SALT=supersecreta_altere_esta_chave_salt!
INVENTORY_DIR=data/inventory
GROUPS_DIR=data/groups
AUTH_FILE=data/auth/logins.json
LOG_DIR=logs
# Configurações de rede
HOST=0.0.0.0
PORT=8000
DEBUG=False
# Configurações de HTTPS
USE_HTTPS=True
SSL_CERT_PATH=ssl/cert.pem
SSL_KEY_PATH=ssl/key.pem
# Permitir apenas IPs de uma faixa específica
ALLOWED_IP_RANGES=0.0.0.0/0
WAZUH_PROTOCOL=https
WAZUH_HOST=192.168.0.26
WAZUH_PORT=55000
WAZUH_USER=wazuh-wui
WAZUH_PASSWORD=senha_do_wazuh-wui
# Banco de Dados PostgreSQL
DB_USER=inventorydb
DB_PASS=senhadoinventorydb
DB_HOST=localhost
DB_PORT=5432
DB_NAME=inventory_dbAs credenciais de API, devem ser consultadas dentro da pasta de instalaçao do WAZUH
sudo tar -O -xvf wazuh-install-files.tar wazuh-install-files/wazuh-passwords.txtCriar o ambiente virtual e de permissões novamente
sudo -u inventory python3 -m venv /opt/Inventory/venv
sudo chown -R inventory:inventory ./InventoryCriar o ambiente .venv:
sudo -u inventory python3 -m venv /opt/Inventory/.venvDentro do shell:
sudo -u inventory bash -c "source /opt/Inventory/.venv/bin/activate && exec bash"Instalar dependências com o usuário Inventory:
pip3 install -r requirements.txtCriar TLS/SSL Cert:
openssl req -x509 -newkey rsa:4096 -nodes -out ssl/cert.pem -keyout ssl/key.pem -days 365 Criação do Banco de Dados:
exit #VOLTAR AO USUARIO DO SISTEMA
cd postgres/
#EDITAR AS CREDENCIAS SE FORAM ALTERADAS NO .env
sudo docker compose up -d Teste da aplicação WEB:
sudo -u inventory -s
cd .. && source .venv/bin/activate && python3 app.pyLogin e Password padrão:
Login: admin
Password: Meuadmin123exit # VOLTAR AO USUARIO DO SISTEMA
cp -a <diretorio_inventory_antigo>/data/. /opt/Inventory/data/
sudo chown -R inventory:inventory ./Inventory
sudo -u inventory -s # VOLTAR PARA USUARIO INVENTORY
source .venv/bin/activate
python3 migrate_db.py
# REINICIAR A APLICAÇÃO OU SINCRONIZAR
Para manter os serviço disponivel mesmo após o reboot, sugiro a criação abaixo no diretório:
sudo nano /etc/systemd/system/inventory.service
[Unit]
Description=Inventory Application
After=network.target
Wants=network-online.target
[Service]
# Exec
Type=simple
WorkingDirectory=/opt/Inventory
ExecStart=/opt/Inventory/.venv/bin/python3 /opt/Inventory/app.py
# Run as unprivileged account (or use DynamicUser=yes, ver abaixo)
User=inventory
Group=inventory
# Restart policy
Restart=always
RestartSec=5
# Basic sandboxing
NoNewPrivileges=yes # impede elevação de privilégios
PrivateTmp=yes # /tmp isolado
PrivateDevices=yes # sem acesso direto a /dev
ProtectSystem=full # /usr e /boot readonly; 'full' protege /etc também
ProtectHome=yes # /home e /root inacessíveis
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectKernelLogs=yes
ProtectControlGroups=yes
# Filesystem allowlist: deixa somente o que precisa escrever
ReadOnlyPaths=/
ReadWritePaths=/opt/Inventory
# Network restrictions: permita só famílias necessárias (web usa AF_INET/AF_INET6)
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
# Capabilities: remove tudo por padrão (adicione só o que for imprescindível)
CapabilityBoundingSet=
AmbientCapabilities=
# Limits
LimitNOFILE=65536
LimitNPROC=1024
# Memory exec protections
MemoryDenyWriteExecute=yes
LockPersonality=yes
# Logging
StandardOutput=journal
StandardError=journal
# Extra: make sure service cannot create new users/suid escalation
RestrictSUIDSGID=yes
[Install]
WantedBy=multi-user.target
Recarregue o daemon do sistema:
sudo systemctl daemon-reloadHabilite e inicie o Inventory.service:
sudo systemctl enable inventory.service && sudo systemctl start inventory.servicePara verificar o usuário do serviço / processo:
systemctl show -p MainPID --value inventory.service
ps -o user,pid,cmd -p <PID>
Rotinas de manutenção e monitoramento são essenciais para garantir a integridade, a atualização e a segurança contínua dos dados gerenciados pelo INVENTORY.
• Diária: Verificação dos logs em logs/ audit.log error.log flask_sessions info.log security.log warning.log, ele pode indicar anomalias na aplicação.
• Semanal: Realizar o backup do banco de dados POSTGRESQL (DOCKER) docker exec -t inventory_postgres pg_dump -U inventorydb inventory_db > backup_inventario_$(date +%Y%m%d).sql.
• Mensal: Conduzir uma auditoria dos usuários e acessos registrados para garantir a conformidade com as políticas de segurança.
• Anual: Renovar os certificados TLS/SSL para manter a segurança da comunicação HTTPS.
Os logs são ferramentas críticas para o monitoramento da saúde do sistema e para a solução de problemas.
• info.log: Registra informações gerais sobre a execução da aplicação.
• warning.log: Armazena alertas e avisos que não são erros críticos, mas que podem requerer atenção.
• error.log: Armazena erros e exceções que ocorrem durante a operação.
• security.log: Registra eventos de segurança, como tentativas de login (bem-sucedidas e falhas), ativação de MFA e bloqueios de IP.
• audit.log: Fornece uma trilha de auditoria de acessos e atividades realizadas pelos usuários na plataforma.
| Problema Comum | Ação Recomendada |
|---|---|
| Dados não atualizam | Verifique se o coletor de dados (get_data.py) está sendo executado corretamente. Execute-o manualmente para forçar uma sincronização. |
| Erro de certificado | Confirme se os caminhos SSL_CERT_PATH e SSL_KEY_PATH no arquivo .env estão corretos e se os arquivos de certificado existem. |
| Acesso negado | Verifique se o endereço IP de origem do acesso está incluído nas faixas permitidas pela variável ALLOWED_IP_RANGES. |
O INVENTORY é um projeto em desenvolvimento ativo, com um roadmap claro para aprimoramentos focados em escalabilidade, integração e segurança, garantindo sua relevância e robustez a longo prazo.
| Projeto | Descrição |
|---|---|
| Containerização | - Criação de uma imagem Docker oficial e uso de Docker Compose para simplificar a orquestração e a implantação do ambiente. |
| Backend e Performance | - Implementação de Redis para cache de dados, visando melhorar a velocidade da interface. - Criação de uma API REST para facilitar integrações com sistemas externos. - Suporte a bancos de dados relacionais (SQL) para maior escalabilidade. |
| Frontend e UX | - Implementação de WebSockets para a atualização de dashboards em tempo real. - Melhoria da responsividade da interface para dispositivos móveis. |
| Segurança e Integração: | - Implementação de criptografia para os arquivos JSON de inventário em repouso. - Integração com serviços de diretório (LDAP/Active Directory) para autenticação centralizada. - Integração com sistemas de tickets (Jira, ServiceNow, etc.). |
| Essas melhorias planejadas reforçam o compromisso do projeto com a evolução contínua. |
O sistema INVENTORY preenche uma lacuna estratégica ao eliminar a cegueira sobre os ativos de TI, transformando os dados brutos de telemetria coletados pelo Wazuh em uma plataforma centralizada de visualização, busca e auditoria. Ele oferece uma solução leve e segura que se integra de forma transparente a infraestruturas existentes, sem a necessidade de agentes adicionais.