À propos du projet

# ASGARD **Suite de sécurité Blue Team — 9 modules, un seul principe : si ce n'est pas testé, ça n'existe pas.** Asgard est une suite d'outils de sécurité défensive (blue team) conçue pour les PME et les analystes indépendants qui ne peuvent pas se permettre une plateforme SOC commerciale, mais qui ont néanmoins besoin de détecter, d'enquêter, d'orchestrer et de démontrer leur conformité réglementaire. Chaque module fait **une seule chose** et la fait bien : pas de monolithe, pas de dépendance obligatoire à un fournisseur cloud, pas de fonctionnalité décrite dans le README qui n'existe pas réellement dans le code. Toute la suite a fait l'objet d'un audit technique complet qui a corrigé de véritables bugs de sécurité, y compris deux cas où le logiciel déclarait un succès qui n'avait en réalité jamais eu lieu. ## Architecture Trois groupes fonctionnels : - **Détection** — les capteurs : Heimdall surveille les logs, Bifrost surveille le réseau, Yggdrasil surveille Active Directory. - **Réponse et Renseignement** — ce qui se passe après une alerte : Mjolnir effectue le triage forensique de l'hôte, Fenrir enrichit avec des renseignements sur les menaces publiques, Sleipnir orchestre tout via des playbooks YAML. - **Gouvernance** — la partie qui manque généralement dans les portfolios de sécurité purement techniques : Forseti traduit la posture de sécurité en score de conformité GDPR/NIS2, Gjallarhorn centralise les notifications. **Ragnarök** est le point de commandement : une application desktop (Tauri + FastAPI) avec un assistant conversationnel qui propose des actions sur les modules sous-jacents — ne les exécutant jamais sans confirmation explicite. ## Les modules | Module | Ce qu'il fait | Stack | Tests | |---|---|---|---| | **Heimdall** | HIDS léger et agent Windows : détecte les attaques par force brute dans les logs SSH/Windows EventLog, bloque les IP au niveau du pare-feu avec TTL configurable, notifie via Telegram/Gjallarhorn | Python, PowerShell, FastAPI, SQLite | 38 ✅ | | **Mjolnir** | Triage forensique automatique sur hôte compromis : instantané des processus/réseau, vérification des hash sur VirusTotal (avec cache et limitation de débit), scan YARA réel (yara-python), rapport Markdown/HTML | Python, psutil, yara-python | 49 ✅ | | **Bifrost** | Scanner réseau multi-thread avec banner grabbing, enrichissement GeoIP/WHOIS, découverte LAN, rapports chiffrés (PBKDF2 + Fernet) | Python, FastAPI | 46 ✅ | | **Yggdrasil** | Audit de sécurité Active Directory (LDAP/LDAPS) et Cloud Microsoft 365 / Entra ID (posture MFA, Global Admins, Legacy Auth) via l'API Microsoft Graph réelle (OAuth2 app-only) ou export JSON | Python, ldap3, msal | 54 ✅ | | **Fenrir** | Agrégateur de renseignements sur les menaces publiques : CISA KEV toujours actif, OTX optionnel, export STIX 2.1, SQLite avec protection de verrouillage | Python | 48 ✅ | | **Sleipnir** | Moteur SOAR : exécute des playbooks YAML qui orchestrent les autres modules, avec état persistant et piste d'audit de l'incident | Python, PyYAML | 32 ✅ | | **Forseti** | Vérificateur de conformité GDPR/NIS2/DORA/ISO27001 pour PME : 41 contrôles réels (13 GDPR + 12 NIS2 + 8 DORA + 8 ISO27001), notation, rapport avec écarts et remédiations concrètes | Python | 44 ✅ | | **Gjallarhorn** | Hub d'alerting centralisé (Telegram/webhook/SMTP/Teams/Jira/ServiceNow) avec déduplication et limitation de débit, utilisé par Heimdall et Sleipnir | Python, FastAPI | 63 ✅ | | **Ragnarök** | Orchestrateur desktop et web (Tauri + FastAPI) avec assistant IA (FastEmbed + ChromaDB), RBAC multi-utilisateur, durcissement de sécurité et journal d'audit | Tauri, Rust, Python | 264 ✅ | ## Démarrage rapide (Docker — Suite complète) Les 9 modules sont des sous-modules git, pas de simples dossiers — clonez avec `--recursive`, sinon les répertoires des modules seront vides et la construction Docker ainsi que `install.sh`/`install.ps1` échoueront. ```bash git clone --recursive https://github.com/Fioru12/Asgard.git cd Asgard ./install.sh # Linux / macOS / Git Bash .\install.ps1 # Windows PowerShell ``` Ensuite, ouvrez **http://localhost:8080/dashboard** — l'assistant au premier démarrage vous guidera dans la création du compte admin. Services exposés sur localhost : | Service | URL | |---------|-----| | Ragnarök (tableau de bord + API) | http://localhost:8080 | | Heimdall | http://localhost:18000 | | Gjallarhorn | http://localhost:8090 | | Forseti | http://localhost:8091 | | Bifrost | http://localhost:8092 | ## Démarrage rapide (Manuel — Module unique) Chaque module est indépendant : clonez-le, installez-le, utilisez-le seul. ```bash git clone https://github.com/Fioru12/<Module>.git cd <Module> pip install -r requirements.txt pytest -v # vérifie que tout fonctionne dans votre environnement python main.py --help ``` Chaque module a son propre `README.md` avec un démarrage rapide spécifique, un `.env.example` pour la configuration, et une section "Pourquoi je l'ai construit" qui explique le problème réel auquel il répond. ## Principes du projet - **Zéro fonctionnalité aspirationnelle.** Si le README d'un module décrit quelque chose, cette chose a un test qui le démontre. Lorsqu'un module prend en charge un mode démonstratif/simulé, cela est déclaré explicitement, jamais présenté comme des données réelles. - **Échouer bruyamment, pas silencieusement.** Une action de sécurité qui échoue le dit clairement — elle ne prétend pas à un succès qui n'a pas eu lieu. - **Authentification par défaut sur chaque API exposée**, clé générée automatiquement si elle n'est pas configurée explicitement. - **Un humain reste dans la boucle** pour chaque action ayant des conséquences réelles (blocage IP, exécution de playbook, action proposée par l'IA dans Ragnarök). **Développé par [Fioru12](https://github.com/Fioru12)**