7.1 KiB
7.1 KiB
Information Architecture — Navegação tipo Wazuh, hub CH-*
Spec: 019 · Decisão Roger: 2026-06-16 — Opção A
Princípio
O Chamado CH-* é o hub de investigação — equivalente ao «caso» TheHive / incidente Wazuh, mas unificando onboard, suporte e cybersecurity.
Discover e Overview são portas de entrada; toda investigação séria aterriz no hub e permanece lá até fecho.
┌─────────────┐
│ Overview │ KPIs, funil, alertas recentes
└──────┬──────┘
│ click métrica / alerta
┌──────▼──────┐
│ Discover │ Busca livre, filtros, saved searches
└──────┬──────┘
│ click evento → criar ou abrir CH-*
┌──────▼──────────────────────────────────────┐
│ CH-* HUB DE INVESTIGAÇÃO │
│ Timeline │ Observables │ Assist │ Acções │
│ Runbooks │ Aprovações │ Links │ Notas │
└──────┬──────────────────────────────────────┘
│ drill-down entidade
┌────────────┼────────────┐
▼ ▼ ▼
Tenant Domínio Wazuh deep link
(agent) scorecard (VM104 nativo)
Módulos sidebar (Console VM123)
| # | Módulo | Inspiração Wazuh | Função |
|---|---|---|---|
| 1 | Overview | Threat Hunting overview | Entrada rápida; não substitui o hub |
| 2 | Discover | Explore → Discover | Investigação transversal; sempre liga a CH-* |
| 3 | Chamados | — (Ligbox) | Lista de hubs activos; fila de trabalho |
| 4 | Hub CH-* |
Alert detail + case | Ecrã principal de investigação (rota /chamados/CH-…) |
| 5 | Tenants | Agent management | Contexto infra; click → filtra Discover ou abre CH |
| 6 | Runbooks | — | Biblioteca; execução sempre no contexto de um CH-* |
| 7 | Aprovações | — | Fila global; cada item linka ao hub origem |
Layout do hub CH-* (wireframe textual)
┌────────────────────────────────────────────────────────────────────────┐
│ CH-2026-00042 [assumido] myvexx.com L12 onboard+wazuh [Assumir]│
├───────────────────────────────┬────────────────────────────────────────┤
│ TIMELINE (centro, scroll) │ PAINEL DIREITO (tabs) │
│ │ │
│ ● 10:00 wazuh.alert L12 │ [Assist] [Observables] [Infra] [Ações] │
│ ● 10:05 onboarding.failed │ │
│ ● 10:06 runbook proposto │ Assist: passo DNS Cloudflare │
│ ● 10:10 aprovação R1 │ tempo no passo: 142s │
│ │ último erro: timeout CF │
│ │ │
│ │ Observables: │
│ │ domain: myvexx.com [→] │
│ │ session_id: abc… [→] │
│ │ agent: vm112 [→ Wazuh] │
│ │ rule_id: 5712 [→] │
├───────────────────────────────┴────────────────────────────────────────┤
│ Acções: [Executar runbook ▼] [Nota] [Delegar] [Investigar no Wazuh] │
└────────────────────────────────────────────────────────────────────────┘
Tabs do painel direito
| Tab | Conteúdo |
|---|---|
| Assist | Opção A — passo wizard, erro, email planeado |
| Observables | Entidades clicáveis (TheHive-style): domain, IP, agent, session, rule |
| Infra | Scorecard 8/14 checks (009/010/011) embutido |
| Acções | Runbooks pendentes, fila aprovação, histórico execuções |
Regra de navegação contextual (obrigatória)
Em qualquer módulo, click numa entidade:
| Entidade | Acção |
|---|---|
domain |
Abre hub CH aberto desse domínio ou Discover filtrado |
session_id |
Abre hub com essa sessão ou cria CH |
agent / tenant |
Tenants → detalhe → eventos relacionados |
rule_id |
Discover filtrado rule_id:X + CHs com mesma regra |
public_id CH-* |
Navega para hub |
| Evento Discover | POST attach ou navega para CH existente |
Deep link Wazuh: botão «Investigar no Wazuh» — URL VM104 com query pré-preenchida (agent + timeframe); não iframe.
Discover → Hub (fluxo)
- Analista filtra eventos em Discover
- Selecciona 1+ eventos → «Abrir em chamado»
- API: encontrar CH existente (agregação) ou criar
CH-*novo - Eventos ligados em
chamado_eventos - UI navega para
/chamados/CH-2026-00042 - Investigação continua só no hub (timeline, runbooks, fecho)
O que NÃO é o hub
| Não | Porquê |
|---|---|
| Overview sozinho | Só resumo; sem acções nem timeline completa |
| Discover sozinho | Porta de entrada; sem runbooks nem estado de resolução |
| Wazuh dashboard | SIEM puro; sem onboard/Assist/runbooks Ligbox |
| Ticket MVP antigo | Sem observables nem drill-down unificado |
Rotas SPA (React Router)
| Rota | View |
|---|---|
/ |
Overview |
/discover |
Discover |
/discover?q=… |
Discover com query partilhável |
/chamados |
Lista chamados |
/chamados/:publicId |
Hub investigação |
/tenants |
Tenants |
/tenants/:id |
Detalhe tenant |
/aprovacoes |
Fila aprovações |
/runbooks |
Catálogo runbooks |
Critérios UX (aceite navegação)
- De Discover a hub em ≤ 2 cliques
- Qualquer observable no hub navega em ≤ 1 clique
- Hub mostra ≥ 1 fonte (onboard + wazuh) na mesma timeline
- «Investigar no Wazuh» abre VM104 em novo tab com contexto
- URL
/chamados/CH-*partilhável entre técnicos - Voltar de Tenants para hub preserva scroll timeline (opcional P2)