Database Security : Menaces, Best Practices, Encryption
Database security est la pratique de protéger les données at rest et en transit — encryption, access control, auditing, backups.
Qu'est-ce que la database security ?
La database security est la discipline de protéger les bases de données — et les données qu'elles stockent — contre l'accès non autorisé, modification, suppression et exfiltration. Elle combine contrôles techniques (encryption, access control, isolation réseau), pratiques opérationnelles (backups, audit logs, patching) et policy.
Les breaches de bases de données sont parmi les incidents de sécurité les plus dommageables : le breach Equifax 2017 (147M records), First American 2019 (885M records) et attaques ransomware en cours sont tous originés à la couche données.
Menaces database security courantes
| Menace | Description | Exemple |
|---|---|---|
| SQL Injection | Attaquant injecte SQL via input utilisateur | ' OR 1=1 -- |
| Privilege Escalation | Compte low-privilege gagne droits admin | Exploiter bug DBMS unpatched |
| Credential Theft | Credentials DB leaked ou brute-forced | Clés AWS dans repo git public |
| Insider Threat | Utilisateur autorisé abuse accès | Engineer dump table customer |
| Backup Theft | Backup non chiffré leaked | S3 bucket misconfig |
| Ransomware | DB chiffrée par attaquant | MongoDB exposé à internet |
| Data Exfiltration | Export bulk de données sensibles | Insider exporte emails users |
| DoS | Attaquant surcharge DB | Slow queries floodent pool |
Les 8 piliers de la database security
1. Authentification
Credentials forts pour chaque user DB.
2. Autorisation (least privilege)
Chaque user DB seulement permissions pour ce qu'il fait réellement.
3. Encryption at rest
Chiffrement disk-level (AWS RDS, TDE).
4. Encryption in transit
TLS pour toutes connexions DB.
5. Isolation réseau
DB jamais directement internet-accessible.
6. Audit logging
Logger toutes queries sensibles.
7. Patching
Appliquer patches DB engine + OS rapidement.
8. Backups + DR
Backups chiffrés réguliers. Tester restores trimestriellement.
SQL Injection : la menace #1
# MAUVAIS — vulnerable
query = f"SELECT * FROM users WHERE email = '{user_input}'"
cursor.execute(query)
# BON — parameterized
query = "SELECT * FROM users WHERE email = %s"
cursor.execute(query, (user_input,))Handling données sensibles
| Pattern | Cas d'usage | Notes |
|---|---|---|
| Hashing | Mots de passe | bcrypt/argon2 |
| Encryption | Champs PII | App-level ou column-level |
| Tokenization | Numéros carte crédit | Réduction scope PCI |
| Pseudonymization | Analytics | IDs par surrogates |
| Masking | Environnements test/dev | ***-***-1234 |
| Row-level security | SaaS multi-tenant | DB enforce isolation tenant |
Best practices database security
- Paramétrer toutes les queries.
- Users DB least-privilege.
- Encrypt at rest + in transit.
- Pas de DB sur internet public.
- Utiliser IAM auth.
- Rotation credentials.
- Audit + alert.
- Appliquer patches mensuellement.
- Backup chiffré.
- Séparer prod de dev.
- Limiter blast radius.
- Monitor failed logins.
Frameworks compliance affectant bases données
- GDPR
- HIPAA
- PCI-DSS
- SOC 2
- ISO 27001
- CCPA/CPRA
FAQ : database security
Comment prévenir SQL injection ?
Utiliser queries paramétrées. Utiliser ORMs.
Chiffrer champs DB côté app ou DB ?
Les deux ont du mérite. PII souvent les deux.
Différence entre encryption at rest et in transit ?
At rest = sur disque. In transit = sur réseau. Les deux requis compliance.
À quelle fréquence rotation credentials DB ?
Long-lived : tous les 90 jours max. Mieux : tokens IAM short-lived.
Puis-je exposer ma base de données à internet ?
Presque jamais. Placer dans subnet privé.
Qu'est-ce que row-level security ?
Feature DB qui filtre rows basées sur contexte user.
Comment détecter un breach base de données ?
Audit logs + anomaly detection.
Testez la sécurité API DB-backed avec LoadFocus
LoadFocus exécute scripts JMeter et k6 qui simulent flows auth, patterns injection et charge concurrente contre APIs DB-backed depuis 25+ régions. Inscrivez-vous sur loadfocus.com/signup.
Outils LoadFocus connexes
Mettez ce concept en pratique avec LoadFocus — la plateforme même qui propulse tout ce que vous venez de lire.