veza/docs/SECRET_ROTATION.md

58 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

# Procédure de rotation des secrets — Veza
Après la remédiation, les secrets suivants ont été exposés dans l'historique Git et doivent être considérés comme **compromis** :
- `config/incus/env/*.env` (backend-api, chat-server, stream-server)
- `veza-stream-server/.env`
## Actions requises
1. **Rotation immédiate** : Changer tous les mots de passe et secrets dans les environnements de production/staging
2. **Nettoyage historique** (optionnel, destructif) : Utiliser `git filter-repo` ou BFG Repo Cleaner pour supprimer les fichiers sensibles de l'historique
## Procédure de rotation
### Base de données (PostgreSQL)
```sql
ALTER USER veza WITH PASSWORD 'nouveau_mot_de_passe_fort';
```
Puis mettre à jour `DATABASE_URL` partout.
### Redis
Redis n'a pas de mot de passe par défaut. Si utilisé, configurer `requirepass` et mettre à jour `REDIS_URL`.
### RabbitMQ
```bash
rabbitmqctl change_password veza nouveau_mot_de_passe
```
Mettre à jour `RABBITMQ_URL`.
### JWT_SECRET
Générer un nouveau secret (min 32 caractères) :
```bash
openssl rand -base64 48
```
Mettre à jour dans tous les services (backend-api, chat-server, stream-server).
**Impact** : Tous les tokens existants seront invalidés. Les utilisateurs devront se reconnecter.
### Grafana
Changer le mot de passe admin via l'interface ou :
```bash
GF_SECURITY_ADMIN_PASSWORD=nouveau_mot_de_passe
```
## Nettoyage de l'historique Git (avancé)
**Attention** : Opération destructrice. Faire une sauvegarde complète et coordonner avec toute l'équipe.
```bash
# Avec git-filter-repo (recommandé)
pip install git-filter-repo
git filter-repo --path config/incus/env/backend-api.env --invert-paths
git filter-repo --path config/incus/env/chat-server.env --invert-paths
git filter-repo --path config/incus/env/stream-server.env --invert-paths
git filter-repo --path veza-stream-server/.env --invert-paths
```
Tous les collaborateurs devront recloner le dépôt après cette opération.