Skip to content

had-nu/misp-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MISP Playground — CTI Supply Chain Lab

Arquitectura

┌──────────────────────────────────────────────┐
│  misp-core       (web UI → localhost:8080)   │
│  ├─ nginx + PHP                              │
│  └─ MISP v2.5.38                             │
├──────────────────────────────────────────────┤
│  misp-modules   (enriquecimento/import)      │
├──────────────────────────────────────────────┤
│  db             (MariaDB 10.11)              │
├──────────────────────────────────────────────┤
│  redis          (Redis 7.2)                  │
└──────────────────────────────────────────────┘

Todos os containers numa rede Docker interna misp. Apenas o misp-core expõe a porta 80 como 127.0.0.1:8080não acessível da LAN nem internet.

Quick Start

# 1. Clonar
git clone <repo-url> && cd misp-playground

# 2. Configurar secrets
cp .env.example .env
# Editar .env com passwords fortes (openssl rand -hex 16)

# 3. Arrancar
docker compose up -d

# 4. Acompanhar inicialização (5-10 min na primeira vez)
docker compose logs -f misp-core
# Esperar até ver "All updates completed"

# 5. Login em http://localhost:8080

Credenciais Iniciais

  • URL: http://localhost:8080
  • Email: admin@local.lab
  • Password: definida no .env
  • API Key: definida no .env

O MISP força a mudança de password no primeiro login.

Feeds OSINT Configurados

Feed Formato Descrição
CIRCL OSINT Feed MISP JSON Curado pelo CIRCL, alta qualidade
Botvrij.eu Data MISP JSON Mantido pelo NCSC-NL
abuse.ch URLhaus CSV URLs maliciosas
abuse.ch MalwareBazaar CSV Hashes de malware

Comandos Úteis

# Estado dos containers
docker compose ps

# Logs em tempo real
docker compose logs -f misp-core

# Parar
docker compose down

# Reiniciar sem perder dados
docker compose restart

# Aceder ao container
docker compose exec misp-core bash

# Actualizar galaxies via CLI
docker compose exec misp-core /var/www/MISP/app/Console/cake admin updateGalaxies

Actualizações via MISP CLI

# Galaxies
docker compose exec misp-core /var/www/MISP/app/Console/cake admin updateGalaxies

# Taxonomies
docker compose exec misp-core /var/www/MISP/app/Console/cake admin updateTaxonomies

# Object Templates
docker compose exec misp-core /var/www/MISP/app/Console/cake admin updateObjectTemplates 1

# Warning Lists
docker compose exec misp-core /var/www/MISP/app/Console/cake admin updateWarningLists

Estrutura do Repositório

.
├── docker-compose.yml      # Stack MISP
├── .env.example            # Template de configuração
├── .gitignore
├── docs/
│   └── SPEC.md             # Spec original
├── PLAYBOOK.md             # Guia para juniors
└── data/                   # Volumes Docker (não commitado)
    ├── misp-files/
    ├── misp-config/
    ├── misp-logs/
    └── misp-certs/

Roadmap

  • v0.1 — MISP base + feeds OSINT ✅
  • v0.2 — Parser OSV→MISP (SPEC separada)
  • v0.3 — Galaxy cluster custom para TTPs supply chain CI/CD
  • v0.4 — STIX 2.1 export bridge para OpenCTI
  • v0.5 — Cron-based feed sync + retention policy
  • v1.0 — HTTPS via reverse proxy (Caddy/Traefik), exposição controlada

Decisões Técnicas

  • Imagens: ghcr.io/misp/misp-docker (oficial MISP team), versões fixas (sem :latest)
  • Bind localhost: 127.0.0.1:8080:80 — sem exposição LAN
  • Persistência: MariaDB usa volume Docker nomeado; configs/logs/files usam bind mounts em ./data/
  • Volume MariaDB: Named volume mariadb_data (evita problemas de permissão UID 999)

Troubleshooting

CSRF Error no Login

Geralmente causado por password com caracteres especiais. Usar openssl rand -hex 16 para gerar passwords alfanuméricas.

Internal Error ao Actualizar Galaxies

O database.php pode estar desactualizado se mudaste o .env depois do primeiro arranque. Corrigir:

# Apagar config para forçar regeneração
rm -rf ./data/misp-config
docker compose down
docker compose up -d

Ou editar o password directamente:

docker compose exec misp-core sed -i "s/OLD_PASSWORD/NEW_PASSWORD/g" /var/www/MISP/app/Config/database.php
docker compose restart misp-core

MariaDB Não Arranca

Se mudaste passwords no .env, apagar o volume e recomeçar:

docker compose down -v
docker compose up -d

Licença

GPL-3.0

About

MISP auto-hospedada com Docker, focada em OSINT e supply chain CTI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors