Escolar Documentos
Profissional Documentos
Cultura Documentos
Les normes............................................................................................................ 12
2.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
Intgrit ................................................................................................................ 20
3.1 3.2 3.3 3.4 Certificat cl publique de signature....................................................................................20 Code dauthentification de message .....................................................................................22 Empreinte numrique............................................................................................................23 Notarisation ..........................................................................................................................24
Irrvocabilit........................................................................................................ 25
4.1 4.2 4.3 Certificat cl publique de signature....................................................................................25 Journalisation........................................................................................................................25 Conservation .........................................................................................................................27
Identification et authentification........................................................................ 28
5.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
Confidentialit...................................................................................................... 49
7.1 7.2 7.3 Certificat cl publique de chiffrement................................................................................49 Chiffrement des donnes ......................................................................................................50 Chiffrement des communications .........................................................................................51
Disponibilit ......................................................................................................... 52
8.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
Surveillance .......................................................................................................... 63
9.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 ..................................................................................................... 70
10.1 10.2 10.3 Administration matrielle .....................................................................................................70 Administration logicielle ......................................................................................................70 Administration rseau ...........................................................................................................73
11 12
13 14
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
MGL9701 - Projet en gnie logiciel Table 13 - Les machines virtuelles et leurs fonctions dans la solution ............................................86
Sigles et abrviations
ACL 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
1 Introduction
1.1 Contexte
Le 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.1
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
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.
11
2 Les normes
Avant 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
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
COBIT
ISO 27001-2
Quoi
Comment
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.
Lenvironnement de contrle Lvaluation des risques Les activits de contrle Linformation et la communication La supervision
Planification et organisation (PO) Acquisition et mise en place (AMP) Distribution et support (DS) Surveillance (S)
14
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.
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
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
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
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.
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.
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.
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
3 Intgrit
L'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.
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.
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.
Une solution gratuite peut tre obtenue via le lien suivant : http://www.ejbca.org/
21
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.
http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html
22
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.
23
3.4 Notarisation
Un 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.
24
4 Irrvocabilit
Lirrvocabilit 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.2 Journalisation
La 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
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
La figure suivante dmontre comment personnaliser la fonction de journalisation avec la solution Lasso sous Windows.
26
4.3 Conservation
La 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.
27
5 Identification et authentification
La 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
Fdration didentit
28
diteurs
Infrastructure cl publique
SSO Web
Annuaire LDAP
Annuaire LDAP
29
http://www.jasig.org/cas
http://freeradius.org/ http://www.gazi.edu.tr/tacacs/
30
5.4 Jeton
Lorsque 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.
31
5.6 Biomtrie
Aucune information na t trouve ce sujet dans le monde du logiciel libre.
32
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.
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
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.
35
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
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.
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
6.4 NOS/OS
Sous 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 :
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
6.5 Application
La 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
6.6.1
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.
40
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
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
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.
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
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
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
6.8 Coupe-feu
Le 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
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.
46
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
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.
48
7 Confidentialit
En 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.
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
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.
50
51
8 Disponibilit
La 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 an
Table 8 - Mesure de la disponibilit
52
8.1 Redondance
La 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
8.1.2
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.
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
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 figure suivante dmontre un exemple de lapplication de gestion de openfiler. Dans cet exemple, un nouveau volume SCSI est ajout la configuration.
55
Augmentation de la qualit des services. Amlioration des temps de rponse des services. Capacit pallier la dfaillance d'une ou de plusieurs machines. Possibilit d'ajouter des serveurs sans interruption de service.
Il existe diffrentes techniques allant du plus simple au plus complexe. Nous en verrons donc une simple et une plus labore. 8.2.1 Technique de balancement de charge simple
Un exemple de balancement de charge relativement simple est le Round-Robin . Cette technique est souvent utilise avec les serveurs de type DNS. Elle est utilisable tant dans des environnements Linux que Microsoft Windows 200X. Le principe est le suivant. 1. Pour un nom de domaine prcis, le serveur DNS possde plusieurs adresses IP. 2. chaque requte, le serveur DNS choisit l'adresse IP inclure dans la rponse de manire ce que chaque adresse IP soit prsente dans les rponses de manire quitable. 3. Les diffrents accs au nom de domaine sont par consquent rpartis quitablement entre les diffrentes adresses IP. Il faut noter que cette technique de round-robin peut tre exploite pour appliquer de lquilibrage de charge pour dautres services. Par exemple, vous pouvez quilibrer votre service de courriels en configurant votre serveur DNS avec plusieurs enregistrements MX ayant la mme priorit (10). ; zone file fragment IN MX 10 mail.example.com. IN MX 10 mail1.example.com. IN MX 10 mail2.example.com. .... mail IN A 192.168.0.4 mail1 IN A 192.168.0.5 mail2 IN A 192.168.0.6
56
Vous pouvez obtenir le mme rsultat pour les services web et de ftp en crant des enregistrements comportant des noms identiques mais des adresses IP diffrentes comme le propose lexemple qui suit.
; zone file fragment ftp IN A 192.168.0.4 ftp IN A 192.168.0.5 ftp IN A 192.168.0.6 www IN A 192.168.0.7 www IN A 192.168.0.8
57
8.2.2
Linux Virtual Server est un serveur offrant une haute volutivit et une haute disponibilit en utilisant une grappe de serveurs physiques. Il comprend galement un quilibreur de charge excutant sur le systme d'exploitation Linux. L'architecture du serveur de grappe est entirement transparente pour les utilisateurs. Les utilisateurs interagissent avec le systme comme s'il s'agissait d'un seul serveur virtuel haute performance.
Linux Virtual Server en tant que solution d'quilibrage de charge peut tre utilis afin de construire des services de rseau ncessitant une haute volutivit et une haute disponibilit. Les services les plus communs sont les suivants : Web Mise en cache Courriel Transmission de fichiers tel FTP Mdias VoIP Etc.
58
Encore une fois, la solution la plus populaire pour remplir cette fonction est LVS. La solution peut tre obtenue via le lien suivant : http://www.linux-vs.org/
59
8.4 Relve
Toute entreprise devant assurer une haute disponibilit de ses services doit envisager un plan de continuit ou de relve en cas de dsastre. Dans certains cas, une copie complte de linfrastructure informatique est maintenue sur un site secondaire loign du premier. Un plan de continuit des affaires doit tre ralis selon des normes tablies par des experts du domaine. Sur le plan pratique, nous avons dj survol plusieurs solutions permettant un certain niveau de redondance entre les sites primaires et secondaires. Un second site pourrait contenir une grappe de serveurs balancs dont les donnes seraient rpliques de manire synchrone entre les sites. Des solutions telles que rsync ou DRBD peuvent tre utilises pour synchroniser les deux sites. Le programme rsync est similaire rcp d'Unix, mais possde des fonctionnalits supplmentaires. Il utilise un protocole de mise jour distance incrmental afin d'acclrer le transfert des fichiers plutt que de transfrer des fichiers qui existent dj.
Le programme Heartbeat est un module de base de larchitecture de haute disponibilit de linux. Dans notre plan de relve, la dtection de la perte du serveur primaire pourrait tre confie un module Heartbeat dploy sur le serveur matre du site secondaire. Au moment o le site primaire nest plus disponible, Heartbeat mettrait en activit la grappe de repli qui prendra ds lors le relais des oprations. Une simple mise jour du DNS publique permettra de basculer les utilisateurs vers le site secondaire. Notre systme de relve est donc compos des quatre composantes suivantes : Composantes Linux Virtual Server Distributed Replicated Block Device Heartbeat rsync Fonctions Offre la capacit de mise en grappe et de balancement de charge Offre un systme de stockage distribu maintenant une copie des donnes en miroir du site primaire. Permet la dtection de la perte du site primaire. Maintient les deux sites en miroir.
LVS peut tre obtenue via le lien suivant : http://www.linux-vs.org/ DRDB peut tre obtenue via le lien suivant : http://www.linux-ha.org/DRBD Heartbeat peut tre obtenue via le lien suivant : http://www.linux-ha.org/Heartbeat . rsync peut-tre obtenue via le lien suivant : http://samba.anu.edu.au/rsync/
60
8.5 Sauvegarde
La sauvegarde des donnes est un processus de base des technologies de linformation. Les activits lies cette fonction sont des oprations quotidiennes pour les administrateurs de systmes. La sauvegarde des donnes est galement un mcanisme de scurit dimportance car il permet de rcuprer des donnes qui auraient t autrement perdues ou corrompues. Les activits de surveillance salimentent galement des donnes sauvegardes lorsquil faut retourner en arrire pour dceler des mfaits.
Amanda est la solution en logiciel libre la plus populaire au monde en ce qui a trait la sauvegarde et la rcupration des donnes. Amanda protge plus d'un demi-million de serveurs et dordinateurs de bureau excutant sur diffrentes versions de Linux, de UNIX, BSD, Mac OS-X ou encore sur les systmes dopration de Microsoft Windows. De plus, la solution est scuritaire car elle supporte le chiffrement des donnes sur les clients, assurant ainsi la scurit des donnes en transit ainsi que le chiffrement sur les serveurs de sauvegarde.
61
8.6 Conservation
Plusieurs rglementations de lindustrie et du gouvernement exigent que les nombreux journaux produits par les systmes TI soient recueillis, surveills et conservs. Afin de se conformer ces exigences, les journaux provenant souvent de centaines de sources (Unix, Windows 2003, IDS, serveurs web, applicatifs, SGBD, etc.) doivent tre conservs afin dtre examins rgulirement pour dtecter les failles de scurit et les carts de conformit. Cette analyse et cette conservation approfondies peuvent reprsenter des millions de mga-octets. Des mcanismes de sauvegarde des donnes et des rseaux de stockage permettent de remplir les exigences des diffrentes rglementations. Des solutions telles que Amanda et openFiler sont des rponses pertinentes ces besoins dans le domaine du logiciel libre. En plus des solutions technologiques envisages, des politiques de conservation bases sur une classification des donnes (par exemple, la cote Mhari) dtermineront la dure quune information devra tre conserve. Le tableau suivant dmontre les lments minimaux pour la conservation. Solutions Besoins Une analyse de risque comprenant une classification des actifs selon la mthode Mhari ou encore Ebios, Octave ou Marion est requise. https://www.clusif.asso.fr/fr/production/mehari/ La solution permet de crer un rseau de stockage partag pour le rseau dentreprise. En gnral, les rseaux de stockage ont une trs grande capacit et accroissent la disponibilit des donnes. http://www.openfiler.com/community La solution permet de sauvegarder et restaurer les donnes conserver sur disques ou sur bandes en fonction des politiques de conservation. http://amanda.zmanda.com Splunk collecte et conserve les journaux et les donnes de n'importe quels systme et dispositif de scurit dune manire centralise. http://www.splunk.com
Table 10 Les composantes lies la conservation des donnes
62
9 Surveillance
La surveillance est une fonction de scurit incontournable dans les systmes informatiques daujourdhui. Cette fonction consiste surveiller les actifs de lentreprise afin de dtecter des problmes varis tels que des dbordements de capacit, des dfaillances matrielles et logicielles, des problmes dengorgement de rseau ou encore des tentatives dintrusion. En gnral, ces systmes de surveillance utilisent des agents dploys sur les diffrents serveurs qui surveillent ltat de sant du serveur local et qui mettent des alertes dans le cas o un problme survient ou quune valeur de seuil est dpasse. Quand la condition le rclame, un administrateur de systme peut recevoir un message via tlchasseur, tlphone cellulaire ou encore via courriel.
Le logiciel libre le plus populaire, dans le domaine de la surveillance des rseaux et des serveurs, est sans nul doute Nagios (plus de 3 millions de tlchargements). Nagios est une application web prsentant un riche tableau de bord des diffrentes activits du rseau de lentreprise. Nagios bnficie de ses diffrents agents pour collecter linformation ncessaire des serveurs Windows 200X, Unix/Linux ou encore de composantes rseau comme des routeurs, des commutateurs ou des imprimantes. Sans oublier des services tels HTTP, FTP, POP3, etc. Les images suivantes dcrivent le concept de collection de Nagios. Des donnes telles que la disponibilit, lespace mmoire et le niveau dutilisation du UCT sont des exemples dinformation recueillie par Nagios.
63
Une autre solution libre pouvant convenir aux besoins de surveillance est OSSIM. Cette solution est en fait le fruit de lassemblage de plusieurs des meilleures solutions de surveillance sur le march. Ce travail dintgration a permis de les consolider sous un mme guichet. OSSIM permet donc de compiler les donnes des solutions telles que Nessus, Snort, Nagios, Spade, OSSEC et plusieurs autres et dorganiser ces donnes en des tableaux de bord sophistiqus.
Dans le champ de la dtection des intrusions, Snort est le logiciel incontournable. En fait, bon nombre de solutions commerciales comprennent la base la solution Snort. Il y a quelques concepts de base connatre pour utiliser Snort car la solution peut tre configure pour fonctionner selon plusieurs modes: 1. Le mode Sniffer qui lit tout simplement les paquets voyageant sur le rseau et qui les affiche en un flux continu sur la console. 2. Le mode Packet Logger qui trace les paquets voyageant sur le rseau sur le disque de votre ordinateur.
64
MGL9701 - Projet en gnie logiciel 3. Le mode Systme de Dtection d'Intrusion ou NIDS, le plus complexe, qui permet danalyser le trafic rseau afin de dtecter des patrons dvnements partir dune banque de patrons mise jour priodiquement et de prendre action. 4. Le mode inline qui permet dobtenir les paquets du rseau directement du coupe-feu iptables plutt que de libpcap . Une fois les rgles joues, Snort peut dcider via iptables de bloquer ou de transmettre un paquet. Ce mode introduit laspect NIPS (network intrusion protection system) dans loffre de Snort. Le comportement de Snort est bas sur un ensemble de rgles. Une rgle dans le monde de Snort sexprime de la manire suivante : Alert tcp any any -> 198.168.1.0/24 111 (content : |00 01 86 a5|; msg:mountd access;) La solution peut tre obtenue via le lien suivant : http://www.snort.org/
Une autre solution intressante est OSSEC (Open Source Host-based Intrusion Detection System). La solution sutilise dans le champ de la dtection des intrusions comme Snort mais offre en plus la possibilit de dtecter les rootkit prsents sur les serveurs.
65
Nessus est un outil de scurit informatique trs rput. Nessus a t offert en logiciel libre jusquen 2005 mais depuis lors, le code nest plus ouvert. De plus, la version sans frais, dite home feed , procure une alimentation limite dextensions et nest utilisable qu des fins personnelles. La version fournissant une alimentation complte cote environ $1500 par anne. Il signale les faiblesses potentielles ou relles sur les machines cibles. Plus prcisment, Nessus est capable de balayer un quipement, un ensemble d'quipements ou encore un rseau entier. Le rsultat du balayage fournira :
Une liste des vulnrabilits par niveaux de criticit, Une description des vulnrabilits, La mthode pour rsoudre le problme.
Il s'appuie pour cela sur une base de signatures des vulnrabilits connues sur un large ensemble de systmes. La solution peut tre obtenue via le lien suivant : http://www.nessus.org/nessus/
66
Si lon recherche une solution compltement libre, nous pouvons nous tourner vers NMAP. NMAP est un outil qui utilise la technique du balayage de ports dans le but didentifier les ports ouverts, ainsi que les services en coute sur un rseau. NMAP (Network Mapper) permet dexplorer les rseaux, et de produire un inventaire des ordinateurs et des services quils hbergent. Il permet aussi didentifier les systmes dexploitation, ainsi que leurs versions. Il sagit donc dun outil trs utile pour les administrateurs de rseaux, car il permet didentifier les faiblesses potentielles. La solution peut tre obtenue via le lien suivant : http://nmap.org/
67
Le but de ce logiciel est de filtrer le trafic des courriels pour liminer les courriels reconnus comme pourriels ou courriels non sollicits. La solution SpamAssassin est issue de la rpute fondation Apache. Cest une solution qui sintgre comme un filtre aux serveurs SMTP tels Postfix ou sendmail. SpamAssassin fait passer un certain nombre de tests au message. En fonction du rsultat de ces tests, il attribue un score au message. Si le score dpasse un certain seuil, le courriel est alors considr comme du Spam. SpamAssassin modifie alors le titre du message (il l'encadre avec ***** SPAM *****). La solution peut tre obtenue via le lien suivant : http://spamassassin.apache.org/
http://www.avast.com/fre/download-avast-home.html
http://free.avg.com/
http://fr.clamwin.com/
68
Les outils d'audit ont pour fonction de dtecter les failles de scurit et de les documenter de manire permettre aux administrateurs de systmes de colmater ces brches. Le processus daudit sappuie sur un ensemble doutils dont deux des meilleurs ont dj t couverts, Nmap et Nessus. ces deux outils, nous pouvons adjoindre SARA ou Security Auditor's Research Assistant qui est un outil d'administration permettant de tester la scurit d'un rseau. SARA tire son origine de SATAN qui est lui-mme un descendant de SAINT. La solution peut tre obtenue via le lien suivant : http://www-arc.com/sara/ .
69
10 Administration
Ladministration matrielle et les contrles physiques sont hors de porte de notre cartographie des solutions libres disponibles pour des raisons videntes.
70
SystemImager est un logiciel qui automatise l'installation de Linux distance, la distribution de logiciels et les dploiements en production. Il est utilis pour faire des installations par clonage, pour distribuer des logiciels, pour appliquer des modifications la configuration et effectuer des mises jour au systme d'exploitation dun rseau de machines Linux.
La solution peut galement tre utilise pour assurer la scurit de la production. En enregistrant limage actuelle de lenvironnement de production avant la mise en production dune nouvelle image, on dispose d'un mcanisme fiable de contingence. Si le nouvel environnement de production est jug instable, il suffit de revenir en arrire en restaurant la dernire image stable de production. Le logiciel peut tre utilis pour grer les environnements suivants: Serveurs web Serveurs de bases de donnes Grappes haute performance Laboratoires informatiques Les environnements de bureau corporatif Etc. La solution peut tre obtenue via le lien suivant : http://sourceforge.net/projects/systemimager
71
opsi est un logiciel qui automatise l'installation des postes de travail Windows distance, la distribution de logiciels, la gestion de la configuration et permet de grer linventaire matriel et logiciel. La solution peut tre obtenue via le lien suivant : http://www.opsi.org/ 10.2.2 La virtualisation La virtualisation est une tendance trs forte actuellement dans le mode des TI. La virtualisation permet de faire fonctionner sur une seule machine plusieurs systmes d'exploitation et/ou plusieurs applications, sparment les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes.
Figure 35 - La virtualisation
Un projet de virtualisation est structurant car il permet de consolider un nombre lev de serveurs physiques et de grer plus efficacement les ressources. Plusieurs solutions existent dans le monde commercial mais la solution en logiciel libre est Xen. Cette solution a t dveloppe par l'universit de Cambridge au Royaume-Uni. Xen permet de faire fonctionner plusieurs systmes d'exploitation virtuels (invits) sur une seule machine hte. La solution peut tre obtenue via le lien suivant : http://www.xen.org/ .
72
Il existe une solution gratuite qui remplit ce mcanisme de contrle du rseau. La solution peut tre obtenue via le lien suivant : http://www.packetfence.org/fr/home.html
73
11 Architecture de scurit
La figure suivante dcrit les mcanismes de scurit les plus importants cartographis dans le cadre de ce travail. Le modle darchitecture base de zones a t utilis car il permet de raliser une bonne sparation des fonctions et ltablissement des points de contrle requis dans une bonne architecture de scurit. Larchitecture de scurit cidessous met en uvre des solutions libres reconnues dans le march pour leur stabilit et leur fiabilit
74
La scurit dclarative est plus gros grains (URI). Elle accomplit gnralement un travail efficace dans la scurit des applications. Elle permet dtablir des rgles daccs au niveau de la ressource (pages web, JSP, images, etc.). Ceci sied parfaitement toutes les applications base de URI (J2EE, REST, etc.). Limage prcdente dcrit comment spcifier une rgle daccs avec OpenSSO.
75
Le modle de rles devra aussi intgrer l'ensemble du tableau et aligner les rles dfinis au niveau dOpenSSO, aux rles dfinis au niveau du serveur de bases de donnes PostgreSQL. Par exemple, le rle gestionnaire permettra daccder aux formulaires web permettant lapprobation des feuilles de temps. Le processus dapprobation permettra galement au gestionnaire de mettre jour la table associe aux feuilles de temps dans PostgreSQL via le rle gestionnaire dfinit au niveau de la scurit de PostgreSQL. La mthode est dcrite la section 6.7.
Un modle de scurit de type RBAC (Role-based Access Control) permet dassocier un utilisateur, un rle daffaires octroyant les accs dune collection logique de ressources web. Ces accs permettent de raliser une fonction daffaires bien dfinie tels que secrtaire, comptable ou gestionnaire dans une entreprise.
76
77
MGL9701 - Projet en gnie logiciel o La sgrgation permet galement linstauration dune sparation des rles (administrateurs de systmes, de la scurit, des donnes, etc.).
78
Solutions
Options CAS ou Central Authentication Service est un systme dvelopp lorigine par luniversit de Yale. Cest un systme dauthentification centralis conu pour les infrastructures J2EE et Spring. JOSSO ou Java Open Single Sign-On est un systme dauthentification centralis conu pour les infrastructures J2EE et Spring. OpenSSO est un systme de contrle daccs web. Cest un systme dauthentification centralis conu pour les infrastructures J2EE et Spring. Il offre aussi les fonctions dautorisation et de fdration didentits.
Table 11 - Les solutions de scurit web les plus populaires
79
La communaut OpenSSO est trs active et les diffrents logiciels enfichables (plugins) dvelopps par la communaut permettent dintgrer la scurit dOpenSSO aux plateformes de dveloppement les plus populaires telles que : Tomcat Spring REST (incluant OAUTH)
Le support de OpenSSO stend mme aux langages scripts les plus modernes. En effet, des plugins ont t dvelopps afin dintgrer par exemple : Grails http://grails.org/plugin/opensso Ruby on rail - http://developers.sun.com/identity/reference/techart/appintegration.html
Finalement, OpenSSO sinstalle trs facilement comme un simple .WAR sur Tomcat, JBOSS, etc.
80
12.7.1 Gestion des sessions On nomme session lensemble des mcanismes permettant de crer et de maintenir comme une suite logique et cohrente les requtes provenant dun utilisateur. Plusieurs solutions techniques soffrent au dveloppeur web afin de rduire les risques en matire de gestion des sessions. Utiliser des identifiants de session non prdictibles et uniques. o Utiliser des lments alatoires ou spcifiques lutilisateur comme : Lheure et la date de connexion, Ladresse IP de lutilisateur Un gnrateur de nombres alatoires Etc.,
81
MGL9701 - Projet en gnie logiciel o Utiliser une fonction de hachage (SHA, MD5) sur le rsultat obtenu ou encore un CAM afin dassurer lauthenticit de didentifiant. Le mcanisme est dcrit la section 3.2. Utiliser les fonctions de gnration de nombres alatoires offertes par les bibliothques cryptographiques de java dcrites la section 7.2 pour gnrer des identifiants de session. Cela permet de s'assurer que personne ne pourra usurper la session de quelquun d'autre. Chiffrer l'identifiant de session pour rendre opaque les informations lies l'identifiant de session. Utiliser une cl de chiffrement connue seulement de l'application web. Utiliser un nouvel identifiant de session chaque nouvelle connexion lapplication. Invalider lancien identifiant de session. Fermer les sessions o En rponse une demande explicite de lutilisateur o En raison dune erreur o En raison dun priode dinactivit
Le tableau ci-dessous propose des valeurs de dure de vie des sessions en fonction du risque. Les dures associes aux sessions inactives correspondent au temps dinactivit dun utilisateur. Les dures associes aux sessions longues correspondent au temps maximal dattente pour obtenir le rsultant dune transaction.
viter les inscriptions automatiques ralises par les robots en utilisant un CAPTCHA (Completely Automated Public Turing test to Tell Computers and Humans Apart) lors de lenregistrement.
82
12.7.2 Dtection des intrusions via ModSecurity Le module ModSecurity est un firewall applicatif. Il fonctionne comme les systmes de dtection dintrusions que lon retrouve dans les rseaux mais a ceci de particulier quil est spcialement conu pour la dtection des intrusions au niveau applicatif (couche 7). Les diffrentes rgles de ModSecurity permettent de dtecter les attaques suivantes lances contre les applications et de les bloquer. Les attaques par XSS (Cross Site Scripting) Les injections de SQL Les injections de Javascript Les injections AJAX Les injections denttes HTTP Le piratage de sessions etc.
Par exemple, afin dliminer une attaque voulant injecter une commande SQL drop table , la rgle suivante sera utilise. SecFilter "drop[[ :space :]]table " Afin de prohiber les tlchargements de fichiers vers votre site web, la rgle suivante sera utilise : SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data
83
12.7.3 Faade et aiguillage via mod_proxy Une autre bonne pratique de la scurit concerne la mise en place dun serveur mandataire (proxy). En plus dtre un requis pour ModSecurity, ce mode de dploiement permet dintroduire une notion de faade, un pattern bien connu dans le monde java. En effet, grce au module mod_proxy, les requtes peuvent tre achemines aux diffrents serveurs rsidant dans lintranet dune manire opaque lutilisateur. Lexemple suivant dmontre laiguillage ralis par mod_proxy. Les adresses IP et les ports des serveurs applicatifs sont totalement invisibles du monde extrieur.
12.7.4 Authentification lannuaire LDAP Afin de pouvoir raliser une gestion du cycle de vie des identits adquate, il est vital de considrer ds le dpart que la source autoritaire didentits sera lannuaire LDAP. Toutes les applications devront salimenter cette source afin dliminer les problmes lis aux multiples bases de comptes (une par application). Dans notre modle, OpenSSO et PostgreSQL utiliseront lannuaire OpenDS comme source didentit et dauthentification.
84
MGL9701 - Projet en gnie logiciel 12.7.5 Chiffrement des donnes sensibles En raison des diffrentes lgislations relatives la protection de la vie prive, les entreprises et donc les dveloppeurs sont tenus de maintenir la confidentialit des donnes nominatives des utilisateurs. Afin de se conformer ces rgles, le dveloppeur dispose des bibliothques cryptographiques intgres au JDK telles que dcrites la section 7.2. Le dveloppeur peut galement utiliser les outils cryptographiques de la base des donnes tel que le programme pgcrypto de PostgreSQL dcrit la section 6.7.3.
12.7.6 Journaux scuriss La production de journaux et leur conservation sont des tches essentielles tant pour les systmes que pour les applications. Les journaux produits, afin dtre utilisables lors dventuelles investigations, doivent tre intgres et libres de toutes modifications. Il existe deux avenues principales lorsque lon dveloppe sur Unix/Linux tel que dcrit la section 4.2. Syslog-ng rsyslog
Dans les deux cas, ces moutures de syslogd sont des versions amliores en termes de fiabilit, de performance et surtout en termes de scurit. Elles comprennent les fonctionnalits requises suivantes : Horodatage des vnements criture des vnements via un tunnel chiffr Signature des journaux Garantie de livraison
Le tableau suivant dcrit notre scnario de dploiement. Il rsume parfaitement les recommandations prcdentes en ce qui a trait la sgrgation logique des composantes des applications et applique galement la lettre, la sgrgation des rles des diffrents administrateurs de la solution. Machines virtuelles MV1 Fonctions Cette machine virtuelle servira grer les autres machines virtuelles. Elle est accessible uniquement par le biais du protocole SSH et les accs sont limits aux administrateurs de systmes. Les journaux sont galement centraliss sur cette machine virtuelle. Cette machine virtuelle excute la solution OpenSSO. Cette machine virtuelle ne peut tre accde que par des administrateurs de la scurit. Cette machine virtuelle excute le serveur mandataire et les modules de scurit de premire ligne. Cette machine virtuelle ne peut tre accde que par des administrateurs de la scurit. Cette machine virtuelle excute les applications. Cette machine virtuelle ne peut tre accde que par des administrateurs dapplications. Cette machine virtuelle excute la SGBD. Cette machine virtuelle ne peut tre accde que par des administrateurs des donnes.
MV2
MV3
MV4
MV5
Une fois les phases de dveloppement et de tests intgrs ralises, il suffira de raliser une mise en grappe de la solution en production afin dassurer volutivit et rsilience aux pannes notre solution. Le balancement de charge tel que dcrit la section 8.2.2 pourra tre mis contribution.
86
13 Conclusion
En conclusion et en rponse aux questions formules dans lintroduction de ce document, il semble vident que le monde du logiciel libre comporte une gamme trs tendue de solutions, et ce, dans tous les domaines de la scurit. Dans bien des cas, lauteur a d faire des choix face la quantit de solutions soffrant lui. lexception de lauthentification biomtrique et de ladministration matrielle, la totalit des fonctions du cadre de rfrence de scurit a t couverte. Il ny a donc pas de relles limitations concernant la conception darchitectures de scurit en libre. La seconde question portait sur la viabilit des architectures de scurit conues partir de solutions libres. Nous devons faire preuve dune certaine prudence mais dans lensemble, il ny a pas de limitations majeures si lon sen tient des solutions prouves. En fait, bon nombre des solutions rpertories dans ce document sont dj utilises dans les entreprises. Des logiciels tels que Snort, SpamAssassin, modSecurity, OpenVPN, OpenSSH, OpenSSO, freeRadius, BIND, Nessus, nmap, Linux HA, SELinux, JCA/JCE et encore bien dautres, sont des solutions solides et prouves. Les architectes peuvent donc, ds lors, intgrer ces solutions leurs architectures sans mettre en pril leurs systmes dinformation. Le monde du logiciel libre offre aussi une alternative intressante aux solutions commerciales dans des secteurs aussi en vogue que le cloud computing et les TI vertes Green IT . La famille de logiciels de Linux HA (High Availability) combine lhyperviseur Xen de luniversit de Cambridge, fournissent une infrastructure technologique fonctionnelle et ayant fait ses preuves. Au chapitre de la scurit logicielle, nous avons mis certaines recommandations en ce qui a trait aux logiciels utiliss dans le cadre des travaux de la Chaire. Nous avons propos un ensemble limit mais efficace de mesures de scurit afin de ne pas dcourager leur mise en application. travers le temps, des mesures additionnelles pourront sajouter en fonction des besoins de la Chaire. Ce document pourra, ce titre, servir de rfrentiel de solutions de scurit afin de bonifier larchitecture de scurit propose.
87
14 Bibliographie
Les rfrences suivantes ont t utilises dans le cadre de ce travail. Elles ont servies valider le cadre de rfrence ou rfrentiel de scurit utilis et organiser linformation dune manire structure. [1] Committee of Sponsoring Organization of the Treadway Commission (COSO) [2] Control Objectives for Business & Related Technology (COBIT), ISACA [3] Information Technology Infrastructure Library (ITIL) [4] ISO/IEC 13335-1:2004, Technologies de l'information -- Techniques de scurit -Gestion de la scurit des technologies de l'information et des communications -- Partie 1: Concepts et modles pour la gestion de la scurit des technologies de l'information et des communications [5] ISO/IEC IS 13335-2:1997, Technologies de l'information -- Lignes directrices pour le management de scurit IT -- Partie 2: Management et planning de scurit IT [6] ISO/IEC TR 13335-4:2000, Technologies de l'information -- Lignes directrices pour la gestion de scurit IT -- Partie 4: Slection de sauvegardes [7] ISO/IEC TR 13335-5:2001, Technologies de l'information -- Lignes directrices pour la gestion de scurit IT -- Partie 5: Guide pour la gestion de scurit du rseau [8] ISO/CEI 27000, Technologies de l'information Techniques de scurit Introduction et vue globale de la famille des standards, ainsi qu'un glossaire des termes communs [9] ISO/CEI 27001, Technologies de l'information Techniques de scurit Systmes de gestion de la scurit de l'information Exigences, Numro de rfrence ISO/CEI 27001:2005(F) [10] ISO/CEI 27002, Technologies de l'information Techniques de scurit Code de bonne pratique pour la gestion de la scurit de l'information, Numro de rfrence ISO/CEI 27002:2005(F) [11] ISO/CEI 27003, Technologies de l'information Techniques de scurit Guide dimplantation dun SMSI [12] ISO/CEI 27004, Technologies de l'information Techniques de scurit Standard de mesures de management de la scurit de l'information
88
MGL9701 - Projet en gnie logiciel [13] ISO/CEI 27005, Technologies de l'information Techniques de scurit Standard de gestion de risques lis la scurit de l'information [14] ISO/CEI 27006, Technologies de l'information Techniques de scurit - Guide de processus de certification et d'enregistrement [15] ISO/IEC 15408-1, First Information technology Security techniques Evaluation criteria for IT security Part 1: Introduction and general model, Reference number ISO/IEC 15408-1:1999(E) [16] ISO/IEC 15408-2, Information technology Security techniques Evaluation criteria for IT security Part 2: Security functional requirements, Reference number ISO/IEC 15408-2:1999(E) [17] ISO/IEC 15408-3, Information technology Security techniques Evaluation criteria for IT security Part 3: Security assurance requirements, Reference number ISO/IEC 15408-3:1999(E) [18] IT Governance Institute, Office of Governance Commerce , Aligning CobiT 4.1, ITIL V3 and ISO/IEC 27002 for Business Benefit, A Management Briefing From ITGI and OGC [19] Stamp, Paul & Khalid, Kark, Information Security Framework, May 2007, Forrester Research [20] Poggi, Sbastien, Novembre 2005, Modle de rfrence de processus, CASES [21] Blouin, Jean, Ministre de la sant et des services sociaux, Architecture de scurit Infrastructure technologique, Volet change, Version 1.5 [22] NIST Special Publication 800-63-1, Information Security Electronic Authentication Guideline [23] NIST Special Publication 800-92, Guide to Computer Security Log Management [24] RSA Laboratories, PKCS #11 v2.20: Cryptographic Token Interface Standard 28 June 2004 [25] IETF, RFC 3161, Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP), August 2001 [26] NISCC, Briefing 10/2006, Secure Web Applications, Development, Installation and security testing [27] CLUSIF, Les dossiers techniques, Grer la scurit dun site de commerce lectronique, Mai 2001, Version 1.0, Commission Rseaux et Systmes Ouverts
89
MGL9701 - Projet en gnie logiciel [28] Groupe CGI Inc, La Gouvernance TI et la scurit informatique, 2008-06-11 [29] Paul Axayacatl, FRAUSTO BERNAL, Utilisation des certificats d'attribut pour acclrer l'usage de la signature lectronique, JRES 2003 [30] Ann Cavoukian, Ph.D., Commissaire linformation et protection de la vie prive/Ontario, Le chiffrement du courrier lectronique : Rien de plus simple!, Aot 1999
Rfrences Web
Fonctions Gouvernance Liens http://www.coso.org/ http://www.isaca.org/ http://www.itil-officialsite.com/home/home.asp http://www.27000.org/ http://sourceforge.net/projects/systemimager http://www.opsi.org/ http://www.cl.cam.ac.uk/research/srg/netos/xen/ http://www.packetfence.org/fr/home.html http://docs.safehaus.org/display/PENROSE/Home http://www.opends.org/ http://www.openldap.org/ http://directory.apache.org/ http://www.sun.com/software/products/directory_srvr_ee/ http://www.jasig.org/cas http://www.sun.com/software/products/opensso_enterprise/index.xml http://openid.net/ http://www.hardtokenmgmt.org/ http://java.sun.com/javase/technologies/security/ http://www.bouncycastle.org/ http://www.truecrypt.org/ http://www.openssl.org/ http://www.openssh.org/fr/index.html http://winscp.net/eng/index.php http://www.chiark.greenend.org.uk/~sgtatham/putty/ http://java.sun.com/javase/6/docs/technotes/guides/security/ http://amanda.zmanda.com/ http://www.openfiler.com/community http://www.splunk.com/ http://en.opensuse.org/AppArmor http://selinux.sourceforge.net/ http://ws.apache.org/rampart/ https://spaces.internet2.edu/display/OpenSAML/Home/ http://static.springframework.org/spring-security/site/index.html http://openvpn.net
Administration
Authentification
Confidentialit
Conservation
Contrle daccs
90
MGL9701 - Projet en gnie logiciel http://www.untangle.com/OpenVPN http://www.freeswan.org http://www.smoothwall.org/ http://www.ipcop.org/ http://www.netfilter.org/ http://www.untangle.com/Firewall http://www.fwbuilder.org/ http://www.openiam.com/ https://opensso.dev.java.net/ http://wiki.interldap.ow2.org/xwiki/bin/view/Main/WebHome http://www.linux-vs.org http://www.linux-ha.org/DRBD http://www.linux-ha.org/Heartbeat http://www.rsync.net/ http://www.openfiler.com/community http://www.ejbca.org/ http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/Cry ptoSpec.html http://java.sun.com/javase/6/docs/technotes/guides/security/crypto/Cry ptoSpec.html#MessageDigest http://www.bouncycastle.org/fr/index.html http://www.ejbca.org/ http://www.signserver.org/ http://www.splunk.com/ 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://www.rsyslog.com http://freshmeat.net/projects/syslog-ng http://sourceforge.net/projects/lassolog http://www.nagios.org/ http://www.ossec.net/ http://www.snort.org/ http://www.untangle.com/Intrusion-Prevention http://www.ossim.net/ http://clamav.net/ http://www.untangle.com/Virus-Blocker http://www.untangle.com/Spyware-Blocker http://www.untangle.com/Spam-Blocker http://spamassassin.apache.org/
Disponibilit
Intgrit
Irrvocabilit
Surveillance
91