Passer au contenu principal
Menu
Backend

API BANCAIRE SÉCURISÉE

API REST Symfony avec gestion de secrets via Vault et authentification forte.

Dépôt bientôt disponible
SymfonyPHPHashiCorp VaultPostgreSQLDocker
Phase 1

Contexte

Projet de simulation : construire une API bancaire (comptes, transactions) avec contraintes : zéro secret en clair, authentification forte (JWT + 2FA), audit trail complet. Première vraie confrontation aux exigences sécurité de niveau entreprise.

Phase 2

Méthodologie d'Apprentissage

  1. 1

    Étude OWASP API Security & PCI-DSS pour exigences du domaine

  2. 2

    Apprentissage Symfony Security Bundle : authentification → JWT → 2FA

  3. 3

    Installation HashiCorp Vault (mode dev) : concepts secrets engines, policies, tokens

  4. 4

    Implmentation progressive : CRUD → Auth → RBAC → Vault integration → Audit

  5. 5

    Pentest basique : curl, Postman, sqlmap pour valider endpoints

Phase 3

Défis Techniques

Rotation des secrets Vault en production

Tokens Vault expiraient → API perdait accès BDD. Solution : Vault Agent avec renouvellement automatique des tokens.

Performance requêtes sécurisées (3 appels Vault/requête)

Latence inacceptable. Mise en place cache in-memory (TTL 5min) → latence divisée par 4.

Audit trail immutable (exigence compliance)

Logs d'audit devaient être infalsifiables. Implémentation système hash-chain (inspiré blockchain) pour garantir intégrité 90j.

Phase 4

Résultats

  • API REST conforme OWASP avec zéro secret en clair

  • Auth JWT + 2FA + rotation secrets Vault automatique

  • Audit trail immutable couvrant 90j d'actions

  • Apprentissage : security by design, concepts compliance, gestion des secrets à l'échelle

Explore More

All Projects