hie Securite Logiciel Libre

download hie Securite Logiciel Libre

of 92

Transcript of hie Securite Logiciel Libre

Projet de synthseCartographie des solutions de scurit dans le monde du logiciel libreMGL9701 - Projet en gnie logiciel

Michel Htu - UQAM

Version 2.7 2009-12-02

MGL9701 - Projet en gnie logiciel

Historique des rvisionsVersion 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Date 2009-02-01 2009-02-02 2009-03-14 2009-03-21 2009-03-22 2009-04-04 2009-04-11 2009-04-13 2009-04-18 2009-04-26 2009-05-10 2009-05-17 2009-05-23 2009-06-06 2009-07-20 2009-07-21 2009-07-23 2009-07-24 2009-07-26 2009-08-30 2009-09-06 2009-09-20 2009-09-27 2009-10-03 2009-11-18 2009-11-29 2009-12-02 Description Cration du document Ajout du cadre de rfrence et de la bibliographie Ajout de la section 2 Ajout des rfrences web Ajout des sections 3 et 4 Ajout de la section 5 Ajout de la section 6 et 7.5 et 7.6 Ajout de la section 5.6 et 5.7 Ajout de la section 7.1 7.4 Ajout de la section 8 Ajout la section 8 Ajout de la section 5.2 et section 5.9 Ajout la section 9.2 Ajout du graphique en section 10 Rvisions Ajout des normes 27000 Ajout des normes COSO, COBIT, ITIL Rvisions Rvisions des rfrences Ajout de la figure en 2.7 Ajout de PostgreSQL la section 6.6 Ajout la section 6.6 Ajout de la section 12 Ajout la section 12 Rvisions Rvisions Rvisions Rvisions Auteurs Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu Michel Htu

1

MGL9701 - Projet en gnie logiciel

Table des matiresHistorique des rvisions.................................................................................................... 1 Table des matires............................................................................................................. 2 Liste des figures................................................................................................................. 4 Liste des tableaux.............................................................................................................. 5 Sigles et abrviations......................................................................................................... 7 1 Introduction ........................................................................................................... 91.1 1.2 Contexte..................................................................................................................................9 But et porte............................................................................................................................9

2

Les normes............................................................................................................ 122.1 2.2 2.3 2.4 2.5 2.6 2.7 Les certifications du domaine de la scurit .........................................................................13 Le rfrentiel COSO .............................................................................................................14 Le rfrentiel COBIT............................................................................................................14 Le rfrentiel ITIL ................................................................................................................14 ISO 13335 : Lignes directrices pour la gestion de scurit IT ..............................................15 ISO 15408 : Critres dvaluation de la scurit des technologies de linformation ............16 Les normes ISO 27000 .........................................................................................................17

3

Intgrit ................................................................................................................ 203.1 3.2 3.3 3.4 Certificat cl publique de signature....................................................................................20 Code dauthentification de message .....................................................................................22 Empreinte numrique............................................................................................................23 Notarisation ..........................................................................................................................24

4

Irrvocabilit........................................................................................................ 254.1 4.2 4.3 Certificat cl publique de signature....................................................................................25 Journalisation........................................................................................................................25 Conservation .........................................................................................................................27

5

Identification et authentification........................................................................ 285.1 5.2 5.3 5.4 5.5 5.6 Certificat cl publique de signature....................................................................................30 Code dusager .......................................................................................................................30 Mot de passe .........................................................................................................................30 Jeton......................................................................................................................................31 Carte puce ..........................................................................................................................32 Biomtrie ..............................................................................................................................32

6

Habilitation et contrle daccs .......................................................................... 336.1 6.2 6.3 6.4 6.5 Gestion des identits et des accs .........................................................................................33 Contrle daccs Web...........................................................................................................36 Certificat dattribut ...............................................................................................................37 NOS/OS ................................................................................................................................38 Application ...........................................................................................................................39

2

MGL9701 - Projet en gnie logiciel6.6 6.7 6.8 6.9 Apparmor..............................................................................................................................39 SGBD ...................................................................................................................................41 Coupe-feu .............................................................................................................................45 Rseau Priv Virtuel .............................................................................................................47

7

Confidentialit...................................................................................................... 497.1 7.2 7.3 Certificat cl publique de chiffrement................................................................................49 Chiffrement des donnes ......................................................................................................50 Chiffrement des communications .........................................................................................51

8

Disponibilit ......................................................................................................... 528.1 8.2 8.3 8.4 8.5 8.6 Redondance ..........................................................................................................................53 Balancement des charges ......................................................................................................56 Mise en grappes ....................................................................................................................59 Relve ...................................................................................................................................60 Sauvegarde............................................................................................................................61 Conservation .........................................................................................................................62

9

Surveillance .......................................................................................................... 639.1 9.2 9.3 9.4 9.5 9.6 9.7 Surveillance rseau, serveur et station ..................................................................................63 Dtection des intrusions........................................................................................................64 Analyseur de vulnrabilits ..................................................................................................66 Moniteur de contenu actif .....................................................................................................67 Dtection des pourriels .........................................................................................................68 Dtection de virus .................................................................................................................68 Outils daudit ........................................................................................................................69

10

Administration ..................................................................................................... 7010.1 10.2 10.3 Administration matrielle .....................................................................................................70 Administration logicielle ......................................................................................................70 Administration rseau ...........................................................................................................73

11 12

Architecture de scurit ...................................................................................... 74 Recommandations pour les logiciels de la chaire ............................................. 7512.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 Les approches de scurit pour les applications ...................................................................75 Pensez la scurit ds le dpart ..........................................................................................76 Topologie des applications ...................................................................................................77 La sgrgation est la cl........................................................................................................77 Les solutions de scurit web les plus populaires.................................................................79 La solution recommande.....................................................................................................80 Les points de contrle de scurit.........................................................................................81 Modle de dploiement recommand ...................................................................................85

13 14

Conclusion ............................................................................................................ 87 Bibliographie........................................................................................................ 88

3

MGL9701 - Projet en gnie logiciel

Liste des figuresFigure 1 Cadre de rfrence [adapt de 21] ................................................................................11 Figure 2 - Principaux rfrentiels [28] .............................................................................................13 Figure 3 - La norme ISO 13335 (source : ysosecure) .....................................................................15 Figure 4 - La norme ISO 27002 (source : SSI-Conseil)...................................................................17 Figure 5 - La roue de Deming (source : SSI-Conseil 2006).............................................................18 Figure 6 - Le processus d'un SMSI [9] ............................................................................................18 Figure 7 - Les normes 27000 ..........................................................................................................19 Figure 8 - Signature numrique [29]................................................................................................20 Figure 9 - La solution EJBCA..........................................................................................................21 Figure 10 - Code d'authentification de message .............................................................................22 Figure 11 - Solution de notarisation ................................................................................................24 Figure 12 - La journalisation avec Lasso.........................................................................................26 Figure 13 - La conservation avec splunk.........................................................................................27 Figure 14 - La gestion de jeton........................................................................................................31 Figure 15 - La gestion des identits et des accs ...........................................................................34 Figure 16 - Gestion avance des annuaires LDAP .........................................................................35 Figure 17 - La solution OpenSSO ...................................................................................................36 Figure 18 - Contrle d'accs Web...................................................................................................36 Figure 19 - Certificats d'attributs [29]...............................................................................................37 Figure 20 - Gestion conviviale des pare-feux..................................................................................46 Figure 21 - Rseau priv virtuel ......................................................................................................47 Figure 22 - Rseau priv virtuel avec IPSec ...................................................................................48 Figure 23 - Le chiffrement asymtrique [48]....................................................................................49 Figure 24 - Chiffrement des communications (source : Wikipedia) .................................................51 Figure 25 - Solution de stockage distribu ......................................................................................54 Figure 26 - Rseau de stockage .....................................................................................................55 Figure 27 - quilibrage de la charge ...............................................................................................58 Figure 28 - Mise en grappes ...........................................................................................................59 Figure 29 - Solution de sauvegarde ................................................................................................61 Figure 30 - Surveillance de rseau .................................................................................................63

4

MGL9701 - Projet en gnie logiciel Figure 31 - Gestion d'incidents et d'vnements.............................................................................64 Figure 32 - Dtection des intrusions................................................................................................65 Figure 33 - Moniteur de contenu actif..............................................................................................67 Figure 34 - Gestion des images des serveurs.................................................................................71 Figure 35 - La virtualisation.............................................................................................................72 Figure 36 - Le contrle d'accs au rseau ......................................................................................73 Figure 37 - Architecture de scurit en logiciel libre........................................................................74 Figure 38 - Rgle d'accs avec OpenSSO......................................................................................75 Figure 39 - Structure dun site web .................................................................................................76 Figure 40 - Le modle de rles .......................................................................................................76 Figure 41 - Architecture multicouche [26]........................................................................................77 Figure 42 - La sgrgation est la cl [26] ........................................................................................78 Figure 43 - Gestionnaire d'accs (source : Sun) .............................................................................80 Figure 44 - Les points de contrle de scurit ................................................................................81 Figure 45 Exemple de Captcha....................................................................................................82 Figure 46 Dtection des attaques (source : OWASP) ..................................................................83 Figure 47 - Apache comme serveur en faade (source : IBM) ........................................................84 Figure 48 - Scnario de dploiment ................................................................................................86

Liste des tableauxTable 1 Les fonctions de scurit.................................................................................................10 Table 2 - Les principales normes de la scurit..............................................................................12 Table 3 Les principaux systmes de journalisation ......................................................................25 Table 4 - Les implantations syslog conformes la norme RFC 3195 ......................................26 Table 5 Les principales solutions d'authentification......................................................................29 Table 6 - Les fonctions cryptographiques de PostgreSQL ..............................................................44 Table 7 - Les modes d'opration de OpenVPN...............................................................................47 Table 8 - Mesure de la disponibilit.................................................................................................52 Table 9 Les composantes dun systme de relve ......................................................................60 Table 10 Les composantes lies la conservation des donnes ................................................62 Table 11 - Les solutions de scurit web les plus populaires..........................................................79 Table 12 Dure de vie des sessions (source : CASES) ...............................................................82 5

