Architecture multi-sites, multi-services. Maxence Dunnewind



Documents pareils
Étude d une architecture multi-sites, multi-services

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Windows Internet Name Service (WINS)

1 LE L S S ERV R EURS Si 5

Figure 1a. Réseau intranet avec pare feu et NAT.

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Projet Sécurité des SI

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Cisco Certified Network Associate

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

Sécurité des réseaux Firewalls

25/08/2013. Vue Nagios. Vue Nagios. Le réseau du lycée

Spécialiste Systèmes et Réseaux

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Le filtrage de niveau IP

pfsense Manuel d Installation et d Utilisation du Logiciel

Migration vers l'open-source de l infrastructure de pare-feu du campus CNRS d Orléans

Installer le patch P-2746 et configurer le Firewall avancé

Livre blanc Haute disponibilité sous Linux

NOTIONS DE RESEAUX INFORMATIQUES

MISE EN PLACE DU FIREWALL SHOREWALL

Contrôle d accès Centralisé Multi-sites

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

[WEB4ALL PRESENTATION ET TARIFS VPS INFOGERES]

Présentation du modèle OSI(Open Systems Interconnection)

Routeurs de Services Unifiés DSR-1000N DSR-500N DSR-250N

Mettre en place un accès sécurisé à travers Internet

Table des matières Nouveau Plan d adressage... 3

Catalogue «Intégration de solutions»

Services Réseaux - Couche Application. TODARO Cédric

Sécurisation du réseau

Aperçu technique Projet «Internet à l école» (SAI)

Service d'annuaire Active Directory

Les clés d un réseau privé virtuel (VPN) fonctionnel

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Bravo! Vous venez d acquérir un routeur large bande à 4 ports Conceptronic C100BRS4H.

CAHIER DES CLAUSES TECHNIQUES

FACILITER LES COMMUNICATIONS. Le gestionnaire de réseau VPN global de Saima Sistemas

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Principes de DHCP. Le mécanisme de délivrance d'une adresse IP à un client DHCP s'effectue en 4 étapes : COMMUTATEUR 1. DHCP DISCOVER 2.

«clustering» et «load balancing» avec Zope et ZEO

ADF Reverse Proxy. Thierry DOSTES

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

le nouveau EAGLEmGuard est arrivé. Dissuasion maximum pour tous les pirates informatiques:

Licence professionnelle Réseaux et Sécurité Projets tutorés

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

Présentation du logiciel Free-EOS Server

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Fonctions Réseau et Télécom. Haute Disponibilité

LINUX REDHAT, SERVICES RÉSEAUX/INTERNET

Extrait de Plan de Continuation d'activité Octopuce

Allocation de l adressage IP à l aide du protocole DHCP.doc

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Mise en œuvre d une Gateway HTTP/HTTPS avec un serveur de Présentation en DMZ

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Smart Notification Management

PLAN. Industrialisateur Open Source LANS DE SECOURS INFORMATIQUES PRINCIPES GENERAUX ETAT DE L ART SELON BV ASSOCIATES

Solution Haute Disponibilité pour Linux

SUJET DES FINALES NATIONALES Sujet jour 1 version 1

Tutoriel XBNE Connexion à un environnement XBMC distant

PACK SKeeper Multi = 1 SKeeper et des SKubes

Windows Server 2012 R2 Administration

Projet Système & Réseau

I. Description de la solution cible

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Créée en 2002, la société PineApp est pionnière sur le. Le siège de la société se trouve aux États-Unis, avec des

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

Serveur virtuel infogéré

Étendez les capacités de vos points de vente & sécurisez vos transactions.

Unitt Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

Architecture de serveurs virtualisés pour la communauté mathématique

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Dossier d analyse et de comparaison 2012

Proxy et reverse proxy. Serveurs mandataires et relais inverses

FileMaker Server 14. Guide de démarrage

FAMILLE EMC RECOVERPOINT

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

Installation d'un TSE (Terminal Serveur Edition)

Technique et architecture de l offre Suite infrastructure cloud. SFR Business Team - Présentation

ACTION PROFESSIONNELLE N 4. Fabien SALAMONE BTS INFORMATIQUE DE GESTION. Option Administrateur de Réseaux. Session Sécurité du réseau

EMC DATA DOMAIN HYPERMAX

TAGREROUT Seyf Allah TMRIM

Quelques propositions pour une organisation des ressources réseaux prenant en compte les besoins du LACL

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

DNS ( DOMAIN NAME SYSTEM)

Cours CCNA 1. Exercices

Ici se présente un petit récapitulatif de ce qu il se passe sur le réseau : les connexions bloquées, le matériel du boitier, les mises à jour, etc.

LAB : Schéma. Compagnie C / /24 NETASQ

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Transcription:

