Journal du Net > Solutions > Sécurité >  Sécurité > Analyses > Sécuriser une base de données
Analyse
 
17/09/2007

Sécuriser une base de données en 9 étapes

Durcissement de l'OS, supervision, sensibilisation du DBA, segmentation, définition des droits et méthodes d'accès ou chiffrement : la protection de la base de données au travers de 9 phases.
  Envoyer Imprimer  

 
En savoir plus
 
 
 

La base de données constitue souvent un applicatif critique pour l'entreprise. Sa sécurité, et le respect de bonnes pratiques, s'avèrent d'autant plus indispensables que l'ouverture du système d'information sur Internet a accru les risques.

"Le risque majeur pour les entreprises en termes d'attaque est l'injection de code SQL", rappelle ainsi Jean-Paul Ballerini, expert technique pour IBM ISS.

"Ce peut aussi être un moyen, en maitrisant le SGBD, de prendre la main sur le système d'exploitation et de créer des comptes avec des droits administrateur afin de se connecter ensuite directement. Les vulnérabilités ne sont pas seulement au niveau de l'applicatif, mais aussi de l'OS", poursuit-il.

1) Connaître son besoin

La sécurité de la base de données commence par une réflexion sur les usages et la population d'utilisateurs accédant à celle-ci, ainsi que sur la manière dont la connexion s'effectue. Est-ce directement par les utilisateurs ou par le biais d'un applicatif (interface Web, progiciel, etc.). Il est indispensable de connaitre la méthode et la nature des accès afin de définir une politique de sécurité adaptée.

"La connexion d'un SGBD avec un progiciel, qui nécessite une méthode d'interconnexion spécifique, peut avoir pour effet d'abaisser le niveau de sécurité. Les équipes sécurité et intégration, dont les missions ne sont pas forcément en accord, doivent souvent trouver un accord", avertit également Alexis Caurette, consultant pour Devoteam.

Ne pas négliger la formation et sensibilisation des DBA

La sécurité ce n'est cependant pas uniquement la protection contre les attaques. D'autres questions se posent sur la garantie de la traçabilité, l'intégrité, l'auditabilité, la confidentialité et la sauvegarde des données. La politique va par conséquent dépendre de ce que l'on souhaite garantir en fonction des besoins identifiés. Il sera ainsi incontournable de redonder les équipements d'interconnexion si la disponibilité est critique.

2) Une sécurité en amont

Le déploiement d'une base de données est souvent la brique d'un projet plus global. La sécurité doit donc être pensée pour l'ensemble des éléments, surtout dans le cas d'un applicatif accédant à la base. Celle-ci peut être protégée mais si l'outil utilisé pour s'y connecter est vulnérable, il ouvrira des portes. Un SGBD ne pourra pas faire la différence entre une connexion légitime et une attaque par le biais d'un frontal Web.

3) Supervision

Un suivi des indicateurs de la base de données doit être assuré afin de détecter les anomalies, prévenir les interruptions de service et intervenir dans les meilleurs délais. La majorité des SGBD du marché embarquent désormais des systèmes de supervision. Charge ensuite à l'administrateur de base de données (DBA) de concevoir des filtres appropriés pour diagnostiquer toute évolution du mode de fonctionnement de la base.

4) Sensibiliser les DBA

L'administrateur doit être sensibilisé aux problématiques de sécurité, aux risques, à la criticité des contenus dont il a la charge et pas seulement à la performance. Un DBA peut avoir à superviser une dizaine de bases sans bénéficier de visibilité sur les données qu'elles hébergent et risquer par conséquent de ne pas avoir les bons réflexes.

5) Durcir le socle système

Une base de données repose sur une couche système. Cette dernière ne doit donc pas être négligée et faire l'objet d'un durcissement fort. Une base de données ne sera pas en mesure de se défendre contre une personne détenant des droits administrateur sur l'OS. Ce durcissement comprend l'application d'une politique de gestion des correctifs et du moindre privilège, la limitation des services (réseau et système) et applicatifs, la segmentation des droits ou encore une authentification via des mots de passe fort.

Attention au paramètrage des SGBD lors de migration de versions

6) Renforcer la couche BD

Tout comme le système, les correctifs de sécurité doivent être appliqués à la base de données. Pour des exigences de disponibilité, le patch management est cependant complexifié. Il faut veiller en outre au durcissement de l'installation par défaut.

"Les éditeurs ont fait des progrès très significatifs dans ce domaine. Il y a encore 4 ans, avec une configuration par défaut, le niveau de sécurité était faible avec l'ouverture de nombreux services et une authentification minimale. Entre Oracle 8 et 9, puis entre les versions 9 et 10, il y a un véritable fossé en termes de sécurité", commente Alexis Caurette.

Attention cependant lors de migration d'une version ancienne vers une plus récente. Pour des motifs de compatibilité, le paramétrage de la nouvelle base sera celui de l'ancienne. Une migration vers Oracle 10 depuis la 8 ne profitera donc pas automatiquement de la robustesse par défaut de celle-ci.

7) Gestion des comptes

Les comptes par défaut doivent être verrouillés et les mots de passe remplacés pour respecter les normes de sécurité. La notion de politique du moindre privilège s'applique. C'est-à-dire qu'un utilisateur n'ayant par exemple besoin que de consulter les données ne doit en aucune façon disposer de droits en écriture. De même, la base doit être correctement segmentée pour qu'une habilitation ne concerne qu'un périmètre défini des données.

8) Méthodes d'accès

L'entrée sur la base de données doit être autorisée selon des méthodes précises. C'est à ce niveau que le filtrage sera défini. Si la connexion se fait depuis une application Web, alors seule celle-ci et le DBA seront autorisés à accéder. Ce filtrage est toutefois complexifié lors de l'intégration avec un PGI ou de connexion depuis une application en client lourd installée sur de nombreux postes.

Interviennent alors des aspects de gestions des profils et des utilisateurs, d'évolution des droits. Une cartographie des données et des habilitations doit être dressée pour définir les types de populations accédant à la base et les parties de celle-ci qu'ils sont autorisés à consulter.

 
En savoir plus
 
 
 

9) Chiffrer les flux de données

Les informations envoyées en réponse à une requête ne doivent pas circuler en clair sur le réseau. Nul besoin de durcir l'accès et l'OS, s'il suffit d'écouter le trafic réseau. Les flux seront par conséquent chiffrés entre la base et les différents composants.

 


JDN Solutions Envoyer Imprimer Haut de page

Sondage

Votre entreprise évolue-t-elle vers une informatique bimodale ?

Tous les sondages