MGL9701 - Projet en gnie logiciel Table 13 - Les machines virtuelles et leurs fonctions dans la solution ............................................86

6

MGL9701 - Projet en gnie logiciel

Sigles et abrviationsACL AES ARP CARP COBIT COSO CSP DHCP DNS DRBD GBLA HTTP HTTPS ICP IETF IPSec ISAKMP ISO ISO/IEC ITIL JCA JCE LAMP LDAP LGPL MAC MD5 NAS NIST NSA NTP OCSP OGC PEM PKCS PKI PKIX RFC RSA SAN SHA-1 S/MIME SQL Access Control List Advanced Encryption Standard Address Resolution Protocol Common Address Redundancy Protocol Control Objectives for Business & Related Technology Committee of Sponsoring Organization of the Treadway Commission Cryptographic Service Provider Dynamic Host Configuration Protocol Domain Name Service Distributed Replicated Block Device Gramm-Leach-Bliley Act HyperText Transfer Protocol Hypertext Transfer Protocol over Secure Socket Layer Infrastructure cl publique Internet Engineering Task Force Internet Protocol Security Internet Security Association and Key Management Protocol International Organization for Standardization ISO / International Electrotechnical Commission Information Technology Infrastructure Library Java Cryptographic Architecture Java Cryptographic Environment Linux, Apache, MySQL, PHP Lightweight Directory Access Protocol GNU Lesser General Public License Message Authentication Code Message Digest 5 (algorithme de hachage) Network Area Storage National Institute of Standards and Technology National Security Agency Network Time Protocol Online Certificate Status Protocol Office of Government Commerce Privacy Enhanced Mail The Public-Key Cryptography Standards Public-Key Infrastructure Public-Key Infrastructure X.509 Request For Comments Rivest, Shamir et Adleman. Storage Area Network Secure Hash Algorithm Number 1 Secure/Multipurpose Internet Mail Extensions Structured Query Language 7

MGL9701 - Projet en gnie logiciel SMSI SOX SSL SSO TIC TLS RPV XML Systme de Management de la Scurit de lInformation Sarbanes-Oxley Act Secure Socket Layer Single Sign On Technologie de linformation et des communications Transport Layer Service Rseau Virtuel Priv Extensible Markup Language

8

MGL9701 - Projet en gnie logiciel

1 Introduction1.1 ContexteLe sujet du prsent projet a t choisi suite une suggestion de M. Louis Martin qui y voit uvre utile au sein de la Chaire de logiciel libre, Finance sociale et solidaire lance officiellement le 29 janvier 2009. Le but de ce projet de synthse est deffectuer un survol des normes, bonnes pratiques et technologies permettant dassurer la scurit de linformation requise pour la famille de logiciels dveloppe au sein de la Chaire pour ce secteur d'activit. La chaire se veut un incubateur de solutions et de composantes de logiciel libre pouvant tre utilises par les acteurs de lconomie sociale. Lobjectif de ce projet est de cartographier les solutions libres pouvant servir la conception darchitectures de scurit en accord avec les bonnes pratiques du domaine. Le monde du logiciel libre offre quantit de solutions de scurit. Ces solutions sont disponibles publiquement de l'Internet et peuvent tre tlcharges volont et utilises sans frais. Ce principe saccorde bien avec celui de lconomie sociale. Ce projet de synthse sintresse aux questions suivantes : 1. Est-ce que le portfolio des solutions de scurit disponibles de l'Internet fournit un nombre suffisant de briques technologiques pour combler les besoins de scurit dune architecture de scurit moderne? 2. Est-il concevable de crer une architecture de scurit partir de ces solutions?

1.2 But et porteCe document comporte trois volets. Le premier volet effectue un survol des normes les plus importantes rgissant le domaine de la scurit de linformation. Ces normes ont une porte internationale. Elles constituent un ensemble de rfrentiels rpertoriant les meilleures pratiques de lindustrie permettant dtablir un modle de gouvernance des TIC dans lentreprise. Le second volet effectue un inventaire des solutions issues du monde du logiciel libre en fonction dun cadre de rfrence manant du Ministre de la Sant et des Services sociaux [21]. Cet inventaire servira de rfrentiel de solutions pour les architectures de scurit conues dans le cadre des travaux de la Chaire. Finalement, le troisime volet portera une attention particulire la scurit logicielle. Il sattardera notamment la scurit des applications web afin dapporter des solutions pratiques aux dveloppeurs. Les solutions proposes viseront les plateformes de dveloppement et les technologies en usage au sein de la Chaire.

9

MGL9701 - Projet en gnie logiciel

1.2.1

Les fonctions de scurit

Le tableau suivant donne un aperu des principales fonctions de scurit inhrentes aux architectures de scurit modernes. Une architecture de scurit englobe un nombre important de processus, de composantes physiques et technologiques ayant pour but dassurer la scurit de linformation et des changes lectroniques. Les fonctions de scurit couvertes dans le cadre de ce projet sont les suivantes: Fonctions Descriptions Cette fonction permet de sassurer quune information na pas t modifie ou dtruite sans autorisation de faon volontaire ou accidentelle. Lirrvocabilit est un mcanisme visant permettre une partie de faire la preuve de lexistence dune opration ou dune transaction avec une autre partie. La signature permet de sassurer quune action ou quun document est indniable et clairement attribu lentit qui la gnr. La fonction dauthentification consiste vrifier l'identit d'une entit (personne, ordinateur) afin d'autoriser l'accs de cette entit des ressources. Le contrle daccs dcrit une liste de ressources et de donnes auxquelles une entit peut avoir accs une fois quelle a t dment authentifie. Elle contrle les droits daccs qui sont accords et pour poser quels gestes. La confidentialit permet de sassurer quune information nest pas divulgue ou mise la disposition dune entit ou dun traitement non autoris. La disponibilit permet de sassurer que les informations numriques et les systmes sont accessibles en temps voulu et de la manire requise par une entit autorise. La surveillance a pour but de mettre en vidence les vulnrabilits dun systme. Elle offre des pistes de vrification et permet la protection contre les tentatives dintrusion et les programmes malicieux. Ladministration permet une gestion scuritaire des logiciels, ainsi que des quipements informatiques et de rseautique.Table 1 Les fonctions de scurit

10

MGL9701 - Projet en gnie logiciel 1.2.2 Cadre de rfrence de la scurit

La figure qui suit traduit les fonctions de scurit considres prcdemment en un ensemble de mcanismes de scurit apte raliser ces fonctions. Ces fonctions et mcanismes constituent le rfrentiel de scurit qui sera utilis tout au long de ce document. Ce rfrentiel de scurit est utilis comme guide pour la recherche de solutions dans le domaine du logiciel libre pouvant combler les diffrentes briques darchitecture requise. Une modification a toutefois t apporte au rfrentiel afin dinclure le mcanisme de scurit de la Gestion des identits et des accs qui gagne de plus en plus dimportance dans les architectures de scurit modernes.

Figure 1 Cadre de rfrence [adapt de 21]

11

MGL9701 - Projet en gnie logiciel

2 Les normesAvant daborder la cartographie des solutions de scurit dans le monde du logiciel libre, il convient dtablir un modle de gouvernance permettant de concevoir une architecture de scurit en fonction des besoins de lorganisation et non seulement des technologies. Pour ce faire, nous disposons dun certain nombre de normes que nous expliquerons sommairement dans cette section. Le domaine de la scurit comprend un trs grand nombre de normes mais les normes suivantes constituent une fondation solide pour tablir un modle de gouvernance et une architecture de scurit pour une organisation.

Normes COSO COBIT ITIL ISO/IEC IS 13335-1 ISO/IEC IS 13335-2 ISO/IEC TR 13335-4 ISO/IEC TR 13335-5 ISO/CEI 27000 ISO/CEI 27001

ISO/CEI 27002 ISO/CEI 27003 ISO/CEI 27004 ISO/CEI 27005

ISO/CEI 27006 ISO 15408

