5. Architecture et sécurité des systèmes informatiques 5.1 Architecture technique anthony.medassi@jbdelasalle.com
Sens et portée de l étude : Être capable d identifier les principales architectures techniques. Notions et contenus : Client-serveur Médiateur (middleware) Transactionnel Intégration Portail
Avant de comprendre les communications entre plusieurs machines: Appréhender l architecture matérielle d une machine Comprendre son architecture logicielle
Collecte de l information : Le clavier Le scanner Stockage de l'information : La mémoire vive Le disque dur Le graveur CD/DVD La clef USB.
Traitement de l'information : Circuits de la carte mère autour du microprocesseur (uc) Transmission de l'information : Les circuits Les bus Connectiques réseaux Présentation de l'information : Ecran Imprimante
1 réseau constitué d au moins 2 ordi. Eléments d interconnexion: Switch Hub Routeur (connexion de n réseaux logiques différents) Carte réseau: Filaire Wifi Câble RJ45 Réseau électrique + CPL
1 Mo = 1024 Ko CD : 700 Mo DVD : 4,7Go Clé USB : 8/16/32 Go Blu-Ray : 50 Go soit 5H à 23Mbps (25 ima/s en 1080p) DD : 1 000 000 Mo -> 1 000 Go -> 1To 1 photo : 5mp -> environ 2Mo soit 4000 photos/clé 1 vidéo d 1h30 en qualité acceptable : 700 Mo 1 document texte d 1 page : 30Ko soit 0,03 Mo
60000 50000 40000 30000 50000 20000 10000 0 8000 4700 700 2 0,03 CD DVD CleUSB8g Blu Ray Photo Texte Capacite
1200000 1000000 800000 600000 400000 200000 0 Blu Ray DD1To
Attention : B=Byte soit octet en français b=bit soit 0 ou 1 Connexion Adsl à 8Mbps transfert 8Mb par seconde donc 1Mo/s: Transfert d une photo de 2Mo : 2s Transfert d une vidéo de 700Mo : 700s soit 12 minutes Débit dans un réseau local à 100 Mbps ( 12,5Mo/s): Transfert d un fichier audio de 5 Mo : ½ seconde Débit support stockage: (moyenne lecture) USB2 : 40 Mo/s DD : 80 Mo/s SSD : 300 Mo/s
Matériel installé dans une machine ne sert à rien sans Système d exploitation. (OS) Les OS ne fournissent pas les applications nécessaires à une entreprise Regroupement d applications capable de fournir une interface utilisateur. (Pas forcément graphique) : Attribution des différentes ressources Gestion des interruptions (IO, réseau ) Gestion de mémoire Gestion de processus
Poste de travail : (32 bits ou 64 bits) Microsoft Windows: Windows XP Windows Vista Windows Seven, 8, Unix/Linux avec différentes distributions: Ubuntu (actuellement 13.10) Mandriva RedHat Linux -> moins utilisées car moins connues Apple: Mac OS X Snow Leopard -> 10.6 Mac OS X Lion -> 10.7 10.8 Mountain Lion, 10.9 Mavericks
Microsoft Windows 2003, 2008, 2008R2, 2012 Server Linux Debian Mac OS X Server Série IBM i (Totalement propriétaire et fermé en harmonie avec le matériel IBM)
4 grandes familles: IOS : Objective C Microsoft : Windows phone Android : JAVA + OS «Linux» BlackBerry OS Devenus de réels OS: Capable de gérer des SGF Organisation des ressources Connexions réseaux: 3G Wifi BlueTooth USB
Séparer traitement, stockage et présentation Rendre unique et cohérente l information Pouvoir utiliser des architectures matérielles et logicielles différentes
SERVICE: rendu par un serveur consommé par un client PROTOCOLE: le serveur écoute le client initie la communication PARTAGE avec plrs clients en même temps HETEROGENEITE : Indépendance matérielle et logicielle
REDIMMENSIONNEMENT: Possibilité d ajout ou retrait de clients Evolution du serveur possible INTEGRITE: Données centralisées sur le serveur Données communes à tous à un instant t. SOUPLESSE: évolution des clients et/ou serveur tant que le protocole ne bouge pas
En C/S, répartition en 3 parties: L interface utilisateur La logique des traitements La gestion des données Liaison entre client et serveur : MIDDLEWARE MIDDLEWARE: se charge des communications entre C et S
Selon la répartition des charges attribuées à chaque tiers: CS de données: le serveur assure le traitement, stockage et gestion des données. Le client ne possède que le logiciel d accès à la base. (Requêtes SQL) CS de présentation: Affichage des pages et fenêtres prises en charge par le serveur: X-Window et Xorg Terminal Server CS de traitement: le serveur gère également les traitements de données Ex: procédures stockées, triggers,
Trafic Réseau Réseau
Présentation distribuée : habillage graphique transmis au client. type PC-to-host, VNC Présentation déportée : le client ne s occupe que de l affichage (Terminal-X). Traitements distribués : traitements distribués entre le client et le serveur. (RPC, CORBA) Gestion déportée des données le plus répandu. L application sur le client et données sur le serveur Gestion distribuées des données : variante du CS de données. Une partie des données prise en charge par le client.
Correspond au CS de données Le client délègue la gestion des données à un service réseau Avantages: On garde la puissance de la machine cliente pour les traitements et l affichage Intégrité des données préservée
Inconvénients du 2 tiers : Machine cliente fortement sollicitée Maintenance plus complexe Solution, le CS 3 tiers: Données toujours gérées de façon centralisée. Présentation toujours prise en charge par le client. Logique applicative prise en charge par un serveur intermédiaire.
3 niveaux indépendants au niveau matériel Poste client est un client léger (Thin Client) Le client prend en charge: la présentation + qqs vérifications de saisies + qqs mises en forme. Client souvent pages internet ou intranet. (HTML)
Un inconvénient subsiste pour le 3 tiers : La machine dédiée aux traitements peut être fortement sollicitée Solution : Répartition des charges de traitements sur plusieurs services -> N tiers Réservé pour des SI importants : forte charge de calcul Stockage important Développement d applications Objet permettant leur communication à travers le réseau. MiddleWare Objet avec RPC DCOM, Corba, Java RMI
Ensemble de couches réseaux et services logiciels Permet le dialogue entre les différents composants d une application répartie. Dialogue basé sur un protocole applicatif commun, défini par l API (Application Programming Interface) du middleware. Objectif : unifier accès et manipulation des services disponibles sur le réseau, afin de rendre l utilisation transparente Concrètement : Appel de morceaux de code à distance
Application(s) Serveur(s) MIDDLEWARE RESEAU
Conversion: Utilisé pour la communication entre machines mettant en œuvre des formats de données différents Adressage: Identifie la machine serveur sur laquelle est localisé le service. Sécurité: Garantit la confidentialité des données à l aide de mécanismes d authentification et de cryptage. Communication: Gère la connexion au serveur, préparation de l exécution des requêtes, récupération des résultats
Architecture J2E (Java) : Java Enterprise Edition
Inclus toutes les fonctionnalités associées au service Impose : Téléchargement et installation du logiciel client sur les postes clients Paramétrage du logiciel client Ouverture du port vers l extérieur si l on veut une utilisation hors intranet (Risques) Mise à jour du logiciel client à chaque mise à jour du serveur
Trouver une solution aux contraintes du client lourd. Uniformiser le protocole de communication vers le protocole «universel» : HTTP Installation de modules HTTP sur le serveur WEB Utilisation du navigateur internet pour faire office de client Peu importe la version du serveur tant que le serveur web a été mis à jour. Développement de pages web dynamiques (PHP, ASP, Servlet Java ) Inconvénient : Toutes les fonctionnalités ne sont pas disponibles par client Web
Client uniquement web browser. Protocole : HTTP Serveur en face : Apache ou IIS C/S simple de notre point de vue : Notre web browser émet une demande de page au serveur web à son port 80 Le serveur web qui écoute en permanence, traite la demande et envoie la page web grâce au protocole HTTP. C est le 1 er tronçon de la communication
Traitement de la demande par le serveur Web: Simplement envoyer une page HTML dont il dispose déjà Générer une page html à partir d un programme (page web dynamique): PHP : Le code est interprété et génère le contenu HTML : Possibilité de connexion à une BD Servlet : Génération du code HTMl à partir d objets JAVA: Peuvent être répartis sur différentes machines -> JAVA RMI Les protocoles du 2 ème tronçon ne passent jamais la barrière du serveur WEB
C est le navigateur internet Il s appuit sur des standards existants sur toutes les plateformes: Poste de bureau, Portable, Smartphone, tablette Les clients lourds laissent leur place au navigateur internet De plus en plus de produits disposent d un serveur WEB pour les administrer. (ex: Domotique)
BD? Serveur d application? Client Dialogue? Serveur WEB ActiveX Applet Javascript CGI ASP Servlet JSP PHP
Dans une entreprise, beaucoup de services sont mis en place par le service informatique: Pour une utilisation par extranet Pour une utilisation en interne: Avec différenciation d accès selon les services (comptables, production )
Un serveur rend un (ou plusieurs) service(s) Un service un protocole un port Souvent inaccessible de l extérieur «directement» Un service un logiciel client associé Serveur Web Client Web : Internet Explorer, Firefox Serveur Mail Client Mail : Outlook, Thunderbird Serveur FTP Client FTP : Filezilla X services -> X logiciels client
Permet d avoir plusieurs services sur le même serveur Une connexion se fait sur un ordinateur, et sur un port Chaque port comprend un protocole Numérotés de 0 à 65535 1024 premiers réservés De 1024 à 49151 : Programmes utilisateurs De 49152 à 65535 : Ports dynamiques Ex de ports utilisés couramment: Port 80 : protocole HTTP Port 21: protocole FTP Port 25 : protocole SMTP
Sécurisation d une machine Ne pas offrir de services que l on ne veut pas rendre Risque d infection virale
Ouverture du port 80 pour héberger le serveur Web de l entreprise 80
Filtre les flux de données selon: Origine IP Destination IP Origine Port TCP ou UDP Destination Port TCP ou UDP Interface réseau Souvent intégré au Routeur
Cacher l identité de sa machine sur internet Proxy = Mandataire On mandate un serveur pour effectuer les requêtes sur internet Possibilité d authentification pour restriction: Plages horaires Groupes utilisateurs
Zone démilitarisée : zone non soumise aux règles du firewall Sous réseau isolé
Politique de sécurité mise en œuvre sur la DMZ: Réseau externe vers la DMZ autorisé ; Réseau externe vers le réseau interne interdit ; Réseau interne vers la DMZ autorisé ; Réseau interne vers le réseau externe autorisé ; DMZ vers le réseau interne interdit ; DMZ vers le réseau externe interdit.
Intranet = réseau interne d une organisation Accès à tous les services proposés Extranet = Accès au portail de l organisation à partir d internet Certains services proposés par extranet (mails, gestion de fichiers) Connexion possible de chez soi ou d une autre organisation Internet = Réseau de réseaux. Accès aux «vitrines» des différentes organisations (Fournisseurs, Clients, Administrations )
Inscription de la machine dans le réseau Intranet de l organisation De n importe où à partir d Internet: À partir du domicile (accès adsl) À partir du domicile d un client (accès 3g/4g) Possibilité d accéder à tous les services internes Inutile de proposer ces services en Extranet Tunnel sécurisé -> Communication chiffrée
C est un réseau local virtuel: Possibilité de «simuler» plusieurs réseaux à partir du même switch. Séparation d un réseau physique en plusieurs réseaux différents: 1 pour l administration 1 pour la production 1 pour la comptabilité
Environnement informatique à travers lequel des transactions sont enchaînées. Implique l intervention d applications ou d acteurs Internes à l entreprise Externes à l entreprise Engendre des sélections et màj de multiples BD Peut concerner tout type de flux: Financier Administratif Commerciaux
Service de commande en ligne Màj du stock Facturation Chaîne logistique
Architecture de serveur permettant de gérer pics de trafic Gestion de transactions: Traiter plusieurs transactions en même temps Revenir à un état antérieur de la bd (annulation des dernières transactions) suite à Échec d un process (incident technique) Crash du système Mise en place de dispositifs à tolérance de pannes pour assurer une continuité de services: Alimentations redondantes Disques RAID Onduleur
Ensemble de BD gérées par des sites différents Apparaissent à l'utilisateur comme une base unique Répartition car accès BD limité par: Accès disque Débit réseau Nombre d accès concurrents Issues de 2 types de conception
Distribution des objets de l analyse globale sur différents sites:
Fédération de diverses bases locales en 1 base globale
Sous table obtenue par sélection de lignes et/ou de colonnes sur un site unique 3 types de fragmentation Horizontale Découpage d une table par sélection de lignes Ex: Vendeur par région Verticale Découpage d une table par sélection de colonnes Ex pour une table PRODUIT Prod : ref, design, cout Commercial : ref, design, px, conditionnement Mixte Fragments dupliqués ou répartis sur les sites
Création de copies multiples de BD sur plusieurs sites Après transactions, les copies peuvent différer Ces copies doivent converger vers un état identique et cohérent à terme
Avantages: Amélioration de performance en utilisant la BD la plus proche pour interrogation Haute disponibilité (en cas de panne) Serveurs plus petits -> moins chers Les inconvénients: Assurer la convergence des copies Assurer transparence aux utilisateurs
MAJ synchrone: Màj temps réel de toutes les copies Couteux en ressource Système plus complexe (reprises de pannes) MAJ asynchrone Màj différée à des instants fixés
Ex: les données comptables tenues à jour dans les agences sont dupliquées en lecture seulement vers le siège pour consolidation Mise à jour en fin de journée par exemple Siège Social Dépôts & Retraits Agence Agence Agence
Les informations appartiennent au site primaire, qui a le monopole des mises à jour. Les données sont diffusées automatiquement vers les sites qui ont un droit de lecture seulement. Copie PRIMAIRE Copie SECONDAIRE Siège Social Cours des devises Agence Agence Agence
Chaque département met régulièrement à jour les données des autres départements Commercial Copie Maître Temps différé Financier Stocks Copie Maître Copie Maître
Chaque site modifie la donnée PRIX puis diffuse immédiatement la modification Modification du PRIX Produit Copie Maître Temps réel Produit Produit Copie Maître Copie Maître
Traditionnellement prise en charge par un serveur transactionnel, de type IBM CICS CICS : Customer Information Control System Assure la consultation et la mise à niveau des bases de données Possibilité d utiliser des outils de MDM : Master Data Management pour garder la cohérence des données sur les différents sites
Secteur financier: Infrastructures informatiques des places boursières Réseau mondial de transaction interbancaire SwiftNet Swift : Society for Worldwide Interbank Financial Telecommunication Les plates-formes de gestion de cartes de crédit
Secteur voyages: Systèmes de réservation centralisés (GDS) GDS : global distribution systems Les serveurs jouent le rôle d'intermédiaire entre: Prestataires: Compagnies aériennes Chaînes d'hôtels Locations voitures Tour operators Et revendeurs finaux (agences). Les plus importants en réservation: L'espagnol Amadeus Les américains Sabre, Galileo ou WorldSpan.
EAI : Enterprise Application Integration Architecture middleware qui permet à des applications de gérer leurs échanges Permet l échange de données en pseudo temps réel
Connecteurs d interface: Surveillent les évènements de l application et transmettent les données vers l EAI Fournissent à l application les évènements de l EAI Les ASBO (Application Specific Business Objects) Objets de métier spécifiques Sont mappés pour transformer ces données spécifiques aux applications (ASBO) en données standards à l EAI : les BO Couche de transport qui achemine les données: FTP, JMS (Java message Service), SOAP sur HTTP
Ces objets reflètent le modèle de données global des informations des différents processus de l'entreprise. Avant transmission à une application cible: Subissent des traitements (collaborations): Ex: complétion des informations en interrogeant une autre application
L application A de gestion de commande crée un nouvel article L application A veut le rendre disponible à l application B de suivi d anomalies techniques L application A veut le rendre disponible à l application C de publication web
L appli A créer le nouvel article Un trigger ajoute à une table d évènement cette création d article Un connecteur EAI (JDBC) surveille cette table toutes les 10 secondes et découvre l évènement Le connecteur copie l ASBO Après mapping l EAI obtient un BO Une collaboration Co1 est effectuée sur le BO pour obtenir un ASBO pour le connecteur B Une collaboration Co2 est effectuée sur le BO pour obtenir un ASBO pour le connecteur C Et enfin envoie de l objet en création à B et C
Avant : développement d interface spécifique à chaque application et connexion point à point -> réseau complexe de flux Màj des données au fur et à mesure Flux de données facilement réutilisable à partir de l EAI Coût de migration réduit si changement d une des applications. (Connecteur à modifier)
Traitements lents pour les flux massifs (ex: màj de plusieurs milliers de données) Coût initial élevé Resynchronisation des bases inévitable après incident
Identifier les données métiers de l entreprise: Articles, clients, fournisseurs, commandes Définir les applications maîtres: L application de gestion fournisseur sera maître des données fournisseurs Ces données apparaîtront comme BO dans l EAI
Partage des informations par l EAI: Le service des achats a créé les fournisseurs qui permettront d'identifier les articles utilisés par le service de production. Ce service de production construira les produits vendus aux clients par le service des ventes. Lesdits clients seront suivis par le SAV...
Enterprise Service Bus Différence majeure avec l'eai: Intégration complètement distribuée grâce à l'utilisation des conteneurs de services. Ces "mini-serveurs" contiennent la logique d'intégration et peuvent être déposés n'importe où sur le réseau.
Business Activity Monitoring permet de suivre l'activité d'un processus métier. Business Process Management a pour but de maîtriser l'enchaînement des échanges entre applications.
Propriétaires: Oracle Enterprise Service Bus IBM DataPower XI50 WebSphere Process Server V7 d'ibm BizTalk Server de Microsoft Libres JBoss ESB de Jboss Open ESB, de SUN/Oracle Servicemix de la fondation Apache
Porte d entrée aux services de l entreprise Courrier, Agenda, Contacts Forum Moteur de recherche dédié Identification Extranet Propose l enregistrement éventuel de nouveaux utilisateurs Souvent la page d accueil de l explorateur internet dans l entreprise Authentification unique -> Single Sign On (SSO) Portlet : Composant enfichable pour portail personnalisé