|
|
4 dias atrás | |
|---|---|---|
| Shuffle | 3 semanas atrás | |
| compose-overrides | 6 dias atrás | |
| docs | 1 semana atrás | |
| flask-openapi-shuffle | 4 semanas atrás | |
| iris-web | 6 dias atrás | |
| samples | 5 dias atrás | |
| scripts | 6 dias atrás | |
| shuffle-workflows | 3 semanas atrás | |
| soc-integrator | 6 dias atrás | |
| wazuh-docker | 1 semana atrás | |
| .gitignore | 3 semanas atrás | |
| README.md | 1 mês atrás | |
| Security Detection & Threat Intelligence Enhancement Proposal-2.md | 1 mês atrás | |
| Security Detection & Threat Intelligence Enhancement Proposal-revise.md | 2 semanas atrás | |
| overall.md | 2 semanas atrás | |
| overall.pdf | 2 semanas atrás | |
| package-lock.json | 1 mês atrás | |
| package.json | 1 mês atrás | |
| pass.txt | 4 dias atrás | |
| progress-update.md | 2 semanas atrás | |
| progress-update.pdf | 2 semanas atrás | |
| run-combined-stack.sh | 6 dias atrás | |
| soc-status.sh | 1 mês atrás | |
| virustotal_v3.json | 4 semanas atrás | |
| virustotal_v3.openapi.json | 4 semanas atrás | |
| virustotal_v3.yaml | 4 semanas atrás |
This repository runs a combined SOC lab with:
wazuh-docker (single-node)iris-webShufflepagerduty-stubsoc-integrator (FastAPI)All services are connected through a shared Docker network (soc_shared).
nc (for test event script)Start all services (detached):
./run-combined-stack.sh up --all -d
Start all and stream logs:
./run-combined-stack.sh up --all
Stop all:
./run-combined-stack.sh down --all
Status overview:
./run-combined-stack.sh status
https://localhosthttps://localhost:55000https://localhost:8443http://localhost:3001http://localhost:18080http://localhost:8088http://localhost:8088/docsKey env file:
soc-integrator/.envMain sections:
/wazuh/*, /shuffle/*, /action/*)/mvp/*)/wazuh/sync-to-mvp)/wazuh/auto-sync/status)POST /mvp/incidents/ingestPOST /mvp/ioc/evaluatePOST /mvp/vpn/evaluateGET /mvp/config/policiesPUT /mvp/config/policiesGET /mvp/health/dependenciesProtected endpoints require:
X-Internal-API-KeySOC_INTEGRATOR_INTERNAL_KEY in soc-integrator/.envcurl -X POST http://localhost:8088/mvp/incidents/ingest \
-H 'Content-Type: application/json' \
-H 'X-Internal-API-Key: dev-internal-key' \
-d '{
"source":"manual",
"event_type":"ioc_ips",
"event_id":"evt-1",
"timestamp":"2026-02-12T16:00:00Z",
"severity":"high",
"title":"Test IOC",
"description":"MVP test",
"asset":{"hostname":"labhost","user":"analyst"},
"network":{"src_ip":"203.0.113.10","country":"US"},
"tags":["mvp","test"],
"risk_context":{"admin_account":true},
"raw":{},
"payload":{}
}'
Send synthetic events via syslog UDP 514:
scripts/send-wazuh-test-events.sh all
Scenarios:
ioc_dnsioc_ipsvpn_outside_thwindows_auth_failallSee scripts/README.md for details.
Sync Wazuh alerts from indexer into MVP pipeline:
curl -X POST "http://localhost:8088/wazuh/sync-to-mvp?limit=50&minutes=120&q=*" \
-H 'X-Internal-API-Key: dev-internal-key'
Notes:
wazuh-alerts-* in Wazuh indexer.source + event_id.send-wazuh-test-events.sh traffic appears only after Wazuh rules generate alerts.Enable automatic sync worker:
sed -i 's/^WAZUH_AUTO_SYNC_ENABLED=.*/WAZUH_AUTO_SYNC_ENABLED=true/' soc-integrator/.env
./run-combined-stack.sh up integrator --build -d
./run-combined-stack.sh logs integrator -f
Auto-sync settings in soc-integrator/.env:
WAZUH_AUTO_SYNC_ENABLED (true|false)WAZUH_AUTO_SYNC_INTERVAL_SECONDS (default 60)WAZUH_AUTO_SYNC_QUERY (default *)WAZUH_AUTO_SYNC_LIMIT (default 50)WAZUH_AUTO_SYNC_MINUTES (default 120)All logs (non-follow):
./run-combined-stack.sh logs --all --tail 200
Follow one stack:
./run-combined-stack.sh logs integrator -f
./run-combined-stack.sh logs wazuh -f
pagerduty-stub (not real PagerDuty).