Descriptions Committee of Sponsoring Organization of the Treadway Commission [1] Control Objectives for Business & Related Technology [2] Information Technology Infrastructure Library [3] Concepts et modles pour le management de la scurit des TIC [4] Techniques de gestion des risques pour les TIC [5] Slection de mesures de scurit [6] Guide pour la gestion de scurit du rseau [7] Introduction et vue globale de la famille des standards, ainsi qu'un glossaire des termes communs [8] Description des exigences pour la mise en place d'un Systme de Management de la Scurit de l'Information (SMSI) [9] Code de bonnes pratiques pour la gestion de la scurit d'information [10] Guide dimplantation dun SMSI [11] Guide dimplantation dun systme de mesure [12] Proposition d'une mthode d'apprciation des risques (cette phase est obligatoire dans le cadre d'une certification ISO/CEI 27001) [13] Contient des informations sur le profil propre de l'auditeur 27001 [14] Critres communs pour l'valuation de la scurit des Technologies de l'Information [15] [16] [17]Table 2 - Les principales normes de la scurit

12

MGL9701 - Projet en gnie logiciel

2.1 Les certifications du domaine de la scuritUn domaine dactivit trs populaire dans le monde de la scurit daujourdhui concerne la conformit. Sous la pousse des diffrentes lgislations nes des nombreux scandales financiers connus au dbut de la dcennie, les organisations font face au dfi de la conformit. Les institutions financires et les socits publiques sont soumises des rglementations telles que la loi C-198 au Canada, SOX, GBLA aux tats-Unis qui exigent que les dirigeants dentreprise puissent garantir lintgrit des tats financiers trimestriels quils produisent et consquemment les donnes comptables et les logiciels utiliss pour les produire. Elles sont donc tenues dtablir un modle de gouvernance des TIC et empruntent en gnral la voie de la certification afin de dmontrer cette conformit.COSO

COBITISO 27001-2

ISO 9000 ITIL

Quoi

Comment

Figure 2 - Principaux rfrentiels [28]

En termes de gouvernance, les normes COSO [1], COBIT [2], ITIL [3] et ISO 27000 sont les plus utilises. Les certifications ISO 20001 [9] et ISO 20002 [10] sont celles directement lies au domaine de la scurit. Le processus de certification ISO 27001/2 est gnralement assez long et coteux. La dure varie en fonction du niveau de maturit de lorganisation en matire de scurit (6 mois 2 ans en moyenne). Les logiciels peuvent galement tre soumis un processus de certification. Cest le cas de la certification ISO 15408 [15] [16] [17]. Les logiciels civils ou militaires peuvent tre classs selon une chelle de confiance de 1 7 que nous verrons plus loin. Ce processus est trs coteux. Quantit de logiciels en libre pourraient obtenir leurs lettres de noblesse en tant certifis. Malheureusement, le cot prohibitif de la certification ISO 15408 (la certification AL4 de Windows 2000 aurait cot prs de 4 millions de dollars) exclut ces logiciels du processus.

13

MGL9701 - Projet en gnie logiciel Une avenue intressante pour lUQAM serait dobtenir les formations requises afin deffectuer elle-mme ces certifications comme agent autoris par la suite dans le domaine du logiciel libre et de lconomie sociale des cots plus raisonnables.

2.2 Le rfrentiel COSOLe Committee of Sponsoring Organization of the Treadway Commission a labor un cadre danalyse visant valuer les mesures de contrle interne mises en place par les organisations afin de rendre plus fiable linformation financire dlivre. Ce cadre danalyse, appel rfrentiel COSO, tudie cinq composantes essentielles pour un contrle interne efficace :

Lenvironnement de contrle Lvaluation des risques Les activits de contrle Linformation et la communication La supervision

2.3 Le rfrentiel COBIT Control Objectives for Business & Related Technology est un rfrentiel des meilleures pratiques en audit et matrise des risques des systmes dinformation. COBIT sert de support pour les activits de gouvernance et daudit des systmes dinformation dun grand nombre dentreprises prives et publiques. COBIT permet dvaluer et de contrler les systmes informatiques afin quil contribue constamment aux objectifs de lentreprise. COBIT reprsente tout systme dinformation par 34 processus regroups en 4 domaines:

Planification et organisation (PO) Acquisition et mise en place (AMP) Distribution et support (DS) Surveillance (S)

2.4 Le rfrentiel ITIL Information Technology Infrastructure Library est un rfrentiel des meilleures pratiques de la gestion des services informatiques. ITIL a t dvelopp par lOffice of Government Commerce (OGC) britannique et est maintenant adopt par les grandes entreprises internationales tant dans le secteur public que priv. ITIL dcrit les processus de gestion implmenter dans les fonctions de gestion suivantes :

Gestion de la configuration Gestion du changement Gestion des versions Gestion du support

14

MGL9701 - Projet en gnie logiciel

Gestion des incidents Gestion des problmes Gestion de la scurit

ITIL propose de manire dtaille les processus de gestion utiliser pour grer efficacement les services informatiques mais en bout de ligne laisse les entreprises choisir les outils requis pour implmenter ces processus.

2.5 ISO 13335 : Lignes directrices pour la gestion de scurit ITLa norme ISO 13335 [4] [5] [6] [7] propose une approche du management de la scurit des technologies de linformation. Elle aborde le sujet diffrents niveaux dans ses rapports techniques 13335-1 13335-5. Elle trouve son origine des quatre documents publis en 1996 considrs comme des rfrences dans le monde de la scurit.

Figure 3 - La norme ISO 13335 (source : ysosecure)

Aujourdhui, la norme a t rvise. Elle propose dabord une approche stratgique dans ses parties 13335-1 et 13335-2. La premire partie prsente les concepts et modles de la scurit des technologies de linformation. La seconde propose une approche du management et de la planification de la scurit des technologies de linformation. Ces deux parties sont destines donner aux dirigeants et aux responsables de la scurit de linformation dune organisation, les concepts et mthodes relatifs au management de la scurit des technologies de linformation. Les deux autres documents sont des rapports techniques. ISO/IEC IS 13335-1 : Concepts et modles pour le management de la scurit des TIC. ISO/IEC IS 13335-2 : Techniques de gestion des risques pour les TIC. SO/IEC TR 13335-4 2000: Slection de mesures de scurit. ISO/IEC TR 13335-5 2001: Guide pour la gestion de scurit du rseau.

15

MGL9701 - Projet en gnie logiciel

2.6 ISO 15408 : Critres dvaluation de la scurit des technologies de linformationLa norme ISO 15408 [15] [16] [17] baptise Critres communs permet de certifier les niveaux de dfense procurs par les composantes de scurit des systmes d'information. Cette norme vise vrifier si un produit est scuritaire (pare-feu, systme de dtection dintrusion, systme dexploitation, serveur mandataire, etc.). Elle attribue au produit valu un niveau de scurit sur une chelle de 1 7. La norme ISO 15408 dfinit les critres communs de scurit que les technologies doivent respecter. Ces critres communs permettent lvaluation des fonctions de scurit via les onze classes fonctionnelles suivantes :

L'audit La communication Le support cryptographique La protection des donnes utilisateur L'identification et l'authentification La gestion des fonctions de scurit La vie prive La protection des fonctions de scurit L'utilisation des ressources Laccs aux composantes Les voies de confiance (trusted paths)

Le nom de "Critres communs" origine du fait que les critres de validation sont communs entre les grands pays industriels tels que les tats-Unis, le Japon, le Canada, lAllemagne, la Grande-Bretagne, la France, lItalie, etc. Les EAL (Evaluation Assurance Level) constituent l'chelle d'assurance prdfinie des "Critres communs". Il y a sept niveaux :

EAL1 - Test fonctionnellement EAL2 - Test structurellement EAL3 - Test et vrifi mthodiquement EAL4 - Conu, test et vrifi mthodiquement EAL5 - Conu et test de faon semi-formelle EAL6 - Vrifi, conu et test de faon semi-formelle EAL7 -Vrifi, conu et test de faon formelle

La norme ISO 15408 affecte donc la manire de concevoir et de raliser un logiciel. Les logiciels commerciaux certifis selon la norme ISO 15408 ne dpassent pas normalement le niveau EAL4. Les niveaux suprieurs tant en gnral observs chez les systmes critiques que lon retrouve dans le monde militaire.

16

MGL9701 - Projet en gnie logiciel

2.7 Les normes ISO 27000La srie ISO 27000 constitue lensemble de normes le plus en vogue aujourdhui. Les deux normes les plus utilises en ce moment sont les normes ISO 27001 [9] et ISO 27002 [10]. La norme ISO 27002 notamment constitue le rfrentiel des bonnes pratiques de la scurit le plus populaire du monde de la scurit. La norme ISO/IEC 27002:2005 dfinit onze domaines de scurit de l'information au sein desquelles ont t dfinies 133 mesures de scurit (contrles). Chacune des mesures de scurit permet de s'assurer que les bonnes pratiques communment admises sont mises en uvre et respectes pour chacune des catgories dans chaque domaine de la scurit de l'information.

Figure 4 - La norme ISO 27002 (source : SSI-Conseil)

La figure ci-dessus comprend douze branches plutt que onze car elle inclut la gestion du risque comme premire tape tout projet en scurit. La norme ISO 27001 est un cadre de rfrence pour tout systme de gestion de la scurit de linformation. La norme ISO 27001 dcrit les processus de gestion mettre en uvre afin de se conformer aux bonnes pratiques de scurit dictes dans la norme ISO 20002. La norme ISO 27001 tudie et value un systme de gestion de la scurit de linformation selon diffrents axes :

17

MGL9701 - Projet en gnie logiciel

Politique de scurit Organisation de la scurit Inventaire et classification Scurit du personnel Scurit de lenvironnement et des biens physiques Administration Contrle daccs Dveloppement et maintenance Plan de continuit Conformit lgale et audit de contrle

La prsente norme internationale encourage l'adoption d'une approche processus pour l'tablissement, la mise en oeuvre, le fonctionnement, la surveillance et le rexamen, la mise jour et l'amlioration du SMSI (systme de management de la scurit de linformation) d'un organisme.

Figure 5 - La roue de Deming (source : SSI-Conseil 2006)

La norme adopte le modle de processus "Planifier-Dployer-Contrler-Agir" (PDCA) ou roue de Deming qui est appliqu la structure de tous les processus dun SMSI. La figure suivante illustre comment un SMSI utilise comme lment d'entre les exigences relatives la scurit de l'information et les attentes des parties intresses, et comment il produit, par les actions et processus ncessaires, les rsultats de scurit de l'information qui satisfont ces exigences et ces attentes.

Figure 6 - Le processus d'un SMSI [9]

18

MGL9701 - Projet en gnie logiciel La norme ISO 27001 est en somme le moteur animant les autres normes de la srie. Parmi les normes prsentes dans la srie 27000, les normes suivantes sont celles les plus intimement lies la norme ISO 27001.

Figure 7 - Les normes 27000

2.7.1

Standards publis ISO/CEI 27001 : Standard de certification des SMSI (publi en 2005) ISO/CEI 27002 : Guide des bonnes pratiques en SMSI (prcdemment connu sous le nom de ISO/CEI 17799, et avant BS 7799 Partie 1 (dernire rvision en 2005, et renumrot en ISO/CEI 27002:2005 en juillet 2007) ISO/CEI 27005 : Standard de gestion de risques lis la scurit de l'information (publi le 4 juin 2008) ISO/CEI 27006 : Guide de processus de certification et d'enregistrement (publi en 2007) ISO/CEI 27011 : Guide pour l'implmentation de ISO/CEI 27002 dans l'industrie des tlcommunications (publi le 15 dcembre 2008) ISO/CEI 27799 : Guide pour l'implmentation de ISO/CEI 27002 dans l'industrie de la sant (publi le 12 juin 2008) (sera srement renomm en 2701x)

2.7.2

Standards en prparation ISO/CEI 27000 : Introduction et vue globale de la famille des standards, ainsi qu'un glossaire des termes communs ISO/CEI 27003 : Guide d'implmentation d'un SMSI ISO/CEI 27004 : Standard de mesures de management de la scurit de l'information ISO/CEI 27007 : Guide directeur pour l'audit des SMSI

19

MGL9701 - Projet en gnie logiciel

3 IntgritL'intgrit des donnes est une fonction de base du monde de la scurit. Elle fournit lassurance que les donnes quelles soient en cours de traitement, transmises ou encore conserves, soient maintenues exemptes daltration volontaire ou accidentelle. Cette section explorera les mcanismes de scurit utiliss gnralement pour sassurer que les donnes sont exactes et authentiques.

3.1 Certificat cl publique de signature

Les certificats de signature sont gnralement utiliss pour signer des documents (fichiers et courriels) ou encore s'authentifier sur un site web. La signature numrique est une marque personnelle appose sur un document lectronique par l'utilisation d'un procd cryptographique. Elle permet de sassurer de l'identit du signataire dun document. Chaque dtenteur se voit attribuer une paire de cls. Une delles est publique et lautre prive. La cl publique est gnralement disponible aux autres utilisateurs utilisant linfrastructure cl publique. Elle sert protger la confidentialit d'un document et vrifier la signature d'un autre dtenteur. La cl prive est dtenue uniquement par le dtenteur. L'une sert signer un document lectronique et l'autre le dchiffrer pour en vrifier l'intgrit.

Figure 8 - Signature numrique [29]

Afin de s'assurer de la validit d'une signature, le destinataire doit consulter la liste de certificats rvoqus publie par la solution. La consultation de la liste de rvocation se fait en ligne et de faon automatique lors de l'utilisation du logiciel intgrant cette technologie.

20

MGL9701 - Projet en gnie logiciel La procdure permettant de signer des donnes est relativement simple comme en tmoigne lexemple suivant : Signature dsa = Signature.getInstance("SHA1withDSA"); PrivateKey priv = pair.getPrivate(); dsa.initSign(priv); dsa.update(data); byte[] sig = dsa.sign();

La mise en uvre dune infrastructure cls publiques ncessite plusieurs composantes logicielles et surtout la dfinition dun ensemble de processus nomm CPS Certificate Practice Statement permettant la gestion du cycle de vie des certificats mis par le systme.

Figure 9 - La solution EJBCA

Une solution gratuite peut tre obtenue via le lien suivant : http://www.ejbca.org/

21

MGL9701 - Projet en gnie logiciel

3.2 Code dauthentification de message

Un code d'authentification de message ou CAM est un code accompagnant des donnes dans le but d'assurer l'intgrit de ces dernires, en permettant de vrifier qu'elles n'ont subies aucune modification, aprs une transmission par exemple. Le concept est relativement semblable aux fonctions de hachage. Il sagit ici aussi dalgorithmes qui crent un petit bloc de donnes de taille fixe. La grande diffrence est que ce bloc ne se base plus uniquement sur le message, mais galement sur une cl secrte. Tout comme les fonctions de hachage, les CAM nont pas besoin dtre rversibles. En effet, le rcepteur excutera le mme calcul sur le message et le comparera avec le CAM reu. KeyGenerator kg = KeyGenerator.getInstance("HmacMD5"); SecretKey sk = kg.generateKey(); Mac mac = Mac.getInstance("HmacMD5"); mac.init(sk); byte[] result = mac.doFinal("Hi There".getBytes()); Le CAM assure non seulement une fonction de vrification de l'intgrit du message, comme le permettrait une simple fonction de hachage mais de plus authentifie lexpditeur, dtenteur de la cl secrte. Il peut galement tre employ comme un chiffrement supplmentaire (rare) et peut tre calcul avant ou aprs le chiffrement principal, bien quil soit gnralement conseill de le faire avant.

Figure 10 - Code d'authentification de message

http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html

22

MGL9701 - Projet en gnie logiciel

3.3 Empreinte numrique

Le rsultat d'une fonction de hachage forme une empreinte cryptographique ou encore un condens. Les fonctions de hachage peuvent tre mises en uvre aisment grce aux bibliothques cryptographiques offertes par le langage java. En voici en exemple. Supposons que nous avons trois tableaux d'octets soit i1, i2 et i3 formant le message dont nous voulons calculer. Ce digest (ou "hash") pourrait tre calcul par les appels suivants: MessageDigest sha = MessageDigest.getInstance("SHA-1"); sha.update(i1); sha.update(i2); sha.update(i3); byte[] hash = sha.digest();

http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#Mes sageDigest

Les fonctions cryptographiques de limplantation de rfrence de SUN sont gnralement suffisantes mais pour des fonctions additionnelles, il existe un fournisseur en logiciel libre fournissant une implantation JCE et une JCA gratuite. Limplantation inclut les points suivants: Une bibliothque pour lire et crire des objets encods en ASN.1. Des Gnrateurs pour les versions 1 et 3 des certificats X.509 et des fichiers PKCS12. Des Gnrateurs pour la version 2 des certificats de l'attribut X.509. Des Gnrateurs/Processeurs pour S/MIME et CMS (PKCS7). Des Gnrateurs/Processeurs pour OCSP (RFC 2560). Des Gnrateurs/Processeurs pour TSP (RFC 3161). Des Gnrateurs/Processeurs pour OpenPGP (RFC 2440). Une version jar signe, approprie pour les JDK 1.4/1.5 et la JCE de Sun. L'API lgre fonctionne avec tout, de la J2ME la JDK 1.5.

La solution peut tre obtenue via le lien suivant : http://www.bouncycastle.org/fr/index.html

23

MGL9701 - Projet en gnie logiciel

3.4 NotarisationUn serveur de signature est une application pour les signatures automatiques. Il peut tre invoqu par dautres applications lui dlguant ainsi lautorit de signer des transactions, messages ou assertions varis de manire centralise. Un bon serveur de signature doit offrir une autorit dhorodatage (compatible RFC 3161). La fonction de signature et la fonction dhorodatage sont des briques fondamentales pouvant permettre de raliser des transactions comportant un bon niveau dintgrit. La notarisation des transactions est lie des rglementations et la classification des donnes. Les preuves lies aux transactions peuvent tre conserves pendant des annes. Le SignServer est une solution gratuite qui a t conue de manire offrir de la haute disponibilit et supporte la configuration par grappes pour un maximum de fiabilit.

Figure 11 - Solution de notarisation

La solution peut tre obtenue via le lien suivant : http://www.signserver.org/

24

MGL9701 - Projet en gnie logiciel

4 IrrvocabilitLirrvocabilit est un mcanisme complexe impliquant certaines fonctions cryptographiques et des processus de sorte permettre une partie de faire la preuve de lexistence dune opration ou dune transaction avec une autre partie. Cette preuve ne peut tre assemble que si la partie devant faire la preuve sest dote de linfrastructure ncessaire pour raliser les fonctions de notarisation (serveur de signature), de journalisation (enregistrement des transactions signes par le serveur de signature) et de conservation (dure de vie des journaux en fonction de la classification des donnes) ncessaires pour supporter cette fonction dirrvocabilit.

4.1 Certificat cl publique de signatureLa fonction de signature cryptographique a dj t traite la section 2.1. Le mme mcanisme est employ pour raliser la fonction dirrvocabilit.

4.2 JournalisationLa journalisation est l'action de relever dans un journal lensemble des vnements qui se produisent dans un systme informatique pendant son fonctionnement. Des rgles de filtrage permettent en gnral de contrler la somme des vnements collects. Ces journaux sont de la premire importance lorsque lon doit effectuer des activits dinformatique judiciaire. Il nexiste pas de solution unique et les journaux dactivit sont le plus souvent lis aux plateformes. Le tableau suivant dcrit les principaux systmes de journalisation pouvant tre retrouvs sur les plateformes courantes. Plateformes Linux/Unix Applications Systmes de journalisation http://www.infodrom.org/projects/sysklogd/ http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/ http://logging.apache.org/log4j/1.2/index.html http://commons.apache.org/logging/ http://technet.microsoft.com/frfr/library/dd491940.aspx

Windows 200X

Table 3 Les principaux systmes de journalisation

Syslog est le mcanisme de journalisation le plus populaire sous Unix et Linux. Il a t labor une poque o la scurit des journaux n'tait pas une considration majeure. En consquence, il ne comporte pas les contrles de scurit ncessaires pour prserver la confidentialit, l'intgrit et la disponibilit de journaux produits.

25

MGL9701 - Projet en gnie logiciel Comme travers le temps, la scurit des journaux est devenue une plus grande proccupation, plusieurs implantations de syslog ont t cres mettant davantage l'accent sur la scurit. La plupart ont t fondes sur la norme RFC 3195, qui a t conue spcifiquement pour amliorer la scurit de la fonction syslog . Les implantations bases sur la norme RFC 3195 [23] offrent dsormais un transport fiable utilisant TCP et des transmissions scuritaires travers SSL. Le tableau suivant numre des implantations de syslog selon la norme RFC 3195. Plateformes Unix et Linux Unix et Linux Windows Implantations RFC 3195 http://freshmeat.net/projects/syslog-ng http://www.rsyslog.com http://sourceforge.net/projects/lassolog

Table 4 - Les implantations syslog conformes la norme RFC 3195

La figure suivante dmontre comment personnaliser la fonction de journalisation avec la solution Lasso sous Windows.

Figure 12 - La journalisation avec Lasso

26

MGL9701 - Projet en gnie logiciel

4.3 ConservationLa conservation est une fonction importante dune architecture de scurit. La conservation des donnes permet de raliser ultrieurement des activits dinformatique judiciaire aussi nommes Digital forensics lorsquun crime ou une activit malveillante est suspect avoir t commis. Le but de l'informatique judiciaire consiste enquter de sorte trouver une preuve appele artefact numrique. Le terme artefact numrique peut inclure un systme informatique, un support de stockage comme un disque dur ou un CD-ROM, un document lectronique ou mme une squence de paquets se dplaant sur un rseau informatique. Les recommandations contenues dans le guide du NIST 800-63 [22] conseillent la conservation des donnes en fonction de la classification de celles-ci. Par exemple, des donnes classes 1 selon la mthode danalyse de risques MEHARI ne rclament rien de particulier tandis que de linformation classe 4 rclame une dure de conservation de 10 annes.

Avec Splunk, les utilisateurs peuvent indexer, effectuer des recherches et analyser l'ensemble de leurs donnes informatiques partir d'un seul emplacement en temps rel. La solution permet d'enquter sur les incidents de scurit et de rpondre aux exigences de conformit des entreprises. Elle offre la possibilit de faire des enqutes sur les incidents rapidement car toutes les donnes requises sont disponibles en un seul endroit, en temps rel. Splunk collecte et conserve les journaux et les donnes de n'importe quel systme et dispositif de scurit.

Figure 13 - La conservation avec splunk

La solution peut tre obtenue via le lien suivant : http://www.splunk.com/

27

MGL9701 - Projet en gnie logiciel

5 Identification et authentificationLa fonction dauthentification consiste, pour un systme informatique, vrifier l'identit d'une entit (personne, ordinateur) afin d'autoriser l'accs de cette entit des ressources (systmes, rseaux, applications...). L'authentification permet donc de valider l'authenticit de l'entit en question. La procdure dauthentification afin dtre gre convenablement est gnralement accompagne de certains processus tels que lenregistrement, lmission, la certification et la rvocation des identifiants. La mthode dauthentification utilise est galement soumise des critres tels que le niveau de criticit des donnes accdes, lorigine de laccs (interne, externe) et le niveau de contrle de la posture du poste de travail accdant les ressources. Les recommandations issues du guide du NIST 800-63 [22] sont reconnues et appliques tant par les gouvernements Canadiens et Amricains que par lentreprise prive. Le tableau suivant dcrit un ensemble de solutions dauthentification issu du domaine du logiciel libre. Ces solutions offrent une gamme varie de mthodes dauthentification telles que des authentifications aux des services dannuaire ou encore des authentifications en mode fdre. Briques Authentification et SSO diteurs

Authentification et SSO

Authentification, SSO contrle daccs, dlgation, mta annuaire Fdration didentit

Fdration didentit

28

MGL9701 - Projet en gnie logiciel

Briques Fdration didentit

diteurs

Infrastructure cl publique

SSO Web

Authentification, SSO contrle daccs, dlgation, fdration didentit Annuaire LDAP

Annuaire LDAP

Annuaire LDAP

Table 5 Les principales solutions d'authentification

29

MGL9701 - Projet en gnie logiciel

5.1 Certificat cl publique de signatureLauthentification par certificat X.509 est considre comme une authentification forte lorsque le certificat rside sur un jeton. Le cycle de vie des certificats est gr par des administrateurs de lorganisation. Lmission dun certificat ncessite normalement un processus didentification de lutilisateur qui doit fournir une ou des preuves didentit en produisant par exemple son permis de conduire ou encore une identification visuelle dun suprieur hirarchique. Pour tre considr comme une authentification forte, le certificat doit reposer sur un mdia non reproductible. Nous verrons plus loin une solution en logiciel libre permettant de crer des jetons matriels.

5.2 Code dusagerLe code usager est lidentifiant le plus populaire du monde de la scurit. Le code usager doit identifier de manire unique un utilisateur dun systme. Il est compos gnralement de caractres alphanumriques. Il existe une multitude dapplications et systmes utilisant le code usager comme moyen didentification dun utilisateur. Plusieurs solutions sont disponibles en logiciel libre. Les solutions les plus populaires sont les suivantes :

http://www.jasig.org/cas

http://freeradius.org/ http://www.gazi.edu.tr/tacacs/

5.3 Mot de passeLe mot de passe est le compagnon du code usager. Il varie en taille mais le mot de passe de 8 caractres est trs frquent pour lusager ordinaire mais peut comporter aisment 12 caractres dans le cas des mots de passe des administrateurs de systmes. Des politiques reconnues lgard des mots de passe sont publies par linstitut SANS et peuvent tre consultes sur le site web http://www.sans.org.

30

MGL9701 - Projet en gnie logiciel

5.4 JetonLorsque la criticit des donnes que lon accde est leve, il convient gnralement dutiliser une mthode dauthentification plus forte que le mot de passe. Lutilisation dun jeton permet dajouter la notion du quelque chose que lon possde la notion du quelque chose que lon connat propose par lauthentification par mot de passe. On appelle communment cette manire de sauthentifier, une authentification double facteur ou encore une authentification forte. Il existe un projet sur le rput site http://sourceforge.net nomm Hard Token Management Framework ayant pour objectif de permettre une organisation de grer le cycle de vie de jetons de type cartes puce ou de cls USB. Il communique avec les jetons par le biais d'une interface PKCS11 [24]. Il s'agit d'une extension la solution EJBCA. La plateforme vise les dveloppements en langage Java.

Figure 14 - La gestion de jeton

La solution peut tre obtenue via le lien suivant : http://www.hardtokenmgmt.org/index.html

31

MGL9701 - Projet en gnie logiciel

5.5 Carte puceVoir la section prcdente.

5.6 BiomtrieAucune information na t trouve ce sujet dans le monde du logiciel libre.

32

MGL9701 - Projet en gnie logiciel

6 Habilitation et contrle daccsLe contrle d'accs consiste vrifier si une entit demandant d'accder une ressource a les droits ncessaires pour le faire. Un contrle d'accs offre donc la possibilit d'accder des ressources physiques (un dpartement) ou logiques (une application informatique). Le contrle daccs peut tre ralis l'aide de mcanismes permettant l'authentification de l'entit soit par mot de passe, carte puce ou autres et par la vrification de ses habilitations pour les ressources quelle dsire accder. Les moyens technologiques permettant le contrle daccs sont multiples. Le contrle daccs peut prendre la forme de simples Access Control List , bien connu sur les systmes dexploitation UNIX et Windows. On le retrouve aussi sur le primtre de lentreprise avec les rseaux virtuels privs, les serveurs mandataires et les coupe-feux. Il permet galement de contrler les accs aux bases de donnes et aux annuaires LDAP.

6.1 Gestion des identits et des accs

Dans le domaine du contrle daccs, lapproche la plus reconnue et la plus efficace est sans contredit celle utilisant une solution de GIA (Gestion des identits et des accs). Cette solution est dsormais mature et plus de 10 fournisseurs nous offrent les fonctionnalits dapprovisionnement en utilisateurs et privilges via des flux de travail automatiss dans le monde commercial. Des applications libre-service permettent galement de dlguer la gestion des utilisateurs et des droits daccs aux fonctionnels des units daffaires ayant une comprhension plus prcise des rgles daffaires de leurs units et donc une meilleure comprhension des privilges quils accordent. Une application de certification des privilges permet galement de grer des campagnes annuelles de certification des privilges afin dviter les incontournables accumulations de privilges en absence de ce processus. Les solutions de GIA couvrent en gnral bon nombre des besoins de contrle daccs requis par les diverses rglementations (SOX, GBLA, C-198, etc.) tant apparues suite aux scandales financiers connus au dbut des annes 2000. La capacit des solutions de GIA de pouvoir approvisionner tous les systmes et applications partir dune source autoritaire (en gnral lapplication des ressources humaines) travers le cycle de vie des employs dans lentreprise (embauche, promotion, retraire, congdiement, etc.) permet dviter les principaux problmes lis la gestion des identits soit : La prsence de comptes orphelins Laccumulation de privilges de promotion en promotion

33

MGL9701 - Projet en gnie logiciel Le manque de moyen et de rapports permettant de recadrer les privilges Le manque dautomatisation des processus Les erreurs lies lapprovisionnement manuel Etc.

Figure 15 - La gestion des identits et des accs

Selon nos recherches, une seule solution aussi complte existe en logiciel libre dans ce domaine du contrle daccs. La solution peut tre obtenue via le lien suivant : http://www.openiam.com/index.php/IDM/IDM-Overview.html

34

MGL9701 - Projet en gnie logiciel

InterLDAP est une solution permettant une gestion avance des annuaires LDAP. Elle permet la cration de modles de dlgation de la gestion des utilisateurs et des droits daccs essentiels aux entreprises daujourdhui. La solution est compose de diffrents modules rpondant des problmatiques bien distinctes mais complmentaires. Les modules les plus importants sont les suivants :

LSC (LDAP Synchronization Connector) : moteur de synchronisation d'annuaires LDAP depuis ou vers des fichiers plats (CSV, LDIF) et des bases de donnes. LAAP (Liberty Alliance Attribute Provider) : fournisseur d'attributs Liberty Alliance. WUI (Web User Interface) : interface de gestion de contenu d'annuaire, avec gestion avance du schma et des autorisations.

Figure 16 - Gestion avance des annuaires LDAP

La solution peut tre obtenue via le lien suivant : http://wiki.interldap.ow2.org/xwiki/bin/view/Main/WebHome

35

MGL9701 - Projet en gnie logiciel

6.2 Contrle daccs WebUne varit de solutions trs populaire depuis les dernires 10 annes est celle lie au contrle daccs web. La solution OpenSSO offre la gamme complte des fonctionnalits pour ce type de contrle. Cette solution de contrle daccs web est la mme que celle vendue commercialement par le vendeur SUN sous le nom de Java System Access Manager. Cest celle qui inspirera donc le plus confiance de la part des partenaires et utilisateurs tant donn que ce produit est exploit commercialement et protge dj des applications daffaires partout dans le monde. Cette solution pourra donc servir scuriser des applications daffaires ayant une vitrine sur le web. Le contrle daccs peut tre effectu de manire dclarative ou programmatique. La mthode dclarative est une mthode daccs gros grains qui utilise seulement des rgles daccs configures au niveau du systme. Des agents dploys sur les composantes web (serveurs web et serveurs applicatifs) interceptent les requtes aux ressources (pages HTML, JSP, etc.) et requirent une dcision de la part du centre de dcision. La mthode programmatique implique le concours des applications qui deviennent des agents effectuant des appels explicites au centre de dcision. Cette mthode est dite grains fins car les autorisations peuvent tre granules au niveau dun bouton ou dune bote de texte du formulaire.Figure 17 - La solution OpenSSO

Figure 18 - Contrle d'accs Web

Ces solutions peuvent tre obtenues via les liens suivants : https://opensso.dev.java.net/ Access Control http://www.openiam.com/index.php/AM/AMOverview.html

36

MGL9701 - Projet en gnie logiciel

6.3 Certificat dattribut

Ce mcanisme profite de la fondation offerte par une infrastructure cls publiques pour retourner des attributs de certificat supplmentaires lors de lauthentification. Ces attributs servent lier une entit des habilitations, par exemple des rles ou des permissions.

Figure 19 - Certificats d'attributs [29]

Encore une fois, outre le modle de gouvernance de linfrastructure cls publiques mettre en place, laspect technologique est disponible gratuitement via la solution EJBCA dj discute dans ce document. La solution peut tre obtenue via le lien suivant : http://www.ejbca.org/

37

MGL9701 - Projet en gnie logiciel

6.4 NOS/OSSous UNIX, les ACLs ne remplacent pas la mthode habituelle des droits, pour garder une compatibilit, elles sajoutent elle, ce qui permet aux systmes l'utilisant de rester conformes la norme POSIX. Les systmes de type UNIX n'acceptent que trois types de droits :

Lecture ; criture ; Excution,

Pour trois types dutilisateurs:

Le propritaire du fichier ; Les membres du groupe auquel appartient le fichier ; Tous les autres utilisateurs.

En utilisant cette mthode, on couvre de nombreux cas, mais l'intervention de l'administrateur est souvent ncessaire pour crer les groupes qui permettront de partager des fichiers entre plusieurs utilisateurs, tout en les gardant confidentiels face aux autres. Les ACLs permettent de combler ce manque. On peut permettre n'importe quel utilisateur, ou groupe, un des trois droits (lecture, criture et excution) et cela sans tre limit par le nombre d'utilisateurs que l'on veut ajouter. Sous Windows, les ACLs sont implantes par le systme de fichiers NTFS et prises en charge par Windows NT 4.0 et ses successeurs (Windows 2000, Windows XP, Windows Server 2003 et Windows Vista). Les ACLs peuvent tre dfinis sur des fichiers ou des rpertoires. Sous NTFS, les ACLs acceptent les types de droits suivants : Parcours d'un dossier ; Liste d'un dossier ; Lecture des mta-donnes ; Ajout de fichier ; Ajout de rpertoire ; Ajout de donnes un fichier existant ; Modification des droits ; Suppression ; Lecture ; Appropriation ; Excution.

38

MGL9701 - Projet en gnie logiciel

6.5 ApplicationLa scurit des applications peut tre exploite selon deux mthodes. La premire consiste grer la scurit de manire dclarative, cest--dire, dutiliser un systme de scurit externe pour protger les accs aux applications. La deuxime dite programmatique rclame le concours des applications pour la gestion des accs de la part des utilisateurs. La premire mthode est trs dsirable pour les administrateurs de la scurit car les dclarations ncessaires la gestion des accs sont indpendantes des applications et donc des propritaires de ces applications. Les politiques mises en place peuvent ltre sans avoir obtenir le consentement des propritaires des applications. Par contre, la mthode dclarative ne permet toutefois quun contrle des accs gros grains. Les solutions modSecurity, Apparmor et SELinux correspondent cette mthode. La deuxime mthode quant elle permet un contrle des accs grains fins et permet laffichage des lments dun formulaire en fonction des politiques daccs spcifiques lutilisateur. En gnral, la cration dun formulaire variera dynamiquement en fonction du rle ou du groupe associ lutilisateur. Un exemple de cette mthode est ACEGI. 6.5.1 Pare-feu applicatif (modSecurity)

ModSecurity est un systme de dtection dintrusion et un moteur de prvention de failles de scurit au sein des applications web. Il fonctionne comme un module Apache ou bien de manire autonome. Il permet de filtrer les requtes, danalyser le contenu des formulaires, de journaliser les requtes, deffectuer du filtrage HTTPS et des donnes compresses. La solution peut tre obtenue via le lien suivant : http://www.modsecurity.org/

6.6 Apparmor

AppArmor ou Application Armor est un logiciel de scurit pour Linux dit sous Licence publique gnrale GNU. Il est actuellement dvelopp par Novell. La solution permet l'administrateur systme d'associer chaque programme un profil de scurit qui restreint ses capacits. Il accompagne le traditionnel modle d'Unix du contrle d'accs discrtionnaire DAC en lui permettant d'utiliser le contrle d'accs obligatoire MAC conu par la NSA (National Security Agency). La solution peut tre obtenue via le lien suivant : http://en.opensuse.org/AppArmor

39

MGL9701 - Projet en gnie logiciel

6.6.1

SELinux ou Security-Enhanced Linux

SELinux conu par la NSA (National Security Agency) est un module de scurit optionnel ajout au noyau Linux. SELinux intgre un systme de contrle d'accs obligatoire selon le modle MAC (mandatory access control) au noyau Linux. Sous un systme standard de contrle d'accs discrtionnaire tel que Linux, une application ou un processus excut en tant qu'utilisateur (UID ou SUID) reoit la permission de l'utilisateur sur des objets tels que des fichiers, des sockets et d'autres processus. L'excution d'un noyau MAC SELinux permet de protger le systme contre des applications malveillantes ou dfectueuses qui peuvent endommager ou dtruire le systme. SELinux dfinit les droits d'accs et de transition de chaque utilisateur, application, processus et fichier du systme. SELinux gouverne alors les interactions de ces sujets et objets l'aide d'une politique de scurit qui spcifie le degr de rigueur ou de souplesse d'une installation donne de Linux. La solution peut tre obtenue via le lien suivant : http://selinux.sourceforge.net/ 6.6.2 Spring Security (ACEGI)

Une des plateformes de dveloppement les plus populaires est sans conteste la plateforme Spring. Spring a fait sienne la solution de scurit offerte prcdemment par ACEGI qui est devenue Spring Security . La solution supporte un grand nombre de dispositifs de scurit tel que : La solution de SSO OpenID La norme WS-Security Le SSO avec CAS (Central Authentication Service) ou JOSSO Les annotations de scurit de EJB3 La scurit selon le modle REST Etc.

La solution peut tre obtenue via le lien suivant : http://static.springframework.org/spring-security/site/index.html

40

MGL9701 - Projet en gnie logiciel

6.7 SGBD

Le Systme de Gestion de Base des Donnes le plus populaire dans le march du logiciel libre est MySQL. On recense plus de 4 millions dinstallations dans le monde. Sur le plan de la scurit, MySQL supporte les stratgies de haute disponibilit grce lapproche multi tiers et la redondance. De plus, le systme offre la possibilit de grer les privilges de manire granulaire. Les privilges sont les suivants : Alter Delete Create Drop Execute Select Update Le tableau qui suit dmontre les options offertes par la solution pour la gestion des privilges. Laccs aux donnes peut ncessiter si requis une authentification via mot de passe ou encore via SSL. GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...] ON {tbl_name | * | *.* | db_name.*} TO user_name [IDENTIFIED BY [PASSWORD] 'password'] [, user_name [IDENTIFIED BY 'password'] ...] [REQUIRE NONE | [{SSL| X509}] [CIPHER cipher [AND]] [ISSUER issuer [AND]] [SUBJECT subject]] [WITH [GRANT OPTION | MAX_QUERIES_PER_HOUR # | MAX_UPDATES_PER_HOUR # | MAX_CONNECTIONS_PER_HOUR #]] La solution permet galement dassurer de la confidentialit des donnes via le chiffrement. Par exemple, la fonction AES_ENCRYPT () chiffre une chane de caractres et renvoie une chane binaire. AES_DECRYPT () dcrypte la chane chiffre et retourne la chane originale. Vous pouvez utiliser les fonctions AES pour stocker des donnes sous une forme chiffre en modifiant vos requtes de la manire suivante : INSERT INTO t VALUES (1,AES_ENCRYPT('text','password')); La solution peut tre obtenue via le lien suivant : http://www.mysql.com/

41

MGL9701 - Projet en gnie logiciel

PostgreSQL est un systme de gestion de base de donnes relationnelle et objet (SGBDRO). Ce projet a plus de 15 ans de dveloppement son actif et offre une architecture prouve tant pour sa fiabilit que pour l'intgrit des donnes. Il fonctionne sur tous les principaux systmes d'exploitation, dont Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), et Windows. PostgreSQL inclut des fonctions de scurit plus labores que MySQL notamment au niveau des algorithmes cryptographiques offerts. Les sections suivantes dcrivent de manire sommaire les mcanismes de scurit du systme. 6.7.1 Authentification

Une bonne pratique dans le monde des SGBDs, linstar des autres systmes, est didentifier un utilisateur voulant accder de linformation. ce niveau, PostgreSQL offre une panoplie de mthodes d'authentification diffrentes. Les mthodes les plus importantes sont les suivantes: Mot de passe Certificat MD5 Kerberos LDAP

L'authentification du client est contrle par un fichier, traditionnellement nomm pg_hba.conf. Les lignes qui suivent dcrivent le fonctionnement de la scurit et dmontre lusage du fichier de configuration. # Si ces trois lignes traitent seules les connexions locales, elles n'autorisent les # utilisateurs locaux qu' se connecter leur propre base de donnes (base ayant # le mme nom que leur nom d'utilisateur) exception faite des administrateurs et # des membres du rle "support" qui peuvent se connecter toutes les bases de # donnes. Le fichier $PGDATA/admins contient une liste de noms # d'administrateurs. Un mot de passe est requis dans tous les cas. # # Aussi, un utilisateur de lhte 192.168.12.10 peut se connecter la base de # donnes postgres via une authentification base md5. # # TYPE DATABASE USER CIDR-ADDRESS METHOD local sameuser all md5 local all @admins md5 local all +support md5 host postgres all 192.168.12.10/32 md5

42

MGL9701 - Projet en gnie logiciel

6.7.2

Autorisation

PostgreSQL gre les droits d'accs aux bases de donnes en utilisant le concept de rle. Un rle peut tre vu soit comme un utilisateur de la base des donnes, soit comme un groupe d'utilisateurs de la base des donnes, suivant la faon dont le rle est configur. Les rles peuvent possder des objets de la base de donnes (par exemple des tables) et peuvent affecter des droits sur ces objets d'autres rles pour contrler qui a accs ces objets. De plus, il est possible de dlguer un rle un autre rle, l'autorisant ainsi utiliser les droits affects au rle dont il est membre. Les privilges associs aux rles sont les suivants : SELECT INSERT UPDATE DELETE REFERENCES TRIGGER CREATE CONNECT TEMPORARY EXECUTE USAGE

La gestion des rles est ralise via un langage de commande. Par exemple, la premire ligne de commande sert crer un rle, la seconde octroyer les droits dadministrateur au rle dev et donc aux utilisateurs assigns ce rle et finalement la dernire commande est utilise pour supprimer le rle dev existant.

CREATE ROLE dev; GRANT dev TO admins; DROP ROLE dev;

La configuration de l'authentification du client dtermine avec quel rle de base la connexion cliente se connectera. Comme le rle dtermine l'ensemble des droits disponibles pour le client connect, il est important de configurer cela soigneusement quand un environnement multi-utilisateur est mis en place.

43

MGL9701 - Projet en gnie logiciel

6.7.3

Fonctions cryptographiques

PostgreSQL offre galement des fonctions cryptographiques par lintermdiaire du programme pgcrypto. Le tableau ci-dessous dmontre les possibilits de PostgreSQL en cette matire. Le programme sappuie sur OpenPGP et OpenSSL de sorte largir lensemble des fonctions cryptographiques disponibles. Fonctions MD5 SHA1 SHA224/256/384/512 Other digest algorithms Blowfish AES DES/3DES/CAST5 Raw encryption PGP Symmetric encryption PGP Public-Key encryption De base oui oui oui non oui oui non oui oui oui Avec OpenSSL oui oui oui oui oui oui oui oui oui oui

Table 6 - Les fonctions cryptographiques de PostgreSQL

Les fonctions cryptographiques offertes via le programme pgcrypto permettront donc de gnrer, par exemple, le hach dun mot de passe ou encore de crer un code dauthentification dun message (MAC) pour un tmoin (cookie). Les mthodes sont invoques de la manire suivante :

digest(data text, type text) returns bytea digest(data bytea, type text) returns bytea hmac(data text, key text, type text) returns bytea hmac(data bytea, key text, type text) returns bytea pgp_sym_encrypt_bytea(data bytea, psw text [, options text ]) returns bytea

La base de donnes PostgreSQL est donc trs bien quipe pour traiter les donnes sensibles telles que les numros dassurance sociale, les numros de carte de crdit, les numros de comptes bancaires ou autres donnes nominatives juges confidentielles par les diffrentes lois sur la protection de la vie prive travers le monde.

44

MGL9701 - Projet en gnie logiciel

6.8 Coupe-feuLe coupe-feu est un mcanisme essentiel de la scurit. Il sert de premier rempart pour lentreprise contre les attaques extrieures. Deux coupe-feux se distinguent dans le monde du logiciel libre. Il sagit de SmoothWall Express et de IPCop. Ces solutions sont populaires car elles sont conviviales grce leurs interfaces web faciles utiliser. Malgr tout, des solutions telles que netfilter et ipfilter demeurent tout de mme des solutions populaires et fiables. 6.8.1 IPCop et SmoothWall Express

La solution IPCop offre un moyen simple mais puissant pour configurer un coupe-feu sur une architecture de type PC. Elle peut protger un rseau familial ou de petites ou moyennes entreprises (SOHO). Elle offre la possibilit de crer une zone dmilitarise ainsi que des tunnels en rseau priv virtuel. Il est noter que IPCop est une solution complte incluant son propre systme dexploitation bastionn. IPCop peut galement servir de serveur mandataire (proxy), de serveur fournissant des adresses IP dynamiques (DHCP), de relais DNS, de serveur DNS dynamique, de serveur de temps (NTP). Il est de plus extensible via linstallation de modules additionnels (plugins). On peut donc ajouter bien d'autres fonctions permettant de raliser du contrle de contenu, de grer des listes noires, des listes d'accs, de contrler le trafic, etc. l'origine, IPCop tait un fork de la distribution Linux Smoothwall, depuis ces deux projets se sont dvelopps indpendamment, IPCop conservant une approche en logiciel libre plus pure que SmoothWall qui offre une version commerciale. La solution peut tre obtenue via le lien suivant : http://www.ipcop.org/ et http://www.smoothwall.org/ .

45

MGL9701 - Projet en gnie logiciel

6.8.2

Firewall Builder

Pour les mordus des solutions de coupe-feux originales telles que netfilter ou ipfilter, il est possible dadjoindre une composante amliorant la convivialit de ces solutions. Il sagit de la solution Firewall Builder. La solution permet de configurer ces coupe-feux via une interface web plutt qu travers la ligne de commande.

Figure 20 - Gestion conviviale des pare-feux

La solution peut tre obtenue via le lien suivant : http://www.fwbuilder.org/

46

MGL9701 - Projet en gnie logiciel

6.9 Rseau Priv VirtuelUne autre solution trs intressante et surtout trs utile dans le domaine du contrle daccs est le Rseau Priv Virtuel ou RPV. Cette solution se dcline en deux grandes familles soit le RPV-SSL et le RPV-IPSEC. Les spcifications de IPSEC (IP Security) proviennent du IETF (Internet Engineering Task Force).

Figure 21 - Rseau priv virtuel

La premire famille convient bien aux utilisateurs car il ne ncessite pas de client lourd sur les postes clients. Un simple fureteur web fait laffaire. Dans le second cas, un client IPSEC doit tre install sur le poste de travail de lutilisateur. La configuration des RPVIPSEC est galement plus complexe. Voil pourquoi, le protocole IPSEC est plus souvent utilis pour crer des canaux virtuels entre machines.

La grande force d'OpenVPN est d'tre extrmement facile installer et configurer, ce qui est rarement le cas pour des outils utiliss pour crer des RPVs. De plus, la solution se retrouve sur un grand nombre de plateformes comme Linux, Microsoft Windows 2000/XP/Vista, OpenBSD, FreeBSD, NetBSD, Mac OS X et Solaris. Le RPV peut tre utilis selon deux modes. Le premier mode, le plus facile, utilise une cl partage. Un second mode plus scuritaire repose sur une infrastructure cls publiques. Le tableau suivant rsume les avantages et les inconvnients des deux modes : Mode OpenVPN Mode de cryptographie: Implantation: Vitesse: Consommation CPU: change des clefs: Renouvellement des clefs: Authentification des passerelles: Clefs partages Symtrique Plus facile Plus rapide Plus petite OUI NON NON SSL Asymtrique/Symtrique Plus complique Plus lente Plus grande NON OUI OUI

Table 7 - Les modes d'opration de OpenVPN

La solution peut tre obtenue via le lien suivant : http://openvpn.net/ 47

MGL9701 - Projet en gnie logiciel

Un exemple de la seconde famille de RPV est le trs clbre FreeS/WAN. Cette solution est aussi connue pour sa complexit et est reprsentative de cette famille de RPV. Le protocole au cur du RPV IPSec, ISAKMP ou Internet Security Association and Key Management Prococol rclame lutilisation dune ICP. La solution peut tre tlcharge et installe comme une solution complte mais elle est aussi souvent intgre dautres solutions de coupe-feux comme SmoothWall ou encore Astaro, un coupe-feu commercial trs rput. Dans cet exemple, le Client RPV IPSec doit se connecter au rseau local derrire le routeur RPV Linux. Le Client RPV est connect Internet via une connexion commute ou un accs DSL. Le Client RPV aura une adresse IP virtuelle dans le rseau local distant.

Figure 22 - Rseau priv virtuel avec IPSec

La solution peut tre obtenue via le lien suivant : http://www.freeswan.org/

48

MGL9701 - Projet en gnie logiciel

7 ConfidentialitEn informatique, la confidentialit fait partie, avec l'intgrit et la disponibilit, des trois grands principes de scurit informatique. La confidentialit est dfinie comme un moyen de s'assurer que l'information n'est accessible qu' ceux dont l'accs est autoris. Dans la pratique, la confidentialit est atteinte par les techniques de la cryptographie moderne.

7.1 Certificat cl publique de chiffrementLe chiffrement asymtrique nest pas, rgle gnrale, utilise pour le chiffrement de gros blocs de donnes car le chiffrement asymtrique est trs exigeant et serait trop lent. Les certificats de chiffrement sont le plus souvent utiliss dans les applications de courriel lectronique pour chiffrer certains courriels dont le contenu est confidentiel. L'utilisation des certificats pour chiffrer et signer des courriels se fait en utilisant le standard S/MIME qui permet l'encapsulation des donnes cryptographiques dans le format MIME des courriels. Les certificats lectroniques se distinguent des solutions de simple cryptographie (signature et chiffrement) comme OpenPGP par le fait qu'ils renferment des attributs ou champs d'information certifis par des autorits de certification reconnues telles que VeriSign ou Entrust.

Figure 23 - Le chiffrement asymtrique [48]

Les partenaires ou collgues qui vous envoient des courriels utilisent la partie publique de votre certificat pour chiffrer le contenu que vous serez seul pouvoir dchiffrer. Le chiffrement asymtrique rsout le problme du partage de la mme cl, lment essentiel du chiffrement symtrique. La solution peut tre obtenue via le lien suivant : http://www.ejbca.net

49

MGL9701 - Projet en gnie logiciel

7.2 Chiffrement des donnes

Truecrypt est une solution de chiffrement de disque fonctionnant sous Windows Vista/XP, Mac OS X et Linux. Cette solution permet de se dplacer avec son ordinateur portable avec plus de scurit. Le chiffrement est automatique et transparent. Le logiciel peut chiffrer tant le disque dur que les mdias mobiles (cls USB, CD et DVD). La solution peut tre obtenue via le lien suivant : http://www.truecrypt.org/

Les fonctions de chiffrement fournies par limplantation de rfrence du JDK1.6 sont en gnral trs convenables pour la plupart des besoins en cryptographie. Larchitecture du systme cryptographique est trs flexible et encapsule les fonctions de scurit derrire des interfaces normalises appeles Cryptographic Service Provider ou CSP. Lutilisation en est simple comme en tmoigne lextrait de code suivant :

import javax.crypto.*; Cipher aesCipher; aesCipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); aesCipher.init(Cipher.ENCRYPT_MODE, aesKey); byte[] cleartext = "Cest un exemple".getBytes(); byte[] ciphertext = aesCipher.doFinal(cleartext);

Limplantation de rfrence de SUN peut tre obtenue via le lien suivant : http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/C ryptoSpec.html#SimpleEncrEx Dans le cas ou des fonctions additionnelles sont requises, par exemple, lutilisation dune taille de cl suprieure ce que la loi amricaine autorise (128 bits), il existe un fournisseur en logiciel libre europen fournissant une implantation JCE et une JCA gratuite.

La solution peut tre obtenue via le lien suivant : http://www.bouncycastle.org/fr/index.html

50

MGL9701 - Projet en gnie logiciel

7.3 Chiffrement des communicationsUn autre aspect du chiffrement est la protection des donnes en transit travers les rseaux. Le protocole le plus populaire pour cette fonction est sans contredit le protocole Secure Socket Layer . La version 3 du protocole est devenue la version du protocole officiel Transport Layer Security V1 mais lusage de lancien nom demeure toujours gnralis afin de dsigner ce protocole. Le protocole est dcrit sommairement cidessous.

Figure 24 - Chiffrement des communications (source : Wikipedia)

Les solutions les plus populaires sont les suivantes:

http://www.openssl.org/ http://www.openssh.org/fr/index.html http://winscp.net/eng/index.php http://www.modssl.org/ http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide .html

51

MGL9701 - Projet en gnie logiciel

8 DisponibilitLa haute disponibilit est un terme souvent utilis dans le monde des technologies de linformation. Dans lesprit des exploitants, on parle d'architecture de systmes ou de services dont le taux de disponibilit est acceptable. La disponibilit est aujourd'hui un enjeu important des infrastructures informatiques. On estime aujourd'hui que lindisponibilit d'un service informatique peut entraner des cots astronomiques pour des domaines de l'industrie tels que le domaine bancaire ou celui de lnergie o l'arrt des oprations de production peut mettre lexistence de lentreprise en pril ou encore avoir un effet dsastreux chez les consommateurs. Plusieurs moyens complmentaires sont utiliss pour amliorer la haute disponibilit : 1. La mise en place d'une infrastructure comportant de la redondance matrielle. On cre des grappes de haute disponibilit dont lobjectif est d'assurer un service en vitant au maximum les indisponibilits. 2. On effectue du balancement de la charge en tirant profit des grappes de serveurs dcrits prcdemment. 3. On prvoit un site secondaire offrant une infrastructure redondante ou du moins pouvant assurer les services essentiels du site primaire. Pour mesurer la disponibilit, on utilise souvent un pourcentage compos de 9. Les 9 dsignent en fait la quantit de temps dindisponibilit sur une anne pour un service donn. Pourcentages 99% 99,9% 99,99%, 99,999%, 99,9999%, 99,99999%, Indisponibilits Moins de 3,65 jours par an Moins de 8,75 heures par an Moins de 52 minutes par an Moins de 5,2 minutes par an Moins de 54,8 secondes par an Moins de 3,1 secondes par anTable 8 - Mesure de la disponibilit

52

MGL9701 - Projet en gnie logiciel

8.1 RedondanceLa redondance est un sujet trs vaste. la base, la redondance permet un service de demeurer disponible mme dans le cas de bris matriel ou de dfaillance logicielle. Le principe tant de dupliquer le service sur plusieurs serveurs de sorte pouvoir rcuprer la charge sur les serveurs restants lorsquun serveur prouve des problmes ou requiert de la maintenance. Afin de nous familiariser avec ce principe, nous allons dcrire deux solutions trs populaires dans le monde de Linux. 8.1.1 Common Address Redundancy Protocol

Common Address Redundancy Protocol ou CARP est un protocole permettant un groupe de serveurs sur un mme segment rseau de partager une adresse IP. CARP est une alternative scurise et libre aux protocoles Virtual Router Redundancy Protocol dvelopps par CISCO. CARP appose une signature cryptographique aux messages en transit ce qui est avantageux en termes de scurit. On appelle un groupe de serveurs utilisant CARP un "groupe de redondance". Le groupe de redondance se voit attribuer une adresse IP partage entre les membres du groupe. Au sein de ce groupe, un serveur est dsign comme "matre". Les autres membres sont appels "esclaves". Le serveur matre est celui qui "prend" l'adresse IP partage. Il rpond tout trafic ou requte ARP l'attention de cette adresse. Chaque serveur peut appartenir plusieurs groupes de redondance. Chaque serveur doit avoir une seconde adresse IP unique. Dans le cas o le serveur matre rencontre une panne ou est dconnect du rseau, l'adresse IP virtuelle sera prise par un des serveurs esclaves et le service continuera tre rendu sans interruption. Chaque lment du groupe met ainsi sur le rseau des signes de vie de faon ce que les autres lments ayant la mme adresse IP virtuelle prennent le relais lorsque l'lment dfaillant ne donne plus ces signes de vie. La solution peut tre obtenue via le lien suivant : http://www.ucarp.org/project/ucarp ou http://sourceforge.net/projects/vrrpd/

53

MGL9701 - Projet en gnie logiciel

8.1.2

Distributed Replicated Block Device

DRBD est un module du noyau Linux qui constitue un systme de stockage distribu. Vous pouvez utiliser DRBD pour partager des priphriques entre des serveurs Linux et de ce fait, partager des systmes de fichiers et des donnes. Ce module peut donc tre utilis pour construire des SAN (Storage Area Network). Cette forme de stockage est trs populaire aujourdhui. En fait, la consolidation des serveurs grce la virtualisation et les rseaux de stockage font parti des stratgies TI les plus la mode aujourdhui. DRBD met en uvre un dispositif de stockage permettant de rpliquer les donnes dun serveur principal sur un ou plusieurs serveurs secondaires.

Figure 25 - Solution de stockage distribu

Les donnes primaires sont crites la fois sur le priphrique physique et sur le lien rseau, permettant de distribuer ces donnes sur des priphriques secondaires loigns. L'information est donc partage entre le serveur et le serveur secondaire de manire synchrone, ce qui signifie que DRBD peut tre utilis pour raliser de la haute disponibilit au niveau des systmes de donnes. Des solutions libres comme MySQL tirent profit de ce mcanisme dans leurs stratgies de redondance. La solution peut tre obtenue via le lien suivant : http://www.linux-ha.org/DRBD .

54

MGL9701 - Projet en gnie logiciel

En complment de DRBD, openfiler offre la composante de stockage requise. La solution peut tre utilise tant en mode SAN (Storage Area Network) quen mode NAS (Network Attached Storage). La diffrence principale entre les deux modes, est que le SAN interagit directement avec le priphrique via le protocole natif des contrleurs SATA ou iSCSI alors que le NAS utilise des protocoles de plus haut niveau tels que NFS, SMB/CIFS ou FTP pour communiquer. Les solutions de stockage SAN sont donc par dfinition plus performantes car de plus de bas niveaux. La