Construire une base SOC démontrable et exploitable en local: ingestion, règles de détection, corrélation, gestion d'incident et export de rapports.
Case study
Problème
Transformer des logs disparates en alertes exploitables sans dépendre d'une stack SIEM lourde.
Contraintes
Projet local-first, stack simple, déploiement rapide et lisibilité pour démonstration en entretien.
Choix techniques
FastAPI + SQLite pour la vitesse d'itération, règles YAML et API claire pour workflow SOC.
Résultat
Pipeline complet: ingestion, détection, triage alertes/incidents, reporting quotidien et exports.
Fonctionnalités
- Ingestion logs via fichier et JSON + parsing JSON lines / Apache-Nginx-like
- Live tail local, IOC watchlist, règles unitaires et corrélées multi-signaux
- Gestion d'alertes (statut, assignation, notes), incidents et playbooks
- KPI SOC, rapports quotidiens HTML, exports CSV et scheduler
Stack et architecture
- Backend FastAPI + stockage local SQLite
- Règles de détection dans
config/rules.yaml - Migrations DB via Alembic
- Qualité via Ruff, Mypy et tests Pytest
Limites et prochaines étapes
- Connexion sources logs externes temps réel (syslog/agents) à renforcer
- Pack de règles enrichi avec faux positifs mieux calibrés
- Extension des playbooks d'incident pour scénarios multi-étapes
Démarrage rapide
git clone https://github.com/SonFire03/mini_soc_dashboard.git cd mini_soc_dashboard python3 -m venv .venv . .venv/bin/activate pip install -r requirements.txt alembic upgrade head uvicorn app.main:app --reload --host 0.0.0.0 --port 8000