> ## Documentation Index
> Fetch the complete documentation index at: https://docs.snakysec.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Incident response

# Runbook — Réponse aux incidents de sécurité (plateforme)

**Criticité:** P1 (critique) / P2 (haute) / P3 (moyenne)
**Délais SLA:** P1 \< 1h, P2 \< 4h, P3 \< 24h

***

## Matrice de qualification

| Incident                                         | Criticité | Exemples                        |
| ------------------------------------------------ | --------- | ------------------------------- |
| Compromission de secrets Vault / ENCRYPTION\_KEY | P1        | Leak GitHub, accès non autorisé |
| Accès non autorisé à la plateforme               | P1        | Session hijacking, bypass auth  |
| Fuite de données clients                         | P1        | Export RGPD non autorisé        |
| Indisponibilité totale (plateforme down)         | P2        | Redis/DB inaccessible           |
| Pipeline d'audit bloqué (> 3 clients)            | P2        | Worker crash, Vault indispo     |
| Certificat Entra ID expiré                       | P2        | Audits échouent pour un client  |
| Tentatives de brute force                        | P3        | Rate limiting déclenché         |

***

## P1 — Compromission de secrets

```bash theme={null}
# 1. IMMÉDIAT : Révoquer le token Vault compromis
docker exec mssp-vault vault token revoke <token>

# 2. Rotation d'urgence de tous les secrets
# Suivre runbook key-rotation.md dans l'ordre :
# ENCRYPTION_KEY → AUTH_SECRET → Certs Entra → GitLab Token

# 3. Isoler la plateforme (optionnel si compromission active)
docker compose stop platform

# 4. Analyser les logs d'accès
docker logs mssp-platform --since="2h" | grep -E "ERROR|WARN|401|403|500"
cat /var/log/traefik/access.log | grep -v "200\|301" | tail -200

# 5. Notification CNIL si fuite données (72h max — RGPD Art. 33)
# 6. Notification clients si données exposées (RGPD Art. 34)
```

***

## P2 — Indisponibilité plateforme

```bash theme={null}
# Diagnostic rapide
docker ps -a                           # tous les containers
curl https://platform.snakysec.com/api/health  # health check

# PostgreSQL down ?
docker logs mssp-postgres --tail=50
docker compose restart postgres

# Redis down ?
docker logs mssp-redis --tail=50
docker compose restart redis

# Vault locked/sealed ?
docker exec mssp-vault vault status
# Si sealed → unseal (voir vault unseal keys en lieu sûr)
docker exec mssp-vault vault operator unseal

# Redémarrage ordonné
docker compose restart postgres redis vault platform audit-worker
```

***

## P3 — Rate limiting déclenché

```bash theme={null}
# Voir les IPs concernées dans les logs
docker logs mssp-platform --since="30m" | grep "429"

# Si attaque distribuée → bloquer via Traefik / Cloudflare WAF
# Vérifier que le rate limiting Redis fonctionne :
docker exec mssp-redis redis-cli KEYS "rl:*" | head -20
```

***

## Post-incident

Après résolution de tout incident P1/P2 :

1. **Rapport post-mortem** dans GitLab Issues (label `incident`)
   * Timeline des événements
   * Cause racine (5 Whys)
   * Impact (clients affectés, durée)
   * Actions correctives

2. **Mise à jour des runbooks** si une nouvelle cause a été découverte

3. **Review des alertes** : est-ce que le monitoring aurait pu détecter plus tôt ?

4. **Communication client** si SLA impacté (voir template `docs/templates/incident-communication.md`)

***

## Contacts d'urgence

| Rôle                    | Contact                                               | Canal                      |
| ----------------------- | ----------------------------------------------------- | -------------------------- |
| Fondateur / MSSP Expert | Nicolas                                               | Signal / Email direct      |
| Hébergeur               | OVH / Hetzner                                         | Support ticket + téléphone |
| Microsoft MSSP Support  | via Partner Center                                    | Ticket                     |
| CNIL (fuite données FR) | [notifications@cnil.fr](mailto:notifications@cnil.fr) | Email certifié             |
