Déclinaisons et mécanismes implémentatnt la Sécurité des SGBDs

Sécurité bases de données Ajouter un commentaire

Les différents aspects de la sécurité

On envisage souvent la sécurité sous un angle fermé, essentiellement celui de la confidentialité. Mais bien d’autres concepts sous tendent la sécurité. Ils sont pratiquement tous applicables aux OS ET aux SGBDs, tant il est vrai que ces deux domaines sont extrêmement recouvrants.

  • confidentialité
    Tout n’est pas accessible à tout le monde! Se connecter à l’OS ou à la base de données, donne un certain nombre de droits et de ressources en fonction d’un profil défini et maintenu par un administrateur. La granularité d’accès peut aller jusqu’à la vision unique d’un champ d’un enregistrement d’une table articulière.
  • disponibilité
    Faculté de délivrer correctement un service en terme de délai et de qualité à l’utilisateur. Se mesure en pourcentage du temps de fonctionnement total.Une disponibilité de 100% est possible (temps
    de reprise nul) il suffit de s’en donner les moyens logiciels et matériels…
  • fiabilité
    Des mécanismes de sauvegarde variés (physique, logique, off-line, on-line, totale, partielle, incrémentale), ainsi que des mécanismes de journalisation, et de reprise permettent de restaurer une information sans
    pratiquement aucune perte, dans tous les cas de problème matériel ou logiciel.
  • intégrité
    Que les données soient réparties ou non –dans ce dernier cas les mécanismes mis en jeux seront plus complexes– elles doivent être cohérentes. Cela sous entend, d’une part que les accès concurrents d’utilisateurs, notamment lors de mises à jour, ne doivent pas compromettre la cohérence des données et d’autre part que ces dernières satisfassent aux contraintes d’intégrité du modèle, et / ou aux règles de gestion de l’entreprise.
  • tracabilité
    en cas de problème important ou d’attaque du système, on peut recourir à l’analyse de traces ou de logs. Le niveau de détail de ces traces est paramétrable, et concerne soit les aspects système, soit réseau, soit l’accès aux données élémentaires elles-mêmes.
  • maintenabilité aptitude à la réparation, évolution, maintenance du système. Mesuré en temps de reprise après panne (Mean Time To Recover)

Les mécanismes mis en oeuvre pour la sécurité des BDs

Les SGBDs (dignes de ce nom) se doivent de fournir un certain n ombre de mécanismes internes ou de fonctionnalités assurant un niveau satisfaisant de sécurité.

  • L’authentification, est le processus qui permet de vérifier
    qu’un utilisateur réclamant un accès est bien celui qu’il prétend être, ou plus simplement le processus qui contrôle l’identité de l’utilisateur. Cette action (login) se fait en général via la fourniture du couple nom d’utilisateur / mot de passe.
    Dans certains cas l’authentification peut être implicite et héritée d’une authentification précédente, ou reconnue automatiquement (@IP du user sur le réseau par exemple), bien que simplifiant les accès ce choix peut évidemment s’avérer dangereux.

La multiplication des couches logicielles sus évoquée, et l’inflation d’applications sur les postes utilisateur fait que ce dernier est fréquemment amené à s’authentifier des dizaines de fois par jour. La signature unique (Single Sign On ou SSO) est un objectif très louable mais rarement atteint !

  • Les droits et privilèges : une fois correctement identifié l’utilisateur doit pouvoir accéder aux informations
    et ressources auxquelles il a droit (et uniquement à celle là! ) Ce problème est résolu le + simplement avec la gestion de droits élémentaires accordé à un individu, ou plus efficacement avec des rôles et / ou profils affectés à des groupes d’invidus…ou à des rôles ou profils.
  • Les LOGs ou traces : permet d’enregistrer tout ou partie des informations concernant les accès (réussis ou échoués). Cette trace pourra être plus ou moins verbeuse et son volume étroitement surveillée. De ce fait on l’utilisera de manière cibllée sur des périodes de temps spécifiques
  • tolérance aux pannes : permet par du matériel ou du logiciel redondant (CPUs, disques, IOs) de supporter de manière partiellemnt ou complètement transparentes différents types de pannes, tant au niveau du client, que du réseau, que du serveur. Une tolérancec totale a bien sur un cout certain.
  • sauvegarde et restauration
    sauvegarder les données sur des supports externes (disques, bandes, etc.) et pouvoir les restituer, les plus à jour possible. Le but est de ne pas perdre de données suite à un pb matériel (panne disque) , logiciel (bug) ou une fausse manipulation d’un utilisateur.
  • mécanismes transactionnels
    l’atomicité des transactions, par définition assure la cohérence des données, même dans des environnements distribués. L’image avant modification, stockée de manière redondante dans ou hors de la BD, permet de faire d’éventuels retours arrière pour retrouver le dernier état cohérent, ou de s’assurer qu’il n’y aps pas eu d’opérations partielles ou incomplète (transaction bancaires par exemple)
Aspect sécurité mécanisme mis en oeuvre exemple d’implémentationau niveau SGBD exemple d’implémentationau niveau OS
confidentialité
  • authentification
  • indépendance logique / physique
  • référentiel user / password : DBA_USERS
  • tables de user applicatifs
  • identification externe :
    CREATE USER …IDENTIFIED EXTERNALLY
  • tables / tbs / fichiers
  • vues (1)
  • virtual private database
  • SSO LDAP
  • identification externe
  • architecture client serveur
  • droits et privilèges
  • droits d’accès aux données
    GRANT SELECT ON toto
  • droits du LDD ou Systeme
    GRANT CREATE TABLE TO…
    GRANT CREATE SESSION TO…
  • roles
  • user OS DBA ou root
traçabilité
  • logs et traces
  • tables d’audit
  • log Oracle Net
  • logs apache
  • logs OS
  • logs réseau
fiabilité, disponibilité, maintenabilité
  • tolérance de panne
  • stand by DB
  • cluster logiciels : architecture R.A.C
  • H.A.C.M.P
  • techno RAID
  • machine redondantes
  • sauvegarde et restauration
  • physique : sauvegarde + journalisation + restauration
  • logique : export / import
  • génération de SQL
  • copie physique totale
intégrité
  • transaction atomique
  • contraintes d’intégrité
  • Two Phase Commit (2PC)
  • contraintes ‘reference’
  • read consistancy

(1) la vue est pratiquement le seul contrôle d’accès offrant un niveau de granularité ligne ou colonne ! et qui plus est de manière contextuelle, en les paramétrant (tranches horaires, @ IP, etc.)

Faire un commentaire