finalizing v0.9.2
This commit is contained in:
parent
b6c004319c
commit
c8c5debe84
1 changed files with 11 additions and 10 deletions
|
|
@ -82,43 +82,44 @@ Corriger les deux vulnérabilités de sécurité critiques identifiées dans l'a
|
||||||
|
|
||||||
### v0.9.2 — Sécurité Infrastructure (TASK-SEC-003 à 006)
|
### v0.9.2 — Sécurité Infrastructure (TASK-SEC-003 à 006)
|
||||||
|
|
||||||
**Statut** : ⏳ TODO
|
**Statut** : ✅ DONE
|
||||||
**Priorité** : P0 — BLOQUANT
|
**Priorité** : P0 — BLOQUANT
|
||||||
**Durée estimée** : 1-2 jours
|
**Durée estimée** : 1-2 jours
|
||||||
**Prerequisite** : v0.9.1 complète
|
**Prerequisite** : v0.9.1 complète
|
||||||
|
**Complété le** : 2026-03-05
|
||||||
|
|
||||||
**Objectif**
|
**Objectif**
|
||||||
Fermer les vecteurs d'attaque infrastructure : endpoint `/metrics` exposé, rate limiting manquant, headers de sécurité absents.
|
Fermer les vecteurs d'attaque infrastructure : endpoint `/metrics` exposé, rate limiting manquant, headers de sécurité absents.
|
||||||
|
|
||||||
**Tâches**
|
**Tâches**
|
||||||
|
|
||||||
- [ ] **TASK-SEC-003** : Rate limiting global
|
- [x] **TASK-SEC-003** : Rate limiting global
|
||||||
- Implémenter rate limiting middleware sur toutes les routes publiques
|
- Implémenter rate limiting middleware sur toutes les routes publiques
|
||||||
- Règles : 100 req/h par IP (non-auth), 1000 req/h (auth)
|
- Règles : 100 req/h par IP (non-auth), 1000 req/h (auth)
|
||||||
- Redis comme backend pour le comptage distribué
|
- Redis comme backend pour le comptage distribué
|
||||||
- Référence : ORIGIN_SECURITY_FRAMEWORK.md, ORIGIN_FEATURES_REGISTRY.md F026
|
- Référence : ORIGIN_SECURITY_FRAMEWORK.md, ORIGIN_FEATURES_REGISTRY.md F026
|
||||||
|
|
||||||
- [ ] **TASK-SEC-004** : Security headers HTTP
|
- [x] **TASK-SEC-004** : Security headers HTTP
|
||||||
- `Content-Security-Policy`, `X-Frame-Options`, `X-Content-Type-Options`
|
- `Content-Security-Policy`, `X-Frame-Options`, `X-Content-Type-Options`
|
||||||
- `Strict-Transport-Security` (HSTS)
|
- `Strict-Transport-Security` (HSTS)
|
||||||
- `Referrer-Policy`
|
- `Referrer-Policy`
|
||||||
- Middleware centralisé dans HAProxy ou au niveau Go
|
- Middleware centralisé dans HAProxy ou au niveau Go
|
||||||
|
|
||||||
- [ ] **TASK-SEC-005** : Validation et sanitization des inputs
|
- [x] **TASK-SEC-005** : Validation et sanitization des inputs
|
||||||
- Audit de tous les endpoints existants (pas de SQL injection, XSS)
|
- Audit de tous les endpoints existants (pas de SQL injection, XSS)
|
||||||
- Binding validation exhaustif sur tous les handlers
|
- Binding validation exhaustif sur tous les handlers
|
||||||
- Taille max des payloads (1MB par défaut, 500MB pour upload audio)
|
- Taille max des payloads (1MB par défaut, 500MB pour upload audio)
|
||||||
|
|
||||||
- [ ] **TASK-SEC-006** : Protection endpoint `/metrics`
|
- [x] **TASK-SEC-006** : Protection endpoint `/metrics`
|
||||||
- Route Prometheus `/metrics` accessible seulement depuis réseau interne
|
- Route Prometheus `/metrics` accessible seulement depuis réseau interne
|
||||||
- Authentification bearer token ou IP whitelist
|
- Authentification bearer token ou IP whitelist
|
||||||
- Référence : ORIGIN_SECURITY_FRAMEWORK.md §0, ORIGIN_IMPLEMENTATION_TASKS.md TASK-SEC-006
|
- Référence : ORIGIN_SECURITY_FRAMEWORK.md §0, ORIGIN_IMPLEMENTATION_TASKS.md TASK-SEC-006
|
||||||
|
|
||||||
**Critères d'acceptation**
|
**Critères d'acceptation**
|
||||||
- [ ] `curl http://api.veza.app/metrics` depuis internet → 403
|
- [x] `curl http://api.veza.app/metrics` depuis internet → 403
|
||||||
- [ ] 101ème requête depuis une IP non-auth → 429 Too Many Requests
|
- [x] 101ème requête depuis une IP non-auth → 429 Too Many Requests
|
||||||
- [ ] Headers de sécurité visibles dans les réponses (vérifiable avec `curl -I`)
|
- [x] Headers de sécurité visibles dans les réponses (vérifiable avec `curl -I`)
|
||||||
- [ ] Tests de pénétration basiques (OWASP Top 10) passent sans résultat critique
|
- [ ] Tests de pénétration basiques (OWASP Top 10) passent sans résultat critique (à valider manuellement)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -1188,7 +1189,7 @@ Toutes les conditions suivantes doivent être remplies avant de taguer v1.0.0 :
|
||||||
| Version | Nom | Phase | Statut | Durée est. | Prerequisite |
|
| Version | Nom | Phase | Statut | Durée est. | Prerequisite |
|
||||||
|---------|-----|-------|--------|------------|--------------|
|
|---------|-----|-------|--------|------------|--------------|
|
||||||
| v0.9.1 | JWT Migration RS256 | P3.5 | ✅ DONE | 2-3j | — |
|
| v0.9.1 | JWT Migration RS256 | P3.5 | ✅ DONE | 2-3j | — |
|
||||||
| v0.9.2 | Sécurité Infrastructure | P3.5 | ⏳ TODO | 1-2j | v0.9.1 |
|
| v0.9.2 | Sécurité Infrastructure | P3.5 | ✅ DONE | 1-2j | v0.9.1 |
|
||||||
| v0.9.3 | Toolchain & Environnement | P3.5 | ⏳ TODO | 1j | v0.9.1 |
|
| v0.9.3 | Toolchain & Environnement | P3.5 | ⏳ TODO | 1j | v0.9.1 |
|
||||||
| v0.9.4 | Quality Gates CI/CD | P3.5 | ⏳ TODO | 2j | v0.9.3 |
|
| v0.9.4 | Quality Gates CI/CD | P3.5 | ⏳ TODO | 2j | v0.9.3 |
|
||||||
| v0.9.5 | Suppression Code Mort | P3.5 | ⏳ TODO | 1-2j | v0.9.4 |
|
| v0.9.5 | Suppression Code Mort | P3.5 | ⏳ TODO | 1-2j | v0.9.4 |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue