Aller au contenu

SOC Pipeline

Vue d'ensemble

Le SOC NEBULA est un pipeline complet de détection, corrélation et réponse aux incidents. Chaque VM est instrumentée, chaque alerte est corrélée avec la threat intelligence, et chaque incident est tracé.

graph TB
    subgraph COLLECT["Collecte"]
        TT[Tetragon eBPF<br/>Kernel monitoring]
        SU[Suricata IDS<br/>48 838 règles]
        AD[Auditd<br/>17 règles forensic]
        SC[Syscheck<br/>Intégrité fichiers]
    end
    subgraph SIEM["SIEM"]
        WZ[Wazuh v4.14<br/>13 agents<br/>25 règles custom]
    end
    subgraph SOAR["SOAR — Shuffle"]
        SW{Switch sur<br/>location}
        B1[Branche Tetragon]
        B2[Branche Suricata]
        B3[Branche Syscheck]
    end
    subgraph RESPONSE["Réponse"]
        MP[MISP<br/>Threat Intel]
        IR[IRIS<br/>Incident Mgmt]
        VR[Velociraptor<br/>Live Response]
    end

    TT --> WZ
    SU --> WZ
    AD --> WZ
    SC --> WZ
    WZ -->|webhook level >= 10| SW
    SW --> B1
    SW --> B2
    SW --> B3
    B1 --> MP
    B2 --> MP
    B3 --> MP
    MP --> IR
    B1 --> VR
    B2 --> VR
    VR --> IR

Les 3 branches du pipeline SOAR

Déclencheur : exécution suspecte détectée au niveau kernel via eBPF

  1. Wazuh reçoit l'event Tetragon (level >= 10)
  2. Shuffle vérifie l'IOC dans MISP (hash, IP)
  3. Création d'un ticket IRIS avec les détails de l'event
  4. Velociraptor exécute une live response : netstat, who, docker top, ps
  5. Résultats attachés au ticket IRIS
  6. Si IOC critique dans MISP → escalade automatique + notification

Déclencheur : alerte IDS réseau (signature ET Open)

  1. Suricata écrit dans eve.json → Wazuh agent local
  2. Shuffle vérifie l'IP source dans MISP
  3. Ticket IRIS créé avec l'alerte Suricata
  4. Velociraptor exécute netstat sur la machine cible
  5. Résultats attachés au ticket
  6. Si IP dans MISP → escalade

Déclencheur : modification détectée sur un fichier surveillé

  1. Wazuh FIM détecte le changement (hash SHA256)
  2. Shuffle vérifie le hash dans MISP
  3. Ticket IRIS créé avec le diff, le hash et le log brut
  4. Si hash dans MISP → escalade

Wazuh — Règles custom

Auditd (11 règles)

Les règles auditd surveillent les actions critiques au niveau kernel :

Rule ID Clé auditd Level Ce que ça détecte
100401 identity 8 Modification de /etc/passwd, /etc/shadow, /etc/group
100402 sudo_changes 10 Modification de /etc/sudoers
100403 sshd_config 10 Modification de la config SSH
100404 cron 6 Modification des crontabs
100405 kernel_modules 12 Chargement/déchargement de modules kernel
100406 docker_cmd 6 Exécution de commandes Docker
100407 docker_config 10 Modification de la config Docker daemon
100408 nftables 10 Modification des règles firewall
100409 root_exec 8 Commande root exécutée par un user (sudo)

Tetragon (14 règles)

Level Ce que ça détecte
12 Outils réseau suspects (nmap, netcat, socat)
12 Accès fichiers sensibles (/etc/shadow, id_rsa)
10 Outils de téléchargement (wget, curl) sur bare-metal
8 Exécution de shell
6 Exécution root

Complémentarité Auditd / Tetragon

Auditd trace au niveau syscall : qui a modifié quel fichier, avec quel processus. Tetragon trace au niveau eBPF : quelle commande a été exécutée, dans quel container. Les deux se complètent — Tetragon détecte l'exécution, Auditd trace la modification résultante.

Suricata IDS

Paramètre Valeur
Interface af-packet sur l'interface WAN
Règles 48 838 règles ET Open
Mise à jour suricata-update automatique
Output eve.json → Wazuh agent local

MISP — Threat Intelligence

Interrogé automatiquement par Shuffle à chaque alerte. Vérifie les IPs, hashs SHA256 et domaines contre les feeds de threat intelligence communautaires.

IRIS — Gestion d'incidents

Chaque alerte corrélée génère un ticket IRIS avec :

  • Détails de l'événement source
  • Résultats du lookup MISP
  • Résultats de la live response Velociraptor (si applicable)
  • Niveau de sévérité automatique (escalade si IOC critique)