Architecture multi-sites, multi-services Maxence Dunnewind 19 mai 2009

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met : Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AS IS AND ANY EX- PRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTIC- ULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LI- ABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCURE- MENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE, DATA, OR PROF- ITS ; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (IN- CLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1

Résumé Ce document décrit la mise en place d une architecture d hébergement de services multisites. Elle est conçue pour proposer des services variés (aussi bien du courrier électronique qu un serveur de jeu) à de nombreux utilisateurs simultanés. Le matériel est réparti sur plusieurs sites géographiques, tant pour la sécurité que cela apporte que pour une meilleure réactivité du réseau. Des méthodes et outils ont été choisis pour minimiser la force de travail nécessaire à la maintenance et au déploiement. A partir de la configuration minimum (un site géographique, un administrateur) la croissance de l audience est suivie par l ajout de matériel et de nouveaux sites avec un temps de réaction qui évite la mobilisation de ressources inutiles. Un soin particulier a été apporté à l utilisation de techniques largement répandues, déjà éprouvées et dont la maintenance évolutive est assurée par des équipes externes dynamiques. L architecture tire profit, au fil des mois, des nouvelles versions. L administrateur ayant pour tâche première d assurer la stabilité de l ensemble.

Table des matières 1 Topologie de l installation 2 1.1 Topologie géographique............................. 2 1.2 Architecture matérielle.............................. 3 2 Les services utilisés en interne 6 2.1 Systèmes d exploitation............................. 6 2.2 Firewall...................................... 6 2.3 VPN........................................ 10 2.4 DHCP....................................... 12 2.5 DNS........................................ 14 2.6 Les outils de supervision............................. 15 2.6.1 Nagios................................... 15 2.6.2 Munin................................... 16 3 La virtualisation 18 4 Services utilisés sur les machines 20 4.1 Serveur Web................................... 20 4.2 Serveur de mail.................................. 20 4.3 Base de données................................. 22 4.4 Serveur IRC.................................... 23 4.5 Autres services.................................. 24 4.6 Sauvegarde.................................... 24 5 Architecture 26 5.1 Postes de coût.................................. 26 5.2 Gestion des risques................................ 26 5.2.1 Panne de BIND.............................. 27 5.2.2 Un serveur MySQL tombe........................ 28 5.2.3 La liaison entre les centres est coupée................. 28 5.3 Gestion de la sécurité des réseaux........................ 29 1

Chapitre 1 Topologie de l installation 1.1 Topologie géographique La localisation géographique des centres serveurs est adaptée à l accueil des services nécessaires à l hébergement d un MMORPG 1 et capable de supporter un grand nombre d utilisateurs. Les deux configurations possibles sont : Installation centralisée en un seul lieu Pas d installation spare 2 ou installation située dans le même lieu. Installation spare situé dans un deuxième lieu. Installation fonctionnelle décentralisée sur n sites Installation spare dans des sites dédiés Mélange d installations principale et spare sur chaque site. Le choix d une configuration se fait sur les paramètres suivants : audience : nombre d utilisateurs simultanés, bande passante totale consommée, etc. humain : quelle présence sur chaque zone, en combien de temps, etc. financier : coût d installation et de maintenance dans chaque centre par rapport à une installation centralisée technique : capacité d administration à distance? Interconnexion des centres? La configuration décrite ici est celle répartissant l installation sur plusieurs sites. Le cas mono-site peut en être déduit. Les services critiques 3 sont dupliqués ou sauvegardés. Cependant, l architecture multi-sites permettra d étendre les services spare des différents éléments, pour des raisons d efficacité (meilleur temps de réponse, plus de bande passante) et non d intégrité du service. L installation est déployée sur 2 sites : centre 1 et centre 2 dans la suite du document. Afin de soutenir une charge plus importante ou de renforcer l accueil d un zone géographique dans laquelle l audience est particulièrement forte, les centres additionels seront déployés sur le même modèle. 1 Jeu en réseau massivement multi-joueurs 2 Un élément dit spare est utilisé en cas de panne de l élément principal dans le but d assurer une continuité de service 3 permettant le fonctionnement de l installation 2

1.2 Architecture mate rielle La disposition physique des serveurs permettra d optimiser la re partition des services. Cette re partition tient compte de parame tres comme les performances du re seau sur chaque site. Nous posse dons 2 he bergements ayant chacun les caracte ristiques suivantes : Capacite d he bergement d une baie (40U) He bergement dans un datacenter professionnel, offrant une architecture capable de supporter la baie (e lectricite, refroidissement) Acce s 24h/24 7j/7 Connectivite 100Mbps ou 1Gbps pour une baie (baie relie e par fibre au re seau de l ope rateur) Chaque baie est configure e de la me me fac on. L he bergeur fournit suffisamment de PDU4 pour alimenter la totalite des e quipements de la baie ainsi que deux ports re seau sur un switch leur appartenant. Fig. 1.1 Baie ca ble e accueillant douze serveurs Un switch gigabit 48 ports est connecte au port fourni par l he bergeur. Un deuxie me switch, servant au re seau de monitoring (IPMI, Service Processor, KVM, etc.) est connecte sur le pre ce dent. Chaque serveur est connecte au re seau principal via un lien gigabit, et au re seau de supervision, via un ca ble de die. La liaison entre le re seau gigabit et le switch fourni par l ope rateur passe par un serveur de die, permettant de centraliser les transferts entre le re seau interne et l exte rieur (con4 Power Distribution Unit 3

nexions distantes, accès web). Ce serveur héberge les services tels que le firewall, le serveur DHCP et le DNS secondaire. Dans le but de limiter les SPOF 5, un second serveur est positionné afin de parer à la panne du serveur central. Un port supplémentaire est requis sur le switch du fournisseur pour assurer la redondance. Chaque site est ensuite connecté au réseau Internet via la connexion du fournisseur (celui-ci assurant une connexion symétrique au minimum de 100Mbps symétriques). Les sites ne sont pas connectés entre eux de façon directe (une liaison physique dédiée est chère et inutile). Cependant, comme les différents sites doivent être interconnectés pour les besoins d administration, des outils logiciels sont utilisés afin d abstraire la présence d Internet et de simuler l existence d un seul réseau local. Dans les baies qui ne disposent pas d équipement d aération spécial, on évite de remplir entièrement la baie car ceci entraînerait une surchauffe des équipements. Les systèmes de refroidissements fournis par l hébergeur (aération par le sol) sont insuffisant dans le cas d une baie entièrement équipée. Sans équipement de ventilation adapté (plateau, porte ventilée), on laisse un emplacement libre tous les 4 emplacements. 5 Single Point Of Failure 4

L architecture d un centre correspond au schéma ci-dessous : Fig. 1.2 Architecture réseau de chaque centre 5

Chapitre 2 Les services utilisés en interne Certain nombre d outils sont requis pour la gestion de ce réseau hétérogène (que ce soit du point de vue de l architecture matérielle ou géographique). Ils ont pour but d assurer le fonctionnement, l administration et la sécurité du réseau. Les services utilisés sont le VPN 1, le DNS 2 et le DHCP 3 pour l administration, Nagios et Munin pour la supervision. Chaque site est aussi sécurisé par un firewall logiciel installé sur les serveurs frontaux. 2.1 Systèmes d exploitation La totalité des machines sont équipées d un système d exploitation GNU/Linux. Suivant les besoins de chaque machine, les versions utilisées varient (par exemple sur les machines utilisant des containers LXC une Debian/sid avec un kernel 2.6.29 est requise alors que sur les machines à base de KVM tourne une Debian/lenny avec un kernel 2.6.26). La majorité des machines sont dans configuration type suivante : Système d exploitation Debian Lenny Noyau en version 2.6.26 2.2 Firewall Les serveurs d un site physique communiquent sur Internet à travers une passerelle unique, c est-à-dire qu un seul serveur accède réellement à Internet. Dans le cas d un serveur spare, la configuration est dupliquée à partir du serveur principal. Le point de passage unique permet de filtrer les communications et d assurer la sécurité du réseau interne. Deux types d actions contrôlent toutes les communications : la redirection et le filtrage. La redirection des communications Seule la passerelle est visible de l Internet. Pour pouvoir utiliser les serveurs internes, les communications sont redirigées. Pour cela, la reconnaissance des communications est 1 Virtual Private Network, réseau privé virtuel 2 Domain Name System, gestion des correspondances nom/ip 3 Attribution automatique des IP et de la configuration réseau 6

effectuée sur plusieurs critères dont : Adresse IP Port Service utilisé Chaque combinaison d un ou de plusieurs de ces paramètres permet de rediriger la communication vers un serveur du réseau interne, sur un port choisi. Ce système est appelé NAT 4. Fig. 2.1 Redirection basée sur l IP La redirection par IP est utilisée lorsque le serveur interne correspondant possède une IP pour lui seul. Cela diminue les problèmes liés au fait d avoir plusieurs instances du même service sur une même IP. Fig. 2.2 Redirection basée sur l IP et le port La redirection à un niveau supérieur de la communication (applicatif) sert au demultiplexage des services associés à une IP unique. Par exemple, l http 5. Ce type de redirection 4 Network address translation 5 Protocole utilisé pour la visualisation des sites web 7

au niveau applicatif nécessite qu une connexion soit déjà en place avec la passerelle. On parle alors de proxy 6. Afin de limiter l utilisation de la passerelle à son but premier (gestion des communications), l instance du serveur web Apache qui est utilisé en tant que proxy n est pas localisée sur la passerelle, mais sur une machine virtuelle séparée. Fig. 2.3 Redirection au niveau applicatif L avantage de l utilisation d un proxy est que, de par son utilisation sur la couche applicative, il ne nécessite pas d utiliser plusieurs IPs. Si l on se place au niveau connexion, la passerelle n a pas connaissance de la présence éventuelle d un nom de domaine dans la communication, elle ne peut donc pas rediriger la communication en se basant sur cet élément. Bien que ce ne soit pas la solution mise en oeuvre, il reste possible d utiliser différents ports pour les connexions http, ce qui est contraignant, car l utilisateur est obligé de spécifier le port à chaque fois 7. En résumé, on utilise 3 méthodes pour la reconnaissance des communications : Identification Avantages Inconvénients 1 IP publique = 1 redirection Redirection simple et Consommation importante indépendante du service d adresses IP publiques 1 couple IP, port = 1 redirection Consommation plus faible Obligation du client de d adresses IP publiques spécifier le port 1 Nom de domaine = 1 redirection 1 seule adresse IP nécessaire Obligation d un proxy par application sur la passerelle Difficulté d identification pour les autres services Le filtrage des communications Afin de sécuriser les accès au réseau interne, on profite de la centralisation des communications sur la passerelle pour y configurer un outil de filtrage. L outil utilisé est le logiciel netfilter présent par défaut sur le système. On l utilise à travers l interface iptables. Celle-ci n étant pas très ergonomique (une suite de règles n est pas très lisible), on utilise le logiciel Shorewall, qui permet de décrire de manière plus compréhensible la configuration, en découpant celle-ci par hôte. A chaque lancement, celui-ci se chargera de générer 6 Système permettant une redirection au niveau applicatif 7 Par défaut, les ports 80 ou 443 sont utilisés pour les connexions http ou https 8

les règles pour iptables. Les serveurs hébergeant des services de confiance, tout le trafic sortant est autorisé par défaut. Le but du filtrage est de sécuriser au maximum les connexions aux serveurs du réseau. Pour cela, on se base sur le principe de la liste blanche : toute communication entre Internet et le réseau interne est interdite par défaut. Les communications autorisées sont rajoutées explicitement dans les règles. Cependant, même si c est une première sécurité, cela ne permet pas de sécuriser, par exemple, les failles applicatives. Les services standards (ils sont complétés en fonction du déploiement) autorisées sont : web (http, https) ssh mail (pop(s), smtp(s), imap(s)) gestionnaire de sources (svn, git, mercurial) autres connexions à un serveur de jeu Shorewall découpe la configuration par hôte. Pour chaque hôte, un répertoire différent est utilisé, contenant 2 fichiers params et rules. Le premier défini les variables, le second les règles à appliquer : PUBLIC4= 1. 2. 3. 4 Listing 2.1 Fichier de définition des variables Listing 2.2 Fichier de définition des règles ACCEPT net $FW: ${PUBLIC4:.} DNAT net l o c : 1 9 2. 1 6 8. 2 5. 1 1 3 tcp http, https ${PUBLIC4:.} DNAT net l o c : 1 9 2. 1 6 8. 2 5. 1 1 0 : 2 2 tcp 22110 ${PUBLIC4:.} DNAT net l o c : 1 9 2. 1 6 8. 2 5. 1 1 4 : 2 2 tcp 22114 ${PUBLIC4:.} DNAT net l o c : 1 9 2. 1 6 8. 2 5. 1 1 5 : 2 2 tcp 22115 ${PUBLIC4:.} Ces fichiers de configuration attribuent l adresse IP publique 1.2.3.4 à l hôte, et mettent en place 4 règles de redirection. Tous ces fichiers sont inclus via la directive INCLUDE dans le fichier /etc/shorewall/rules. Afin de permettre l utilisation du VPN, on ajoute au firewall une interface utilisée pour le tunnel. Cela s effectue par l ajout de la ligne : l o c tun0 dhcp, t c p f l a g s, nosmurfs dans le fichier de configuration des interfaces. L interface tun0, créée par le client VPN, est ainsi reconnue comme faisant partie de la zone locale. Pour faciliter l administration, on ajoute une règle permettant d utiliser les adresses publiques à partir du réseau privé. Cela revient à autoriser une connexion du LAN vers le LAN, en passant par les interfaces publiques. Cela s effectue par l ajout d une règle de la forme : DNAT a l l + l o c : 1 9 2. 1 6 8. 2 5. 1 1 0 tcp ssh, http, https \${PUBLIC4:.} Ceci précise que, si l on essaie d accéder à l adresse définie dans la variable PUBLIC4, on sera redirigé sur l adresse interne 192.168.25.100 (comme c était déjà le cas précédemment). 9

La directive all-+ permet de préciser que cette règle doit également être appliquée lorsqu on essaie d utiliser les adresse IP publiques à partir du LAN. 2.3 VPN Les serveurs de chaque site ont une adresse IP privée et constituent un LAN (Local Area Network). Ces réseaux, privés, sont interconnectés entre eux au travers de l Internet. Pour communiquer entre deux serveurs situés dans deux centres différents, il est nécessaire d utiliser les connexions publiques, ce qui complique les communications. Il serait en outre impossible d utiliser les noms d hôtes ou les IP internes. De même, pour accéder à des fonctionnalités étendues, il serait nécessaire de définir de nombreuses règles supplémentaires sur les firewalls. Par exemple, si l on souhaite sauvegarder des informations contenues sur un serveur du premier centre sur un des serveurs du deuxième centre, tout en interdisant l accès à ce serveur de sauvegarde à partir de l Internet, il faudra rajouter une règle dans les firewalls afin d autoriser seulement les transferts venant du centre 1. Ceci pose également le problème que si, au sein d un même centre, plusieurs serveurs essaient d accéder au serveur de sauvegarde, il devient compliqué de n en autoriser que certains, car tous les serveurs du premier centre seront vus comme un seul serveur sur l Internet (à moins d attribuer plusieurs IP publiques). Fig. 2.4 Les communications entre les centres traversent l Internet Dans le schéma ci-dessus, on voit bien que pour le deuxième centre, la seule IP connue est 1.2.3.4, il est donc difficile de n autoriser que certains des serveurs présents dans le premier centre, car ils partagent tous la même IP. Cela oblige de restreindre les accès en sortie sur le firewall du centre 1. Un autre problème du point de vue de la sécurité est que tout transfert d informations entre les deux centres se fait à travers Internet. Il est donc nécessaire de chiffrer chaque communication entre les deux centres, ce qui représente une augmentation de la complexité de configuration. Il serait en plus souhaitable d utiliser des 10

mécanismes d authentification des machines afin de parer à des attaques de type spoofing 8. Afin de remédier à ces divers problèmes (complexité de mise en oeuvre, regroupement des serveurs sous une même IP, etc), on utilise un VPN. Ce système permet de créer une connexion chiffrée et permanente entre les deux centres (plus exactement, entre les deux passerelles), et d y faire communiquer les serveurs de chaque centre de façon transparente. Cela revient à abstraire l existence d Internet, on se retrouve alors dans la même situation que si tous les serveurs étaient dans le même réseau privé. L utilisation d un VPN présente les avantages suivants : Toutes les communications sont automatiquement chiffrées Les passerelles de chaque centre sont authentifiées, pour empêcher tout intrus de rejoindre le VPN Les adresses internes sont communiquées de part et d autre du réseau (on peut donc identifier chaque serveur / machine virtuelle individuellement via son adresse privée) Fig. 2.5 Les communications entre les centres traversent l Internet via un VPN En pratique, la configuration utilisée est la suivante : Premier centre : plage d IP 192.168.25.0/24 Deuxième centre : plage d IP 192.168.30.0/24 Serveur VPN : 192.168.181.19 Passerelles : 192.168.25/30.254 Passerelles spare : 192.168.25/30.253 Chaque passerelle est authentifiée à l aide d une clé RSA unique. Un utilisateur extérieur qui souhaiterait se connecter au VPN se verra rejeté, même dans l hypothèse où il usurpe l adresse IP d une passerelle. Cette clé est générée par les outils fournis avec l utilitaire OpenVPN 9, disponibles dans /etc/openvpn/2.0. Afin de limiter la configuration sur le client, un fichier décrivant les règles de routage est créé par client et stocké dans /etc/openvpn/ccd. Il contient la liste des routes devant 8 Une personne tierce pourrait prétendre être 1.2.3.4 9 http ://openvpn.net/ 11

être ajoutées sur le poste se connectant au VPN. Ces configurations sont ensuite récupérées et installées dynamiquement au démarrage du client VPN. Listing 2.3 Configuration du routage par client push route 1 9 2. 1 6 8. 1 4. 0 2 5 5. 2 5 5. 2 5 5. 0 push route 1 9 2. 1 6 8. 2 5. 0 2 5 5. 2 5 5. 2 5 5. 0 push route 1 9 2. 1 6 8. 2 9. 0 2 5 5. 2 5 5. 2 5 5. 0 push route 1 9 2. 1 6 8. 1 8 1. 0 2 5 5. 2 5 5. 2 5 5. 0 Le fichier de configuration précédent donne accès à 4 nouveaux réseaux à travers l interface du VPN. Le mécanisme CCD 10 permet de n activer que certaines routes sur les clients, en plus de minimiser la configuration client. Lorsqu un nouvel administrateur réseau est recruté et doit se connecter au VPN, il lui suffit de récupérer la configuration fournie par défaut, de copier la clé qui lui aura été attribuée dans /etc/openvpn/client.crt ainsi que le certificat du serveur dans /etc/openvpn/ca.crt, et enfin de spécifier le serveur distant via la directive remote-server dans /etc/openvpn/client.conf. Une fois ces manipulations effectuées, il suffit simplement de redémarrer le démon OpenVPN. L opération est la même pour ajouter un nouveau centre au VPN. Une interface tun0 est créée sur le système, et les routes définies dans la configuration client sont ajoutées sur cette interface. 2.4 DHCP Le réseau de chaque machine est configuré soit : Configuration en dur Configuration distribuée à l aide d un serveur DHCP La méthode manuelle assure que la configuration réseau correspondra à celle explicitement décrite dans le fichier de configuration. Elle implique cependant de se souvenir de la configuration de chaque serveur afin de ne pas se retrouver avec deux serveurs ayant les mêmes paramètres. La configuration automatisée par DHCP permet d avoir une gestion centralisée, donc plus facile à maintenir. Utiliser le protocole DHCP pour la configuration du réseau au démarrage nécessite de plus qu un service soit capable d assurer la communication avec le serveur DHCP. Dans le cas contraire, la machine physique risquerait de se retrouver hors du réseau, et donc injoignable pour l administration, ce qui impliquerait le déplacement d un personnel. Afin de limiter ce risque, les machines physiques sont configurées de façon à ne pas utiliser le DHCP. En revanche, toutes les machines virtuelles utilisent ce service. En effet, même en cas de panne du client DHCP, il est toujours possible pour l administrateur de se connecter à la machine physique, et donc d administrer les machines virtuelles. Cela implique que le serveur DHCP n attribue pas les adresses IP utilisées pour les configurations statiques (des plages sont réservées à cet effet). Afin de limiter la problématique due à la maintenance de multiples configurations tout en assurant un minimum d indépendance des différents serveurs DHCP (chaque instance doit en effet être capable de fonctionner même sans la présence du ou des serveurs maîtres), 10 Client config directory 12

Fig. 2.6 La configuration DHCP est centralisée et versionnée nous utilisons l outil de gestion de sources Mercurial 11. Il permet de versionner l évolution de fichiers au fil du temps. Décentralisé, il est capable de posséder plusieurs copies du dépôt à plusieurs endroits, et de les synchroniser entre elles. Les copies du dépôt servant de référence pour la configuration DHCP sont partagées via un export NFS 12. Il suffit d ajouter une ligne de configuration sur les clients 13 pour pouvoir synchroniser la version locale et la version distante, sans avoir à posséder une authentification sur le serveur distant. Cette opération est faite une seule fois, à l installation d un nouveau centre. Le partage NFS passe par le VPN ce qui permet de n autoriser que les adresses du réseau local et empêche toute connexion directe à partir d une IP publique (venant de l Internet). La configuration du serveur DHCP ressemble à : group { option r o u t e r s r e n t r e. t l d. ; option domain name s e r v e r s r e n t r e. t l d ; subnet 1 9 2. 1 6 8. 2 9. 0 netmask 2 5 5. 2 5 5. 2 5 5. 0 { } host d n s s l a v e. r e n t r e { hardware e t h e r n e t 5 2 : 2 6 : 8 4 : A3 : 2 8 : 1 9 ; f i x e d address d n s s l a v e. r e n t r e. t l d. ; } host pokme. r e n t r e { hardware e t h e r n e t 0 0 : f a : 7 0 : 4 7 : 9 d : 7 d ; f i x e d address pokme. r e n t r e. t l d. ; } host j a u l a. r e n t r e { hardware e t h e r n e t 0 0 : aa : b9 : f 2 : 3 e : b5 ; f i x e d address j a u l a. r e n t r e. t l d. ; } host proxy. r e n t r e { hardware e t h e r n e t 0 0 : 7 f : 7 8 : 8 e : 7 8 : dc ; 11 http ://www.selenic.com/mercurial 12 Protocole permettant l export d un répertoire à travers le réseau 13 Le système étant décentralisé, la notion de serveur et de client est conventionelle 13

} } f i x e d address proxy. r e n t r e. t l d. ; Dans cet exemple, on voit que le sous-réseau 192.168.29.0/24 est utilisé pour la machine rentre.tld. Chaque machine virtuelle est identifiée par une section host, spécifiant l adresse matérielle de l interface virtuelle ainsi que son nom de domaine complet. Ceci assure qu une même machine virtuelle possédera toujours une même IP. La directive fixedaddress recherche (soit dans le fichier /etc/hosts, soit via une requête DNS) une correspondance nom de domaine / IP existante pour le nom associé. Si cette association existe, alors le DHCP attribue l adresse IP correspondante à cet hôte. En définissant seulement la correspondance nom de domaine / IP dans la configuration du serveur DNS, on assure une configuration réseau par DHCP ainsi qu une résolution de nom correcte. Cette configuration est stockée sur un dépôt Mercurial partagée sur différents hôtes via NFS. Le montage du partage NFS s effectue, via la commande mount, seulement lorsque l administrateur en a besoin. Ce montage est configuré dans le fichier /etc/fstab : r e n t r e. t l d : / e t c /dhcp3 /mnt/ r e n t r e. t l d / e t c /dhcp3 n f s tcp, noauto 0 0 s n i f. t l d : / e t c /dhcp3 /mnt/ s n i f. t l d / e t c /dhcp3 n f s tcp, noauto 0 0 Les deux répertoires de configuration des serveurs maîtres sont montés dans /mnt/<hote>/etc/dhcp3 ce qui permet ensuite la synchronisation des configurations via Mercurial. 2.5 DNS Lorsqu un grand nombre d ordinateurs/serveurs sont utilisés, il devient difficile de nommer chaque serveur par son adresse IP. Pour éviter cela, un service DNS 14 est utilisé. Celuici permet d associer l adresse IP de chaque serveur à un nom, en suivant une hiérarchie de nommage. La configuration est la suivante : le TLD 15 utilisé est tld.. Ensuite, chaque machine posséde un nom unique, l associant à son adresse IP. Son nom complet est donc de la forme nommachine.tld. Les machines hébergeant des machines virtuelles, possédant leur propre adresse IP, ont un enregistrement supplémentaire par machine virtuelle, de la forme machinevirtuelle.machine.tld. On trouve donc dans la configuration DNS des informations sous la forme : r e n t r e IN A 1 9 2. 1 6 8. 2 9. 1 d n s s l a v e. r e n t r e IN A 1 9 2. 1 6 8. 2 9. 2 proxy. r e n t r e IN A 1 9 2. 1 6 8. 2 9. 3 pokme. r e n t r e IN A 1 9 2. 1 6 8. 2 9. 4 j a u l a. r e n t r e IN A 1 9 2. 1 6 8. 2 9. 5 Ces informations correspondent aux machines virtuelles dont la configuration DHCP a été décrite précédemment. On voit donc ici que la machine principale rentre.tld possède l adresse IP 192.168.29.1. Les machines virtuelles hébergées sur le serveur rentre possédent les adresses 192.168.29.2 à 192.168.29.5. Si le DNS permet de faire l association nom de domaine IP, il doit aussi permettre de faire l association inverse. En effet, on peut avoir plusieurs noms de domaine par IP, ou plusieurs IP pour un nom de domaine. Pour cela, on configure les enregistrements inverses : 1 9 2. 1 6 8. 2 9. 1 IN NS r e n t r e 1 9 2. 1 6 8. 2 9. 2 IN NS d n s s l a v e. r e n t r e 14 domain name system 15 top level domain, le nom de domaine de plus haut niveau 14

1 9 2. 1 6 8. 2 9. 3 IN NS proxy. r e n t r e 1 9 2. 1 6 8. 2 9. 4 IN NS pokme. r e n t r e 1 9 2. 1 6 8. 2 9. 5 IN NS j a u l a. r e n t r e On sait alors que l adresse IP 192.168.29.2 correspond à l hôte dnsslave.rentre.tld. Toujours dans l optique de la centralisation des configurations préservant la disponibilité du service, nous utilisons les capacités de réplication proposées par le serveur DNS BIND. La configuration pour la totalité du réseau VPN est hébergée sur un serveur DNS global. Chaque centre d hébergement fait tourner son propre serveur DNS, qui se contente de synchroniser sa configuration sur le serveur maître. Cela permet, même en cas de coupure de liaison avec le serveur DNS principal, d obtenir l information depuis le DNS esclave fonctionnel sur chaque centre. Chaque passerelle (192.168.25/30.254 et 192.168.25/30.253 ) possède une instance du serveur BIND utilisable uniquement par son réseau interne. Afin d éviter l exploitation du serveur BIND pour des attaques de type déni de service, la récursion 16 a été désactivée. En cas de panne du serveur DNS maître, le serveur DNS esclave est sollicité. Il est déclaré dans les enregistrement DNS pour la zone, il sera automatiquement utilisé si le serveur maître est injoignable. Le serveur maître synchronise les informations sur les noms de domaines directement via un protocole interne. La configuration de la zone d un serveur esclave utilisé dans le VPN est : zone t l d. { type s l a v e ; f i l e t l d ; masters { 1 9 2. 1 6 8. 1 8 1. 1 9 ; } ; } ; 2.6 Les outils de supervision Il est impossible pour un administrateur réseau de superviser manuellement la totalité des ressources. Il lui faut un mécanisme d alerte et un moyen de visualiser l évolution des ressources. 2.6.1 Nagios L ordonnanceur de tâches Nagios a été choisi pour sa robustesse. Il permet à l administrateur de programmer le lancement de tests à intervalle régulier sur les hôtes souhaités. Si jamais un résultat indiquant une défaillance est détecté, l administrateur est averti par email, SMS, Jabber, IRC, etc. Les tests sont effectués en local (nombre de processus, d utilisateurs connectés, charge processeur/mémoire, etc.) ou à distance (connectivité du serveur web, disponibilité d un site ou d une page web, fonctionnement d un serveur mail, etc.). Des tests ont également été développés pour tester des services plus particuliers, dans le cas de protocoles spécifiques à des serveurs de jeu. On utilise au minimum les tests suivants : Présence de la connectivité réseau (ping) 16 Un serveur DNS peut résoudre les domaines qu il ne connaît pas en délégant la requête aux serveurs ayant autorité sur les TLD correspondant 15

Fonctionnement d un serveur Web Fonctionnement du serveur DNS Fonctionnement du serveur mail Charge d un serveur Accès ssh Serveur rsync Fonctionnement du serveur DHCP Fig. 2.7 Le serveur de supervision Nagios permet de monitorer l intégralité du réseau Chacun de ces tests est effectué sur un ou plusieurs serveurs, en fonction des services à tester. Suivant la fonction testée, les tests peuvent être effectués soit via le réseau interne (VPN), soit via l accès externe (Internet). Cette deuxième solution est utilisée pour tester la vivacité d un service accessible au public. Le VPN apporte, dans le cas de la première solution, une grande facilité d administration, en permettant l utilisation des noms d hôtes et des IPs privées même entre les 2 sites distants. Si une erreur est détectée, une notification est émise à un contact à travers Jabber. Si le problème n est pas réglé dans les 30 minutes, une notification par email est alors envoyée. Si cette configuration est ici utilisée pour tous les tests, il n en reste pas moins possible de l ajuster différemment pour chaque test. Nagios gère la hiérarchie réseau d un site : si la passerelle d un des sites tombe en panne, la totalité des services est interrompue. Nagios détecte cette situation et notifie l administrateur seulement de la chute de la passerelle, évitant ainsi l envoi massif de notifications pour chacun des services indisponibles. 2.6.2 Munin En complément du superviseur Nagios, qui teste l état des services à un moment donné, Munin garde un historique de l état des systèmes. Il enregistre périodiquement les informations du système, telles que la charge système, l occupation mémoire, le trafic réseau, mail ou web, etc. 16

Un serveur est configuré sur le réseau et vérifie, périodiquement, la liste des noeuds sur lesquels il récupére des informations. Chaque noeud fournit des statistiques via un démon qui se charge d envoyer les informations souhaitées à chaque connexion du serveur. Le serveur génère ensuite périodiquement les graphiques présentés sous forme de page web. Ce service utilise exclusivement les adresses internes, via le VPN, ce qui permet d éviter la transmission de ces informations sur Internet. Fig. 2.8 Statistiques réseau présentées par Munin 17

Chapitre 3 La virtualisation La virtualisation permet de faire fonctionner sur une seule machine plusieurs systèmes d exploitation et/ou plusieurs applications, séparément les uns des autres, comme s ils fonctionnaient sur des machines physiques distinctes 1. Suivant l isolation souhaitée (isolation simple ou émulation du système), deux solutions ont été retenues. Une simple isolation crée juste un système dans un répertoire. Des services sont ensuite lancés au sein de ce système. Il n y a pas de virtualisation du système, mais seulement un cloisonnement des applications. Pour utiliser ce cloisonnement, nous nous basons sur le service lxc 2. 1 http ://fr.wikipedia.org/wiki/virtualisation 2 http ://lxc.sourceforge.net/ Fig. 3.1 Fonctionnement du projet libvirt 18

Le principal inconvénient de cette technologie est la difficulté à gérer les ressources CPU et mémoire. On peut en effet souhaiter limiter précisément la quantité de ressources allouée à un système et aux applications y tournant. Avec les technologies de virtualisation, ce n est plus le système qui est émulé, mais le serveur. Ceci permet une meilleure gestion de la séparation des processus et de la répartition de la charge. Pour cette technologie, les logiciels de virtualisation Xen et KVM sont utilisés. Dans les deux cas (machine virtuelle ou simple cloisonnement), l application dispose d une machine dédiée, et posséde un accès total sans risquer de mettre en danger les autres systèmes (hôtes ou hébergés) tournant sur la même machine physique. A quelques rares exceptions près (passerelle/firewall), les machines physiques hébergées ne servent qu à gérer des machines virtuelles, qui hébergent les services. L utilisation de Xen ou de KVM dépend des processeurs intégrés à la machine hôte. Les processeurs les plus récents possèdent un jeu d instruction VT 3. Dans ce cas, on utilise le virtualiseur réel KVM. Dans le cas contraire, on utilise un paravirtualiseur (Xen). La gestion des machines virtuelles est effectuée à l aide de la librairie libvirt, qui implémente une API permettant de gérer des systèmes de virtualisation indépendemment du (para)virtualiseur utilisé. L espace disque est géré via LVM 4. Grâce à LVM on redimensionne dynamiquement une partition/un système de fichiers pour suivre la croissance des services. Le jour où une machine virtuelle nécessite un espace plus important que ce qui lui avait été alloué, il suffit - après éventuellement l ajout d un disque - de redimensionner sa partition, et ce de façon totalement transparente. Les fonctionnalité de snapshot de LVM, sont utilisés pour faire des sauvegardes instantanées des systèmes. 3 Instructions optimisées pour la virtualisation 4 Gestionnaire de volumes logique 19

Chapitre 4 Services utilisés sur les machines 4.1 Serveur Web L application utilisée pour héberger les services web est Apache. Celui-ci peut donc héberger différents sites sur une même installation, et possède également des fonctionnalités plus poussées (interprétation des différents langages de scripts, utilisation en tant que proxy pour relayer les communications entre différents serveurs, etc). L identification de chaque site se fait via son nom de domaine. Ceci est appelé une configuration par vhosts 1. 4.2 Serveur de mail Un serveur de mail permet de centraliser la gestion des mails des développeurs en leur fournissant une boîte mail propre au projet. Par ailleurs, un outil de gestion de liste de diffusion (mailman) est utilisé pour les listes de support et de développement. Le serveur de mail est un ensemble de plusieurs logiciels : Serveur SMTP (postfix) : il permet la communication des mails entre les différents serveurs disponibles sur Internet Serveur POP/IMAP (dovecot) : ces protocoles permettent aux personnes (utilisateurs ou administrateurs) possédant un compte Web de visualiser leurs mails, que ce soit à l aide d un webmail ou via un client distant (thunderbird, evolution) Antispam : greffé sur le serveur SMTP, il permet le filtrage des spams. Le logiciel spamassassin est utilisé. La technologie du greylisting 2 est utilisée lors de la réception d un mail, ce qui permet de réduire grandement le nombre de spam à traiter. Antivirus : Le logiciel clamav analyse le contenu des mails et des pièces jointes, et détecte les éventuels virus. 1 hôte virtuel 2 Le mail est systématiquement refusé la première fois. Seuls les serveurs correctement configurés (ce qui est rarement le cas des serveurs de spam) renverront le mail 20

Fig. 4.1 Récupération du serveur de mail pour un domaine Afin d éviter l interruption de service en cas de panne du serveur mail primaire, un serveur secondaire est mis en place. L organisation des serveurs mails se définit dans les enregistrement DNS. Une priorité est associée à chaque enregistrement de serveur. Le serveur avec la priorité la plus faible est utilisé tant qu il est fonctionnel. Sinon, le serveur ayant la priorité supérieure sera utilisé. 21

4.3 Base de données Les bases de données sont nécessaires aux applications pour le stockage d informations (serveur de jeu, compte email, compte système, statistiques, etc.) et l interrogation rapide. Le SGBD 3 utilisé est MySQL. Pour les applications nécessitant d importantes ressources, le serveur MySQL est situé sur un serveur indépendant du serveur s y connectant. Afin de tolérer une panne sur le serveur SQL, un serveur esclave est installé. Celui-ci se contente de synchroniser les données avec le serveur maître. Dans le cas d une panne du serveur maître, un mécanisme de détection de panne 4 et de redondance permet au serveur de secours de prendre la place du serveur maître. Fig. 4.2 PhpMyAdmin : l administration d une base de donnée via une interface Web 3 Système de gestion de base de données 4 heartbeat + CARP 22

4.4 Serveur IRC L IRC 5 est un système de communication instantanée. Un réseau IRC est hébergé sur un serveur. Sur ce réseau, des utilisateurs s enregistrent, communiquent entre eux ou parlent en groupe dans des salons de discussion. Coté administration, des limitations d accès sont définies et des opérateurs au niveau de chaque canal contrôlent la participation aux salons de discussion. Certain d entre eux ont le contrôle de la totalité du réseau. Ce réseau IRC sert à héberger des salons de support et de développement. Fig. 4.3 XChat - un des nombreux clients IRC 5 Internet relay chat 23

4.5 Autres services En plus de ces services principaux, d autres services viennent compléter l installation. On peut noter les installations suivantes : Serveur Wiki (outil de travail et d expression communautaire) Serveur de fichier, distribution des fichiers à mettre à disposition du public (nouvelle release de logiciel) Serveur de jeu, permettant la gestion des inscrits, des parties, etc. Fig. 4.4 Wikipedia : un projet communautaire autour d un Wiki 4.6 Sauvegarde La sauvegarde permet, en cas de problème, de redémarrer les services dans un temps le plus court possible et aussi d éviter les pertes de données. Les principaux paramètres pris en compte pour les sauvegardes sont la fréquence souhaitée et la quantité d informations à sauvegarder. En dehors des technologies de réplication intégrées dans les logiciels (BIND, MySQL, etc.), nous utilisons 2 outils de sauvegardes : Rsync DRBD Rsync est un outil permettant d effectuer de la sauvegarde incrémentielle. Exécuté à intervalle régulier, il sauvegarde les fichiers ayant été modifiés depuis la dernière exécution. Avec l option link-dest, un répertoire contenant l intégralité du contenu est obtenu. En réalité, seuls les fichiers modifiés sont sauvegardés, les autres sont seulement reliés par des liens durs à la dernière version du fichier dans les sauvegardes précédentes. 24

DRBD agit au niveau block device 6. Il synchronise deux partitions distantes (à travers le réseau) en temps réel, et de façon totalement transparente pour le système de fichier et, a fortiori, pour l utilisateur. Si la partition est fréquemment utilisée (beaucoup d écritures), la bande passante consommée peut être importante. La latence du réseau doit donc être la plus faible possible, dans ce cas DRBD est configuré en réseau local pour tirer parti du lien gigabit. Si la partition est faiblement utilisée la partition distante est placée sur un site physique différent afin de minimiser les pertes en cas d accident. 6 En dessous du système de fichiers 25

Chapitre 5 Architecture L ensemble des techniques décrites dans les chapitres précédents font émerger des propriétés importantes de l ensemble de l installation. La politique de sécurité, par exemple, est induite des méthodes mises en place pour exploiter le VPN et les firewalls. Il est aussi possible de tirer des conclusions sur le matériel, les prestations et le travail nécessaire à la mise en place et à la maintenance de l installation. 5.1 Postes de coût Comme brièvement expliqué dans le début du document, l installation d une infrastructure réseau implique plusieurs postes de dépenses. Chaque poste est estimé proportionnellement à la dimension de l infrastructure (avoir une seule baie n a pas les mêmes implications que d avoir 2 baies à 1200km d écart). Les postes les plus importants sont au nombre de 4. Le premier est l emploi d un administrateur système. On estime qu un administrateur est capable de gérer une baie, soit jusqu à 40 serveurs. Dans l infrastructure précédente, cela représente jusqu à 400 machines virtuelles, qui doivent être capables de supporter 25 000 utilisateurs simultanés. Il est donc nécessaire d avoir au moins un administrateur par site. Le deuxième point est intrinsèquement lié au premier, puisqu il concerne la gestion des interventions sur site. Il est en effet important d être capable de quantifier le temps passé à l administration régulière des machines. En plus de ce temps, il faut pouvoir évaluer les probabilités de pannes impliquant de fait une intervention (distante ou locale) de l administrateur, ce qui peut se calculer avec des variables telles que le MTBF 1. Les deux derniers postes de dépenses concernent l équipement matériel. On compte d une part le coût de l hébergement chez le fournisseur d accès, et d autre part le coût du matériel en lui-même (serveurs, switchs, cables, ventilations, etc.). 5.2 Gestion des risques Une telle infrastructure a pour but de permettre à l utilisateur d exploiter un ou plusieurs services. Dans l idéal, la disponibilité des services est permanente. Cependant, en pratique, plusieurs cas mènent à une interruption de service, dont : 1 Temps moyen entre pannes, http ://fr.wikipedia.org/wiki/temps moyen entre pannes 26

Panne logicielle (ex : un processus est tue par le syste me suite a une fuite me moire trop importante) Panne mate rielle (ex : une alimentation tombe en panne) Piratage (ex : suite a l exploitation d une faille applicative, une machine virtuelle a e te compromise) Sinistre (ex : un des centres prend feu, est inonde ) Fig. 5.1 Un datacenter ayant pris feu Dans chacun de ces cas, nous devons e tre capables de remettre en fonctionnement les services le plus rapidement possible. Une partie des processus est automatise e. Comme vu pre ce demment, la quasi-totalite des syste mes est re plique e. Les me thodes de re plications sont classe es en 2 cate gories : Me thodes inte gre es au logiciel (MySQL, BIND) Me thodes externes (DRBD, Rsync, Mercurial, LVM) V oici une se lection de sce narios de panne de diffe rentes services. 5.2.1 Panne de BIND Comme de taille dans la section DNS, BIND posse de son propre syste me de re plication, ainsi que sa propre gestion des priorite s. Un serveur BIND est de clare maı tre pour une zone, et d autres serveurs (1 par centre) s y synchronisent. En cas de panne du serveur BIND maı tre, l e volution de la configuration sera impossible. Cependant, les serveurs esclaves seront automatiquement utilise s. Ils posse deront alors soit la dernie re configuration, soit une des pre ce dentes configurations enregistre es dans une pe riode infe rieure au TTL2. 2 Une zone DNS posse de un parame tre TTL, permettant de spe cifier la pe riode entre deux mises a jour du client 27

Tant que chaque réseau local a accès à au moins 1 serveur DNS, il n y aura pas d interruption de service. 5.2.2 Un serveur MySQL tombe MySQL possède sont propre système de synchronisation et de réplication. Il est ainsi possible de paramétrer un nombre quelconque de serveurs se synchronisant automatiquement au serveur maître. Cependant, MySQL ne gère pas le balancement si jamais le serveur maître tombe en panne. L application Heartbeat est utilisée : elle va détecter la chute du serveur et déclencher le mécanisme de balancement (via une IP partagée au travers de CARP). Le balancement est fait en quelques secondes, assurant une indisponibilité minimale. Lors du retour du serveur maître, le balancement inverse devra être effectué à la main, avec une synchronisation des serveurs. Fig. 5.2 Architecture MySQL redondante 5.2.3 La liaison entre les centres est coupée Il est possible, pour une raison quelconque, que la liaison entre les différents centres soit coupée, sans pour autant que les centres soient déconnectés d Internet. Cela implique que les services sont toujours accessibles publiquement, mais que chaque centre doit être capable de fonctionner de façon indépendante. Comme détaillé précédemment, les services critiques (DNS et DHCP) possèdent des instances sur les passerelles de chaque centre, ce qui assure une continuité de fonctionnement sur ce point. De même, tous les services de sauvegarde (snapshot LVM, DRBD ou Rsync) ne fonctionneront plus s ils travaillaient avec un centre distant. Ceci n empêchera pas le bon fonctionnement des services, mais entraînera une absence de sauvegarde récente en cas de panne d un service. Dans la majorité des cas, les services refonctionneront d eux-même. Cependant, dans certains cas (comme le serveur SQL vu ci-dessus), il pourra être nécessaire d effectuer une synchronisation manuelle. De même, si des configurations sauvegardées via Mercurial sont modifiées, il faudra resynchroniser les différentes versions entre elles. On est alors dans une situation dite de split-brain : à la suite d une rupture de connexion, chacun des hôtes se considère comme le maître, et écrit donc de nouvelles données. Lors du retour de la 28