Aller au contenu
Accueil » Articles de conseil » Quels sont les points importants de sécurité à auditer pour SQL Server

Quels sont les points importants de sécurité à auditer pour SQL Server

Voici une synthèse claire et structurée des points importants de sécurité dans SQL Server, regroupés par thématique, afin de vous aider à sécuriser efficacement un environnement SQL Server :


🔐 1. Authentification et autorisations

  • Utiliser l’authentification Windows de préférence (Kerberos, intégration AD, pas de mot de passe à gérer côté SQL).
  • Limiter l’usage de l’authentification SQL Server (comptes avec mot de passe stocké).
  • Désactiver le compte « sa » ou en modifier le nom si utilisé.
  • Appliquer le principe du moindre privilège (ne jamais donner sysadmin inutilement).
  • Créer des rôles personnalisés au lieu d’attribuer directement des droits à des utilisateurs.

🧱 2. Gestion des surfaces d’exposition

  • Désactiver les fonctionnalités inutiles : XP_CMDSHELL, SQL Mail, OLE Automation, CLR s’il n’est pas nécessaire.
  • Restreindre les connexions à distance si non nécessaires.
  • Filtrer les ports SQL Server au niveau du pare-feu (ex. : TCP 1433).

🔍 3. Audit et journalisation

  • Activer l’audit SQL Server (SQL Audit) pour suivre :
    • Connexions
    • Modifications d’objets
    • Élévation de privilèges
  • Surveiller les connexions échouées (tentatives de bruteforce).
  • Consulter régulièrement les logs SQL Server et Event Viewer.

🔒 4. Chiffrement

  • Activer le chiffrement des connexions (SSL/TLS) entre les clients et SQL Server.
  • Utiliser TDE (Transparent Data Encryption) pour chiffrer les fichiers de bases de données au repos.
  • Utiliser Always Encrypted pour protéger les données sensibles côté client (ex. : numéros de carte bancaire).
  • Protéger les sauvegardes avec mot de passe ou chiffrement natif.

🧬 5. Sécurisation des objets et du code

  • Éviter l’utilisation de SQL dynamique non protégé (risque d’injection SQL).
  • Contrôler les droits sur les objets système (éviter EXECUTE AS sans besoin).
  • Ne pas stocker de mots de passe en clair dans la base (utiliser HASHBYTES ou chiffrement symétrique).

🛡️ 6. Gestion des correctifs

  • Appliquer régulièrement les CU (Cumulative Updates) et mises à jour de sécurité de SQL Server.
  • Surveiller les bulletins de sécurité Microsoft (MSRC) pour SQL Server.

🧾 7. Sauvegardes et restauration

  • Protéger l’accès aux dossiers de sauvegarde (droits NTFS limités).
  • Chiffrer les sauvegardes sensibles.
  • Tester régulièrement la restauration (intégrité, accès, chiffrement, etc.).

🧑‍💻 8. Surveillance des comptes à privilèges

  • Limiter le nombre de comptes sysadmin.
  • Surveiller les actions des comptes privilégiés (via SQL Audit ou Extended Events).
  • Éviter que des services applicatifs tournent avec des comptes sysadmin.

🛠️ 9. Sécurité du système d’exploitation

  • Sécuriser le système hôte : patch OS, antivirus, GPO, UAC.
  • Utiliser des comptes de service dédiés (faibles privilèges) pour SQL Server.
  • Restreindre l’accès RDP et PowerShell aux serveurs SQL.

📦 10. Sécurité dans les environnements cloud (si applicable)

  • Configurer correctement les pare-feux réseau et groupes de sécurité (Azure NSG, AWS SG).
  • Utiliser l’identité managée dans Azure SQL.
  • Surveiller les journaux via Azure Defender ou AWS GuardDuty.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *