Introduction - Zenk - Security - Base.pdf · •L'accès aux données ... est vraisemblablement le...

download Introduction - Zenk - Security - Base.pdf · •L'accès aux données ... est vraisemblablement le meilleur choix pour gérer des bases de données, ... la majorité des programmes

If you can't read please download the document

Transcript of Introduction - Zenk - Security - Base.pdf · •L'accès aux données ... est vraisemblablement le...

  • Document ralis par Mr Souleymane, Elve ingnieur en informatique de gestion

    00225- 08281648

    [email protected] [email protected]

    Introduction

    mailto:[email protected]:[email protected]

  • Objectifs A l'heure o le e-commerce se dveloppe, de plus en plus d'entreprises utilisent des bases de donnes pour grer leur activit. La base de donnes est en effet un moyen trs efficace pour stocker physiquement une masse d'informations et grer cet ensemble d'une faon trs rapide. L'entreprise gagne ainsi un temps considrable car elle n'a pas faire intervenir d'oprateurs pour rpondre aux attentes de ses diffrents clients.

    Concevoir une base de donnes ne pose pas de problme en soit, mais il faut utiliser une certaine mthodologie qu'il est impratif de respecter pour parvenir ses fins. Cette synthse aura donc pour objectif de vous prsenter les diffrentes phases de conception d'une base de donnes, afin d'arriver un systme qui sera fiable pendant de nombreuses annes ...

    1. Dfinitions1.1. Base de donnes

    Chaque individu effectue sans le savoir parfois, un stockage d'informations dans un domaine bien prcis. Par exemple : un particulier peut crire dans un classeur ses diffrentes recettes de cuisine, effectuer un carnet d'adresse, faire une liste de sa vidothque, des dpenses prvues ... Un bibliothcaire maintient une liste de ses membres, de ses livres ...

    Ces informations sont appeles des donnes. Elles peuvent tre stockes sur diffrents types de support et format comme par exemple : des fichiers papiers, des fichiers informatiques ou alors une base de donnes.

    Une base de donnes est donc un ensemble d'informations structures portant sur un thme commun. Par exemple, une entreprise pourra se constituer une base de donnes qui regroupera les donnes de ses diffrents produits, clients, ou fournisseurs ...

    Pour administrer efficacement une base de donnes, il est impratif de possder un Systme de Gestion de Base de Donnes (SGBD), qui va permettre de grer cette base.

    Exemple d'une configuration Base de donnes

    1.2. Systme de Gestions de Base de Donnes

    2

  • Pour pouvoir grer les multiples donnes d'une base, permettre la gestion de ces dernires par de nombreux utilisateurs, il est ncessaire de possder un systme de gestion. Cette gestion s'effectue grce un Systme de Gestions de Base de Donnes (SGBD).

    C'est le SGBD choisit qui va permettre de grer :

    L'accs aux donnes

    Autoriser et superviser l'accs aux informations par de multiples utilisateurs Manipuler les donnes (ajout, insertion, suppression, modification ...) Scuriser les donnes

    Il est donc ncessaire de bien choisir son systme de Gestion, car tout le bon fonctionnement de la base de donnes reposera sur lui ...

    2. Analyse de la conception Afin de raliser un projet informatique, il faut pratiquer une analyse informatique. Cette analyse consiste comprendre et modliser le systme d'information (SI) sur lequel nous travaillons. Un systme d'information regroupe toutes les informations d'un domaine prcis.

    La mthode d'analyse MERISE est une mthode de conception et de dveloppement de systme d'information. C'est cette mthode qui va nous permettre de raliser le MCD (modle conceptuel des donnes : diagramme entit-relation permettant de modliser le systme d'information sans prendre en compte les dtails lies sa mise en oeuvre physique), et le MLD (modle logique des donnes : qui est issue du MCD et qui va permettre de prendre en compte la structuration technique propre au stockage informatis). Si le MCD et le MLD sont trs bien raliss, la mise en oeuvre physique de la base de donnes sera trs facile implmenter.

    L'efficacit et la validit de cette analyse reposent sur la qualit de la communication entre les utilisateurs (matrise d'Ouvrage) et les informaticiens (matrise d'Oeuvre).

    2.1. Modle Conceptuel des Donnes Pour vous expliquer comment concevoir un MCD, prenons l'un des SI que j'ai eu l'occasion de dvelopper pendant mon stage:

    Un client, identifi par son numro de client, son nom, son prnom, son adresse, son tlphone, passe une commande identifie par son numro de commande et sa date. Cette commande est constitue d'articles identifis par un numro d'articles, une dsignation d'articles, et un prix unitaire hors taxe. Cette article pourra tre archive dans la base de donnes selon s'il est encore vendu ou non. Cette commande sera par la suite facture au client par l'intermdiaire d'une facture (n facture, nom de facture, adresse de facture qui peut diffrer de celle du client, montant de la facture et mode de rglement de cette facture).

    Comment les donnes circulent elles ?

    Le client passe une commande La commande est facture au client

    Quelles sont les donnes ?

    3

  • Le client : n client, nom, prnom, adresse, tlphone La commande : n commande, date_commande La facture : n facture, nom de facture, adresse de facture, montant de la facture, mode de rglement de la facture

    Comment sont elles lies entre elles ?

    Une commande n'appartient qu' un seul client Un client peut passer plusieurs commandes Une commande est constitue de produits Une facture ne se rapporte qu' une seule commande

    Une fois que la matrise d'ouvrage a donne l'ensemble de ses informations, que celles ci ont t transcrites, le passage au MCD se fait donc de manire naturelle :

    Exemple d'un Modle conceptuel de donnes

    Ce modle est appel : Modle Entit - Relation. Les entits sont reprsentes par les rectangles, et les relations par des ovales. On appelle attributs les diffrentes composantes d'une entit. Par exemple : numero_commande, numero_client, date_commande sont les attributs de l'entit Commande.

    2.2. Modle Logique de Donnes Ds lors que le modle conceptuel de donnes est effectu, il est temps de raliser le modle logique de donnes. Pour se faire, il suffit de dterminer quel sera le type des diffrents attributs contenu dans les entits. Il faudra aussi dterminer les diffrentes contraintes d'intgrit qu'il pourrait y avoir sur ses attributs.

    En reprenant l'exemple prcdent, nous aurions un MLD de cette forme :

    4

  • ENTITE ATTRIBUT TYPE CONTRAINTE(S)COMMANDE numero_commande Entier Cl primaire / Non Null numero_client Entier Non Null date_commande Date

    ENTITE ATTRIBUT TYPE CONTRAINTE(S)CLIENT numero_client Entier Cl primaire / Non Null

    nom_client Chaine de 20 Caractres adresse_client Chaine de 100 Caractres ville_client Chaine de 20 Caractres code_postal_client Entier telephone_client Chaine de 50 Caractres

    Grce la conception de ces 2 modles, la mise en oeuvre au niveau physique devient trs facile.

    3. Choix des diffrents Systme de Gestion De nombreux SGBD sont actuellement disponible sur le march. Pourquoi choisir tel ou tel SGBD ? Cette page a pour but de vous prsenter les avantages et inconvnients des diffrents SGBD que l'on connat : Interbase, MySQL, Oracle, SQLServer et Access. Ainsi, en fonction de ce que vous souhaitez raliser, de votre budget, de vos comptences informatiques, de l'volution de votre projet ... vous serez mme de choisir le SGBD qui vous convient le mieux.

    Il existe bien entendu d'autres systme de gestions, mais cette synthse tant destine un large public, seul les principaux SGBD sont prsents car le support qui est offert en cas de problme ne peut pas poser de problmes ...

    3.1. Interbase

    InterBase possde beaucoup de qualits : ce SGBD offre une administration facile qui est de plus auto optimise et auto administre. De nombreux outils sont disponibles pour grer InterBase. Ce SGBD est fiable et robuste et supporte de nombreuses instructions avances. Enfin, l'un de ses principaux points forts est sa disponibilit dans une version OpenSource. Il existe des versions payantes de ce produit, qui propose des amliorations, mais la version OpenSource offre dj beaucoup de possibilits. Dans la mesure o Interbase est un produit Borland, son interaction avec C++Builder ou Delphi ne pose aucun problmes.

    InterBase est vraisemblablement le meilleur choix pour grer des bases de donnes, de petite taille comme de moyenne taille.

    Site de l'diteur : http://www.borland.com/interbase/

    3.2. MySql5

    http://www.borland.com/interbase/

  • MySQL est une solution trs courante en ce qui concerne l'hbergement public de site Internet. MySql offre en effet une trs bonne intgration dans l'environnement PHP/Apache et une bonne rapidit. Il est trs stable et ceux mme avec un grand nombre d'enregistrements. Un des gros avantages est donc une grande communaut d'utilisateurs, ce qui en facilite le support en cas de problmes. De plus, MySQL est gratuit, sauf pour certaines utilisations.

    En revanche, MySQL ne supporte qu'une partie du standard SQL-92. Par exemple, MySQL ne permet pas d'effectuer des sous requtes, des procdures stockes et des transactions natives.

    MySQL sera donc un trs bon choix si vous souhaitez l'utiliser en relation avec PHP, en utilisant des requtes simples. Sachez nanmoins que de nombreuses fonctions ne pourront tre utilises avec ce SGBD.

    Site de l'diteur : http://www.mysql.com/

    3.3. Oracle

    Oracle est incontestablement l'un des systmes de gestion figurant parmi les plus performants du march. Il est multi plateformes : les premires versions d'Oracle tournaient sur des systmes Unix, et depuis, l'diteur dvelopper des versions pour des plateformes de type BSD / Windows NT-2000-XP, et plus rcemment Linux.

    Dans ses versions actuelles, Oracle est un systme rserv aux grandes entits car il ncessite de fortes contraintes de disponibilits. Oracle n'est pas fait pour optimiser des petites bases de donnes : sur de petits volumes de traitements, avec peu d'utilisateurs, MySQL offre des performances quasi comparables Oracle. Par contre, ds que le volume de donnes devient trs important, qu'il y a un grand nombre d'utilisateurs, les carts de performances sont trs visibles et tournent l'avantage d'Oracle

    Les principaux atouts d'Oracle sont :

    Une trs grande stabilit de noyau, ce qui est indispensable pour des entreprises qui ne peuvent pas se permettre d'avoir une interruption de service.

    Il permet de paramtrer tout ce que vous dsirer pour votre entreprise.

    Les procdures stocks en PL/SQL (langage propritaire Oracle), ou en Java, permettent de rendre la tche beaucoup plus facile aux quipes de dveloppement.

    La prennit de l'diteur : il est important pour une entreprise de savoir que la solution qu'elle adopte ne va pas disparatre du jour au lendemain. De plus, Oracle offre une qualit de support technique irrprochable (24h/24 et 7jrs/7). En plus de cela, il existe sur Internet une grande communaut de DBA/Dveloppeurs.

    Pour les points ngatifs d'Oracle :

    6

    http://www.mysql.com/

  • Le prix est bien videmment un obstacle car il cible une clientle bien dfinie.

    Il est trs gourmand en ressources, ce qui, outre le cot des licences serveur, implique un investissement matriel non ngligeable. Mais c'est cette "gourmandise" qui permet un paramtrage du systme aussi puissant.

    Il ncessite la prsence d'un ou plusieurs DBA pour maintenir le systme et le faire voluer. Oracle manque cruellement d'outil qui permette son auto administration (tel qu'on pourrait les trouver dans SQL Serveur, Interbase et autres ...).

    Le langage SQL utilis est trs loin des normes SQL2 et SQL3

    Pour rsumer : Oracle est vraiment un poids lourd des SGBD. Moyennant un investissement important et la ncessit d'un administrateur, Oracle se rvlera un excellent SGBD pour grer de trs grosses bases de donnes.

    Site de l'diteur : http://www.oracle.com/

    3.4. SQLServer

    SQL Server est un SGBD trs rapide qui a l'avantage de proposer un langage procdural facilement exploitable grce la simplicit du langage Transact SQL. Le Langage SQL de ce SGBD est assez complet et respecte en gnral les diffrentes normes. SqlServer offre la possibilit de faire des sous requtes dans la clause FROM, ce qui permet de raliser assez facilement des requtes assez complexes, directement exploitable.

    Sans tre simple, l'administration de SQLServer n'atteint pas des sommets de complexit. Il a en effet l'avantage d'tre trs visuelle, comme la majorit des programmes Microsoft.

    On peut cependant y voir les inconvnients suivants : il est mono plateforme, de sorte qu'il pourra n'tre utilis que sur un systme Windows, il n'offre pas la possibilit d'utiliser le trigger BEFORE. Enfin, il imbrique des composants Microsoft, ce qui augmente l'inscurit, mme si des correctifs sont rgulirement disponibles.

    SQL Server est donc un bon choix pour des bases de donnes de moyenne taille.

    Site de l'diteur : http://www.microsoft.com/sql/default.asp

    3.5. Access

    Access est un outil professionnel qui est adapt un certain type de besoins. Il est assez performant en tant que SGBD et il intgre un outil de dveloppement, ce qui en facilite l'utilisation. Une personne n'ayant pas forcment beaucoup de connaissances en informatique peut trs facilement utiliser Access et se crer une base de donnes complte. Sa parfaite intgration dans Microsoft Office permet l'utilisation des nombreux assistants en cas de problmes

    7

    http://www.microsoft.com/sql/default.asphttp://www.oracle.com/

  • D'un autre ct, Access n'est pas un SGBD client/serveur. Il s'agit simplement d'un SGBD fichier. Par consquence, le trafic sur le rseau peut tre perturb. De surcrot, les performances chutent trs rapidement lorsque plusieurs utilisateurs sont connects en mme temps, ou quand la base dpasse les 100000 lignes. L'interface est plutt lourde, ce qui fait que les temps de rponses peuvent augments.

    Access est donc un excellent choix si vous dsirez avoir une petite base de donnes qui pourra trs facilement tre gre.

    Site de l'diteur : http://www.microsoft.com/france/office/access/prodinfo/default.asp

    Je vous invite visiter ce site : http://sqlpro.developpez.com/SQL_AZ_F.htm, qui vous permettra d'avoir une liste des fonctions disponibles en SQL, et vrifier leur compatibilit avec les diffrents SGBD.

    4. Cration de la Base de Donnes4.1. Dveloppement interne de la base Une fois que vous aurez choisit le systme de gestion le mieux adapt votre entreprise, que vous aurez finalis la conception de votre base de donnes sous forme de schmas logiques que nous avons tudi prcdemment (Modle conceptuel et modle logique), il sera alors grand temps de dvelopper la base de donnes ...

    Pour se faire, il vous suffira de transcrire en langage informatique vos diffrents modles. Si ceux ci sont bien raliss, cela ne devrait pas poser de problmes particuliers ...

    En gnral, le langage utilis pour les bases de donnes est le SQL (Structural Query Language). De nombreux sites pourront vous aider apprendre ce langage (ex : http://www.sqlfacile.com). Je vous invite galement consulter la documentation du SGBD que vous choisirez en cas de problme. En effet, les standards SQL ne sont pas forcment respects entre les diffrents SGBD.

    Reprenons l'exemple de la partie 2 :

    Nous avions ralis le modle logique de donnes des diffrentes entits. En ce qui concerne les clients, nous avions :

    ENTITE ATTRIBUT TYPE CONTRAINTE(S)CLIENT numero_client Entier Cl primaire / Non Null

    nom_client Chaine de 20 Caractres adresse_client Chaine de 100 Caractres ville_client Chaine de 20 Caractres code_postal_client Entier telephone_client Chaine de 50 Caractres

    Afin de crer la table Client dans la base de donnes : le code SQL sera le suivant : CREATE TABLE CLIENT

    8

    http://www.sqlfacile.com/http://sqlpro.developpez.com/SQL_AZ_F.htmhttp://www.microsoft.com/france/office/access/prodinfo/default.asp

  • (numero_client INT NOT NULL)

    PRIMARY KEY,nom_client VARCHAR(20),adresse_client VARCHAR(100),ville_client VARCHAR(20),code_postal_client INT,telephone_client VARCHAR(50));

    Il est noter que ce code est valable pour une base de donnes sous Interbase. On retrouve bien videmment le nom des diffrents attributs, leur type, leur taille, ainsi que les diffrentes contraintes d'intgrit.

    Si l'analyse est donc bien ralise, la cration des diffrentes tables de la base de donnes ne devrait pas poser de problme.

    Il ne vous restera plus qu' raliser vos fonctions/procdures stockes, ventuellement vos triggers et tout ce dont vous pourriez avoir besoin pour exploiter au maximum votre base de donnes.

    Cette mthodologie s'appuie donc sur une phase d'analyse assez pousse entre la maitrise d'ouvrage et la maitrise d'oeuvre. A l'issue de cette analyse, un cahier des charges pourra tre ralis. Il est vivement conseill de l'effectuer car il permettra de baliser votre travail. Ainsi en le faisant lire vos responsables ou des personnes tierces, elles pourront facilement rendre compte des problmes de votre solution, la complter, ou l'affirmer; et cela vous permettra de concevoir votre base d'un seul jet, sans tre oblig de recommencer .... L'entreprise ne peut pas se permettre de perdre de temps ...

    4.2. Interaction avec la base

    La base de donnes tant maintenant prte. Il est temps que vos utilisateurs puissent l'exploiter. (Faire des slections dans les tables, des insertions, des suppressions, des modifications ...).

    Vous avez votre disposition plusieurs solutions pour faire interagir la base de donnes. La plus connue tant le PHP. Ainsi, via une adresse internet, vos utilisateurs peuvent se connecter la base de donnes et raliser leur tche.

    Java, Microsoft .NET, C++Builder ... vous permettront galement de faire interagir votre base de donnes.

    Ici encore, il faudra raliser une petite tude car tous les systmes de gestion ne sont pas compatibles avec toutes les solutions d'exploitation. Ce choix devra galement tre fait en fonction des comptences informatiques de vos utilisateurs, de votre matriel ...

    9

  • 5. Scurisation de la Base de donnes Afin d'viter des catastrophes, il est primordial de scuriser la base de donnes ainsi que le rseau sur lequel elle se trouve.

    Il faudra donc :

    Mettre en place des comptes utilisateurs avec diffrents niveaux d'accs au niveau de la base. Ainsi chaque utilisateur pourra accder telles ou telles parties de la base de donnes, l'aide d'un login et d'un mot de passe.

    L'accs aux tables systme ne devra tre possible que par un administrateur. Ainsi les utilisateurs ne pourront pas mettre en demeure le bon fonctionnement de la base de donnes. Un oprateur pourra ventuellement veiller au contrle des donnes au sein de la base.

    Dvelopper une stratgie de Sauvegarde de la Base de donnes. Ainsi, en cas de problme sur cette dernire, la restitution des donnes pourra se faire aussi rapidement que possible, et l'entreprise n'aura rien perdu en productivit.

    Scuriser le rseau local de l'entreprise : les donnes des entreprises tant confidentielles, il est ncessaire que des personnes malveillantes n'y accdent pas. Ainsi, il est ncessaire de mettre en place un Firewall et un Antivirus. Si l'entreprise a des commerciaux qui doivent se connecter la base de donnes de l'extrieur (via internet par exemple), il faudra mettre en place une scurit accrue pour viter les failles de scurit. (citons par exemple le ver Slammer de Janvier 2003 qui a attaqu les serveur SQL Server car ils avaient autoris les connexions via Internet).

    Mettre en place des scurits au niveau des utilisateurs du rseau local. La standardiste n'a pas forcment besoin d'accder aux donnes confidentielles de la base de donnes ... Ceci se fait via la configuration de l'Active Directory et de la configuration des diffrentes stratgies des comptes utilisateurs ...

    Si vous dsirez de plus amples informations sur la scurisation d'un rseau d'entreprise : je vous invite visiter ce site : http://www.devparadise.com/technoweb/hardware/net/D59.asp

    Conclusion Les bases de donnes sont de plus en plus utiles de nos jours pour exploiter une quantit importante d'informations avec un maximum d'efficacit. Pour les entreprises, il y a en effet des contraintes en moins, car la base de donnes va permettre de centraliser des informations importantes tout en faisant intervenir un nombre rduit d'oprateurs.

    Afin de raliser une base de donnes qui sera fonctionnelle, il est primordial de respecter une mthodologie bien prcise :

    Etude du projet dans les moindres dtails : analyse du projet avec ses diffrentes contraintes ...

    Schma de la conception sous forme de modle conceptuel de donnes.

    Choix du systme de gestion en fonction des diffrentes contraintes de l'entreprise, de l'importance de la base de donnes et des limites des diffrents systme de gestion.

    Dveloppement proprement dit de la base de donnes.10

    http://www.devparadise.com/technoweb/hardware/net/D59.asp

  • En respectant ce schma, il sera alors possible de concevoir une base de donnes fiable, qui respectera pleinement le cahier des charges initiale. L'entreprise sera ainsi soulag d'un poids important et pourra ainsi pleinement grer ses diffrentes activits ...

    Sangar Souleymane

    00225-08281648

    [email protected] [email protected]

    11

    mailto:[email protected]:[email protected]

    IntroductionObjectifs

    1. Dfinitions1.1. Base de donnes1.2. Systme de Gestions de Base de Donnes

    2. Analyse de la conception2.1. Modle Conceptuel des Donnes2.2. Modle Logique de Donnes

    3. Choix des diffrents Systme de Gestion3.1. Interbase3.2. MySql3.3. Oracle3.4. SQLServer3.5. Access

    4. Cration de la Base de Donnes4.1. Dveloppement interne de la base4.2. Interaction avec la base

    5. Scurisation de la Base de donnesConclusion