Sécurité des Bases de Données : Défense en Profondeur pour Votre Actif le Plus Précieux
Les bases de données sont là où résident les actifs critiques -- données clients, documents financiers, informations de santé, propriété intellectuelle. Une brèche au niveau de la base de données est le pire scénario pour toute organisation. La sécurité des bases de données exige une défense en profondeur : plusieurs couches qui se chevauchent, chacune capable d'arrêter un attaquant ayant contourné la couche supérieure.
Taxonomie des Couches de Sécurité
- Couche réseau
- Sous-réseaux privés (pas d'IP publique)
- Groupes de sécurité / règles de pare-feu
- VPC peering / PrivateLink
- TLS pour toutes les connexions
- Liste d'IP autorisées pour l'accès administrateur
- Couche authentification
- Authentification IAM (AWS RDS IAM, GCP IAM)
- Par certificats (mTLS)
- Intégration LDAP / Active Directory
- Identifiants éphémères (secrets dynamiques Vault)
- Multi-facteur pour l'accès administrateur
- Couche autorisation
- Contrôle d'accès basé sur les rôles (RBAC)
- Sécurité au niveau des lignes (RLS)
- Permissions au niveau des colonnes
- Isolation par schéma
- Masquage de données via des vues
- Couche chiffrement
- Au repos (TDE, chiffrement de volume)
- En transit (TLS 1.3)
- Chiffrement au niveau du champ / de la colonne
- Chiffrement côté client
- Gestion des clés (KMS, Vault Transit)
- Couche audit
- Journalisation des requêtes (pgaudit, plugin d'audit MySQL)
- Journalisation des connexions
- Suivi des changements de schéma
- Surveillance des accès aux données (DAM)
- Alertes sur les requêtes anormales
- Couche sauvegarde et restauration
- Sauvegardes chiffrées
- Réplication inter-régions
- Restauration à un instant donné (PITR)
- Contrôle d'accès aux sauvegardes
- Tests de restauration réguliers
Extrait de la fiche « DP-300 Domain 2: Secure the Azure SQL Environment » · Demander la fiche complète
Comparaison des Modèles de Contrôle d'Accès
| Modèle | Description | Granularité | Complexité | Idéal Pour |
|---|---|---|---|---|
| RBAC | Permissions assignées à des rôles | Table / schéma | Basse | La plupart des applications |
| ABAC | Politiques évaluant des attributs | Champ / ligne | Haute | Multi-tenant complexe |
| RLS | Visibilité par ligne imposée par la BDD | Ligne | Moyenne | SaaS multi-tenant |
| Niveau Colonne | Permissions sur des colonnes spécifiques | Colonne | Moyenne | Protection des PII |
| Masquage par Vues | Vues exposant des données masquées | Flexible | Basse | Reporting, accès analytique |
Correspondance Conformité
| Domaine de Contrôle | SOC 2 | HIPAA | PCI DSS 4.0 | RGPD |
|---|---|---|---|---|
| Chiffrement au repos | CC6.1 | 164.312(a)(2)(iv) | Req 3.5 | Art. 32 |
| Chiffrement en transit | CC6.1 | 164.312(e)(1) | Req 4.2 | Art. 32 |
| Contrôle d'accès | CC6.1, CC6.3 | 164.312(a)(1) | Req 7, 8 | Art. 25, 32 |
| Journalisation d'audit | CC7.1, CC7.2 | 164.312(b) | Req 10 | Art. 30 |
| Sauvegarde/restauration | A1.2 | 164.308(a)(7) | Req 12.10 | Art. 32 |
Modèle de Maturité
| Niveau | Nom | Caractéristiques |
|---|---|---|
| 1 | Basique | Credentials par défaut changés, TLS activé, sauvegardes existantes. |
| 2 | Standard | RBAC implémenté, journalisation d'audit activée, chiffrement au repos. |
| 3 | Renforcé | RLS/ABAC, chiffrement au niveau des champs pour les PII, credentials dynamiques. |
| 4 | Proactif | Scan de vulnérabilités continu, détection d'anomalies de requêtes, rotation automatisée. |
| 5 | Avancé | Chiffrement côté client, classification formelle des données, reporting de conformité automatisé. |
Recommandations Stratégiques
L'isolation réseau est non négociable. Les bases de données ne doivent jamais avoir d'IP publiques. Utilisez VPC PrivateLink ou peering.
Éliminez les credentials à longue durée. Utilisez les secrets dynamiques de Vault ou l'authentification IAM. Chaque credential devrait avoir un TTL mesuré en heures, pas en mois.
RLS pour le multi-tenant. Si vous opérez une plateforme SaaS, implémentez le RLS au niveau de la base de données -- pas seulement dans le code applicatif. Les bugs applicatifs ne devraient pas pouvoir exposer les données d'un locataire à un autre.
Auditez tout, alertez sur les anomalies. Activez pgaudit (PostgreSQL) ou le plugin d'audit (MySQL). Alimentez les logs d'audit dans votre SIEM.
Testez vos sauvegardes. Une sauvegarde non testée n'est pas une sauvegarde. Planifiez des tests de restauration mensuels.