|
|
il y a 4 jours | |
|---|---|---|
| Shuffle | il y a 3 semaines | |
| compose-overrides | il y a 6 jours | |
| docs | il y a 1 semaine | |
| flask-openapi-shuffle | il y a 4 semaines | |
| iris-web | il y a 6 jours | |
| samples | il y a 5 jours | |
| scripts | il y a 6 jours | |
| shuffle-workflows | il y a 3 semaines | |
| soc-integrator | il y a 6 jours | |
| wazuh-docker | il y a 1 semaine | |
| .gitignore | il y a 3 semaines | |
| README.md | il y a 1 mois | |
| Security Detection & Threat Intelligence Enhancement Proposal-2.md | il y a 1 mois | |
| Security Detection & Threat Intelligence Enhancement Proposal-revise.md | il y a 2 semaines | |
| overall.md | il y a 2 semaines | |
| overall.pdf | il y a 2 semaines | |
| package-lock.json | il y a 1 mois | |
| package.json | il y a 1 mois | |
| pass.txt | il y a 4 jours | |
| progress-update.md | il y a 2 semaines | |
| progress-update.pdf | il y a 2 semaines | |
| run-combined-stack.sh | il y a 6 jours | |
| soc-status.sh | il y a 1 mois | |
| virustotal_v3.json | il y a 4 semaines | |
| virustotal_v3.openapi.json | il y a 4 semaines | |
| virustotal_v3.yaml | il y a 4 semaines |
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).