Memoire Online
Memoire Online
Memoire Online
Informatique et Télécommunications >
Sécurité informatique
de SUPEMIR
( Télécharger le fichier original )
par Angeline Kone
SUPEMIR - Ingénieur 2011
DEDICACE
Je dédis ce mémoire à la famille
NGOUMBOUTE.
REMERCIEMENTS
Le travail présenté dans ce mémoire couronne deux années de formation académique ; il a
été concrétisé avec le soutien de plusieurs personnes. Leur disponibilité, leurs critiques,
conseils et suggestions ont été d'un apport indéniable. Nous voulons leur adresser nos
sincères remerciements.
Allusion à
· Nos enseignants,
· Mon collègue de stage IDRISSOU-TRAORE Khaled pour son étroite collaboration lors de
la réalisation de ce projet,
Que ceux-ci et ceux dont les noms n'y figurent pas, puissent trouver l'expression de leur
encouragement dans ce travail.
AVANT PROPOS
Le mémoire de fin d'étude est un prolongement naturel de l'immersion de l'étudiant dans le
monde professionnel, qui comme de coutume, permet à celui-ci de couronner sa dernière
année universitaire. Il met en exergue les qualités de réflexion de l'étudiant et souligne ses
aptitudes d'analyse globale à partir d'une expérience professionnelle.
SOMMAIRE
DEDICACE I
REMERCIEMENTS II
SOMMAIRE IV
INTRODUCTION GENERALE 9
PREMIERE PARTIE : 10
I. ETUDE DE L'EXISTANT 11
1. Câble coaxial 13
3. Fibre optique 15
III. EQUIPEMENTS D'INTERCONNEXION 16
1. Répéteur 17
2. Hub 18
3. Pont 18
4. Switch 18
5. Routeur 19
6. Passerelle 19
7. Firewall 19
I. ADRESSAGE IP 20
III. ROUTAGE 22
3. Messagerie 24
4. Annuaires 25
5. Service web 25
1. Généralités 27
3. Solution à la sécurité 29
CHAPITRE VI : LES CONNEXIONS EXTERNES ET INTERNES 31
I. ACCES A INTERNET 31
I. ETUDE DE L'EXISTANT 37
1. Critique de l'existant 40
I. PLANIFICATION DU DEPLOIEMENT 43
1. Matériels utilisés 43
2. Pré-requis 44
4. Architecture de déploiement 47
II. LES DIFFERENTS SERVICES ET L'ADRESSAGE 47
1. Services 47
2. Adressage 48
II. SECURITE 98
3. Coordination 102
CONCLUSION 103
WEBOGRAPHIE 104
GLOSSAIRE 105
CAHIER DE CHARGES
· Présentation de l'architecture existante
· Description du projet :
- Besoins fonctionnels
Ø Déployer un serveur DNS qui permettra la résolution de nom dans le réseau local,
Ø Déployer un serveur Web pour une haute disponibilité en cas de rupture du lien avec le
réseau public,
Ø Déployer un serveur de fichiers à fin de mieux gérer les droits d'accès aux informations de
l'école.
Ø La centralisation de l'administration,
Ø La sécurité des accès (local, mot de passe : longueur, caractères spéciaux, politique de
réutilisation), sécurité wifi,
Ø La documentation du réseau.
INTRODUCTION GENERALE
Toute entreprise existante d'une certaine taille dispose en général d'un réseau informatique ;
même celles qui n'en sont qu'à une idée de projet viable y pense très souvent à une éventuelle
mise en oeuvre d'un réseau informatique au sein de leur future structure. Vu l'importance des
informations qui sont souvent véhiculées dans les réseaux, ceux-ci requièrent un certain
degré de sécurité. Toutefois le constat est que ceux qui en font usage de ces réseaux ignorent
parfois les risques auxquelles ils sont exposés lorsqu'une mesure de sécurité n'est mise en
place. Les réseaux les plus sécurisés disposent très souvent d'un outillage tant matériel que
logiciel à fin de s'assurer une sécurité optimale. Pour certaines entreprises, vu les moyens
dont ils disposent, ils ne peuvent se prémunir d'un tel arsenal. C'est à la recherche de
solutions pouvant pallier aux problèmes de disponibilité et de sécurité au sein du réseau de
SUPEMIR que le thème « Conception et déploiement d'une architecture réseaux
sécurisée : cas de SUPEMIR » qui nous a été confié.
Dans notre démarche, il sera donc question pour nous de présenter dans un premier temps
une étude théorique de conception d'une architecture réseau sécirisé, enfin nous présenterons
un cas pratique de l'implémentation d'une architecture réseau sécurisée.
PREMIERE PARTIE :
CONCEPTION D'UNE ARCHITECTURE
RESEAU SECURISEE (THEORIE).
CHAPITRE I : ARCHITECTURE PHYSIQUE
Rappelons qu'un réseau informatique est un maillage de micro-ordinateurs interconnectés
dans le but du partage des informations et du matériel redondant. Quelque soient le type de
systèmes informatiques utilisés au sein d'une entreprise, leur interconnexion pour constituer
un réseau est aujourd'hui obligatoire. La constitution de celui-ci passe par une conception qui
consiste à définir :
Ø L'architecture logique autrement dit la topologie logique, elle fait référence à toutes les
couches du réseau, les protocoles, le plan d'adressage, le routage.
I. ETUDE DE L'EXISTANT
Une bonne compréhension de l'environnement informatique aide à déterminer la portée du
projet d'implémentation d'une solution informatique. Il est essentiel de disposer
d'informations précises sur l'infrastructure réseau physique et les problèmes qui ont une
incidence sur le fonctionnement du réseau. En effet, ces informations affectent une grande
partie des décisions que nous allons prendre dans le choix de la solution et de son
déploiement. Cette étude consiste à mettre à découvert, de façon aussi claire que possible,
l'analyse qualitative et quantitative du fonctionnement actuel du réseau informatique. Une
telle étude consiste dans un premier temps à recueillir les informations ; elle est réalisée à
partir d'entretiens ou de questionnaires, tableaux de bords, catalogues, documentation
existante.
Par la suite on peut passer à une analyse, classer et donner une vue synthétique de l'ensemble
des informations collectés sur le parc informatique (matériels et logiciels), la dimension du
réseau (LAN : étages, bâtiments, salles, sites géographiques, diamètre du réseau,
interconnexion, WAN, MAN). Enfin, on peut esquisser une modélisation à grande échelle
des données ainsi obtenues.
L'état des lieux étant effectué, elle peut aboutir à une critique de l'existant qui analyse les
ponts positifs et négatifs de l'environnement informatique déjà en place et dégager les
améliorations à apporter : les tâches rendues et les tâches non rendues, les services rendus et
les services non rendus, etc. cette critique sera ainsi un tremplin pour l'analyse des besoins.
Cette analyse est en fait la nécessité ou le désir éprouvé(e) par un utilisateur. Ce besoin peut
être explicite ou implicite, potentiel, avoué ou inavoué. Par conséquent, l'étude des besoins
consiste à dégager les critères de migration vers la nouvelle solution ou de l'implémentation
de celle-ci, à évaluer les divers avantages attendus (retour sur investissement). Elle est à
réaliser sous forme de questionnaire. Cette étude donne une vue globale des besoins
fonctionnels (les besoins qui expriment des actions qui doivent être menées sur
l'infrastructure à définir en réponse à des demandes) et techniques mais aussi des besoins des
utilisateurs.
Ces études sont d'un atout important dans le choix des matériels qui constitueront la future
infrastructure.
Les supports physiques sont des moyens de transmissions utilisés entre les équipements d'un
réseau. Le choix de ces derniers pour la conception d'une architecture est étroitement lié à la
dimension du réseau (LAN, MAN, WAN).
Une analyse sur l'étendue du réseau doit être faite à fin de savoir s'il est restreint à une salle,
un étage, un bâtiment ou s'il s'étend ou s'il occupe un site géographique (domaine privée),
plusieurs bâtiments (site-campus) ; dans ce dernier cas une interconnexion des LAN pourra
s'imposer tout en gardant la présence d'esprit que le LAN s'étend sur un diamètre inférieur à
2 Km. Dans le cas d'un MAN qui peut s'étendre à la dimension d'une ville tout en gardant un
diamètre inférieur à 10Km, les services d'opérateurs locaux s'avèrent utiles (domaine public).
Le WAN qui est un réseau de très longues distances nécessitera les services d'opérateurs
(inter)nationaux.
En théorie, le choix des liens physiques se base sur les propriétés physiques du support par
contre, dans le pratique le choix est fait en référence aux paramètres tels que :
Ø Le coût
· Câble (média)
· Connecteurs (connectique)
· Emetteurs et récepteurs
· Installation
· Coût équipement
1. Câble coaxial
Le câble coaxial est largement utilisé comme moyen de transmission. Ce type de câble est
constitué de deux conducteurs concentriques : un conducteur central, le coeur, entouré d'un
matériau isolant de forme cylindrique, enveloppé le plus souvent d'une tresse conductrice en
cuivre. L'ensemble est enrobé d'une gaine isolante en matière plastique. Il est utilisé pour les
transmissions numériques en bande de base sur quelques kilomètres avec une impédance
caractéristique de 50 Ohm. On en fait également usage de ce support pour les transmissions
analogiques en mode large bande avec une impédance caractéristique de 75 Ohm. Deux
types de ce support se distinguent:
· gros coaxial : 10 base 5 ; il peut faire cas d'une épine dorsale de 100 stations maximum par
segment, 5 segments maximum, 500 m maximum et 2,5 m minimum.
· coaxial fin : 10 base2 ; 230 stations maximum par segment, 5 segments maximum, 185 m
maximum et 50 cm minimum.
Si vous câblez en coaxial fin, il faut vérifier que les cartes possèdent un connecteur BNC ou
prise vampire. Il faut placer un bouchon à chaque extrémité du réseau (donc deux bouchons)
ils sont indispensables pour des raisons d'impédance.
Le câble coaxial offre de bons débits (de l'ordre des Gbits/s), une bonne immunité par contre
les équipements utilisés sont onéreux et leur mises en place difficile.
Celui-ci est un ancien support de transmission utilisé depuis très longtemps pour le
téléphone ; il est encore largement utilisé aujourd'hui. Ce support est composée de deux
conducteurs en cuivre, isolés l'un de l'autre et enroulés de façon hélicoïdale autour de l'axe
de symétrie longitudinale. Cet enroulement autour de l'axe de symétrie permet de réduire les
conséquences des inductions électromagnétiques parasites provenant de l'environnement
dans lequel la paire torsadée remplit sa fonction de transmission. Couramment ; il est utilisé
pour desservir les usagers du service téléphonique abonnées du service public ou usagers des
réseaux privés. Les signaux transmis par l'intermédiaire des paires torsadées peuvent
parcourir plusieurs dizaines de kilomètres sans amplification ou régénération. Quand
plusieurs paires torsadées sont rassemblées dans un même câble, les signaux électriques
qu'elles transportent interfèrent plus ou moins les uns sur les autres par rayonnement :
phénomène de diaphonie. Elle est souvent blindée à fin de limiter les interférences, de ce fait
on distingue cinq types de paires torsadées:
Ø Paire torsadée non blindée (UTP en anglais): dénomination officielle (U/UTP); elle n'est
pas entourée d'un blindage protecteur. Ce type de câble est souvent utilisé pour le téléphone
et les réseaux informatiques domestiques.
Ø Paire torsadée super blindée (SSTP en anglais), nouvellement connu sous la dénomination
S/FTP. C'est un câble STP doté en plus d'un écran commun entre la gaine extérieur et les
quatre paires.
La bande passante d'un câble à paire torsadée dépend essentiellement de la qualité de ses
composants, de la nature des isolants et de la longueur du câble. L'UTP est normalisé en
diverses catégories qui sont ratifiées par les autorités internationales de normalisation
ANSI/TIA/EIA. Ces catégories sont :
Ø Catégorie 1 : câblage abonné, destinée aux communications téléphoniques ; elle n'est plus
d'actualité.
Ø Catégorie 2 : câblage abonné, offrant une transmission des données à 4 Mbit/s avec une
bande passante de 2Mhz ; utilisé pour les réseaux token ring.
Ø Catégorie 3 : offre une bande passante de 16Mhz, elle est reconnue sous la norme
ANSI/TIA/EIA-568B. utilisée pour la téléphonie analogique que numérique et aussi pour les
réseaux Fast Ethernet (100Mbps), il est aujourd'hui à l'abandon au bénéfice de la catégorie
5e.
Ø Catégorie 4 : permettant une bande passante de 20 Mhz, elle fut utilisée dans les réseaux
token ring à 16 Mbps.
Ø Catégorie 5 : permettant une bande passante de 100Mhz et un débit allant jusqu'à 100
Mbps.
Ø Catégorie 5e : elle peut permettre un débit allant jusqu'à 1000 Mbps avec une bande
passante de 100Mhz, apparue dans la norme TIA/EIA-568B.
Ø Catégorie 6a : une extension de la catégorie 6 avec une bande passante de 500Mhz,
permettent le fonctionnement du 10 GBASE-T sur 90mètres.
Ø Catégorie 7a : elle offre une bande passante de 1Ghz, avec un débit allant jusqu'à 10 Gbps.
L'utilisation de la paire torsadée nécessite des connecteurs RJ45. Son câblage universel
(informatique et téléphone), son faible coût et sa large plage d'utilisation lui permet d'être le
support physique le plus utilisé.
3. Fibre optique
L'intégration de la fibre optique dans le système de câblage est liée au fait que celle-ci résout
les problèmes d'environnement grâce à son immunité aux perturbations électromagnétiques
ainsi qu'à l'absence d'émission radioélectrique vers l'environnement extérieur. De plus,
lorsque les possibilités de liaison en cuivre sont dépassées, elle permet de s'affranchir des
distances dans les limites connues. De par ses caractéristiques, l'introduction de la fibre
optique a été intéressante pour des applications telles l'éloignement des points d'utilisation,
l'interconnexion des sites multibâtiments, la confidentialité pour des applications sensibles.
La fibre optique est composée d'un cylindre de verre mince : le noyau, qui est entourée d'une
couche concentrique de verre : la gaine optique. Deux types de fibre optique :
Ø La fibre multimode : composée d'un coeur de diamètre variant entre 50 et 62.5 microns.
Principalement utilisée dans les réseaux locaux, elle ne s'étend pas sur plus de deux
kilomètres. Sa fenêtre d'émission est centrée sur 850, 1300 nanomètres. Elle supporte de très
larges bandes passantes, offrant un débit pouvant aller jusqu'à 2.4Gbps ; aussi elle peut
connecter plus de station que ne le permettent les autres câbles. L'inconvénient est qu'il est
onéreux et difficile à installer.
Ø Liaison radio LAN (R-LAN - WIFI) qui utilise une bande de fréquence de 2.4 Ghz. Ce
lien est utilisé dans des architectures en étoile où les stations sont équipées d'une carte
PCMCIA et le concentrateur d'une antenne (borne sans fil), est connecté au réseau câblé. Ces
liaisons sont régies par la norme IEEE 802.11 et la distance maximale station-borne se situe
entre 50 et 200m. En fonction des spécifications, les débits maximales sont de l'ordre de : 11
Mbits/s, partagé (802.11b) ; 54 Mbits/s (802.11a). L'usage de ce type de support est fait à
l'intérieur de bâtiment pour assurer une liaison provisoire (portables, salle de conférence),
pour des locaux anciens où il est impossible d'effectuer un câblage). Les problèmes liés à ce
support sont le débit limité qu'il offre et la sécurité qui n'est pas fiable (contrôle de l'espace
de diffusion, ...). Lorsque ce support est déployé pour les MAN, on parle de boucle local
radio.
Ø Liaison laser : il permet d'implémenter des liaisons point à point (interconnexion des
réseaux), la distance entre les sites peut varier de 1 à 2 km sans obstacles ; les débits pouvant
aller de 2 à 10 Mbits/s. Elle n'est pas soumise à des conditions météorologiques par contre le
réglage de la direction des faisceaux reste problématique.
La liaison laser peut être mise place essentiellement dans le cas d'un environnement ouvert,
sans obstacle. Tandis que la liaison radio s'applique à toute sorte de configuration.
L'interconnexion de réseaux peut être locale: les réseaux sont sur le même site
géographique ; dans ce cas, un équipement standard (répéteur, routeur etc ...) suffit à réaliser
physiquement la liaison. Elle peut aussi concerner des réseaux distants. Il est alors nécessaire
de relier ces réseaux par une liaison téléphonique (modems, etc..). Il demeure important de
savoir l'utilité de ses équipements dans un réseau. Ils permettent de :
Ø Segmenter le réseau :
Ø Pouvoir choisir des chemins différents dans le transport des données entre 2 points :
autoriser ou interdire d'emprunter certains réseaux ou liaisons à certains trafics.
La difficulté avec des équipements d'interconnexion réside dans le fait qu'ils sont conçus
pour répondre à des besoins qui évoluent au cours du temps, ce qui rend leur durée de vie
courte. Par contre ils sont retrouvés rapidement à moindre coût, chaque éléments offrant
certaines fonctions, les prioritaires du marché de l'époque.
1. Répéteur
Un répéteur est un équipement qui permet d'étendre la portée du signal sur le support de
transmission en générant un nouveau signal à partir du signal reçu (il augmente la puissance
du signal reçu). Le but de cet élément est d'augmenter la taille du réseau ; il fonctionne au
niveau de la couche 1 du modèle OSI. Il est transparent pour les stations de travail car il ne
possède pas d'adresse Ethernet. Il offre un débit de 10 Mbits/s ; l'avantage de cet équipement
est qu'il ne nécessite pas (ou très peu) d'administration. Par contre il ne diminue pas la charge
du réseau, ne filtre pas les collisions, n'augmente pas la bande passante et n'offre pas de
possibilité de réseau virtuel.
2. Hub
Le hub est un répéteur qui transmet le signal sur plus d'un port d'entrée-sortie. Lorsqu'il
reçoit un signal sur un port, il le retransmet sur tous les autres ports. Il présente les mêmes
inconvénients que le répéteur. Il assure en fonction annexe une auto-négociation du débit
entre 10 et 100 Mbits/s, il est utilisé en extrémité du réseau et doit être couplé en un nombre
maximum de 4 entre deux stations de travail.
3. Pont
Il est aussi appelé répéteur filtrant ou bridge en anglais. Le pont peut servir à la segmentation
du réseau LAN pour réduire la congestion au sein de chaque segment. Les équipements de
chaque segment se partagent la totalité de la bande passante disponible. Les ponts sont des
équipements de couche 2 qui transmettent des trames de données en fonction de l'adresse
MAC. Les ponts lisent l'adresse MAC de l'émetteur des paquets de données reçus sur les
ports entrants pour découvrir les équipements de chaque segment. Les adresses MAC sont
ensuite utilisées pour créer une table de commutation qui permet au point de bloquer les
paquets qu'il n'est pas nécessaire de transmettre à partir du segment local.
4. Switch
Aussi appelé commutateur, en général, les stations de travail d'un réseau Ethernet sont
connectés directement à lui. Un commutateur relie les hôtes qui sont connectés à un port en
lisant l'adresse MAC comprise dans les trames. Intervenant au niveau de la couche 2, il
ouvre un circuit virtuel unique entre les noeuds d'origine et de destination, ce qui limite la
communication à ces deux ports sans affecter le trafic des autres ports. En plus de ces
fonctions, il offre des avantages suivants ;
Il convient de savoir les critères de choix techniques (performances) lors de l'achat de celui
ci :
5. Routeur
6. Passerelle
La passerelle relie des réseaux hétérogènes, elle dispose des fonctions d'adaptation et de
conversion de protocoles à travers plusieurs couches de communication jusqu'à la couche
application.
On distingue les passerelles de transport qui mettent en relation les flux de données d'un
protocole de couche transport ; les passerelles d'application qui quant à elles réalisent
l'interconnexion entre applications de couches supérieures. Malgré le fait que la passerelle
est incontournable dans les grandes organisations, elle nécessite souvent une gestion
importante.
7. Firewall
Très souvent pour sa mise en place, le firewall nécessite deux composants essentiels : deux
routeurs qui filtrent les paquets ou datagrammes et une passerelle d'application qui renforce
la sécurité. En général le filtrage de paquet est géré dans des tables configurées par
l'administrateur ; ces tables contiennent des listes des sources/destinations qui sont
verrouillées et les règles de gestion des paquets arrivant de et allant vers d'autres machines.
Très souvent des machines Unix peuvent jouer le rôle de routeur. La passerelle d'application
quant à elle intervient pour surveiller chaque message entrant /sortant ; transmettre/rejeter
suivant le contenu des champs de l'en-tête, de la taille du message ou de son contenu.
I. ADRESSAGE IP
Une adresse IP est un numéro d'identification qui est attribué à chaque branchement
d'appareil à un réseau informatique utilisant l'Internet Protocol. L'adresse IP est attribuée à
chaque interface avec le réseau de tout matériel informatique (routeur, ordinateur, modem
ADSL, imprimante réseau, etc...) lorsqu'il fait partie du réseau informatique utilisant
l'Internet Protocol comme protocole de communication entre ses noeuds. Cette adresse est
assignée individuellement par l'administrateur du réseau local dans le sous-réseau
correspondant, ou automatiquement via le protocole DHCP. Ainsi l'adressage peut être
statique ou dynamique. Si l'ordinateur dispose de plusieurs interfaces, chacune dispose d'une
adresse IP. Une interface peut également disposer de plusieurs adresses IP. Une adresse est
constituée de deux parties dont la partie réseau qui identifie le réseau auquel est connecté un
équipement et la partie hôte qui, quant à elle, identifie l'équipement dans le réseau. La partie
réseau est déterminée à partir du masque de sous-réseau.
Les adresses IP sont organisées en quatre classes (A, B, C, D) offrant chacune un certain
nombre de sous-réseaux et de machines pouvant être adressable dans chaque sous-réseau.
En fonction de la taille du réseau vous pouvez être amené à créer des sous réseaux soit en
implémentant les VLAN (si sous disposez des switchs et/ou des routeurs manageables), soit
en utilisant les routeurs adaptés qui réduisent les domaines de diffusion et connectent à
chacun de leur port un sous-réseau précis. Ceci est mise en place dans l'optique d'augmenter
les performances du réseau du fait d'une réduction du nombre de ressource utilisant la bande
passante au sein de chaque LAN.
Pour définir la ou les classes d'adresses que vous allez choisir, vous tiendrez compte du
nombre de réseau physique de votre réseau d'entreprise et du nombre de machines sur
chacun de ces réseaux. Vous avez alors différentes possibilités :
Ø Votre choix des adresses réseaux IP est totalement libre (1.0.0.0, 2.0.0.0, 3.0.0.0, etc.).
Vous définissez ainsi un plan d'adressage privé, mais vous ne vous assurez pas de l'unicité
mondiale des adresses. Autrement dit, si vous envisagez un jour de connecter votre réseau à
Internet, il y a de fortes chances que ces adresses soient déjà attribuées à d'autres sociétés.
Vous aurez alors de sérieuses difficultés de routage vers Internet et vous serez obligé de
rectifier le tir de deux façons possibles :
· sur votre point de sortie vers Internet vous placez un équipement (routeur ou FireWall) qui
va modifier "à la volée" vos adresses de machines pour les rendre compatibles avec le plan
d'adressage Internet. Cette fonction de translation d'adresse est appelée NAT.
Ø Vous prévoyez votre interconnexion possible avec Internet et, à ce titre, souhaitez être
compatible avec son plan d'adressage. Vous devez définir un plan d'adressage conforme au
plan d'adressage public. Pour cela, vous demandez à des organismes spécifiques (NIC,
AFNIC ou votre IAP) des adresses IP publiques qui vous seront réservées. Avec ces adresses
réseaux vous définirez votre plan d'adressage interne. La difficulté de cette solution est qu'il
y a une très grosse pénurie d'adresses IP publiques. C'est d'ailleurs une des raisons qui a
conduit à redéfinir une nouvelle version du protocole IP, l'IP V6, qui propose un format
d'adressage sur 16 octets. Vous aurez donc très peu d'adresses, et si votre réseau est
important vous risquez d'être coincé.
Ø La dernière solution est d'utiliser des adresses dites non routables (adresses privée). Ce
sont des adresses réseaux spécifiques qui ne sont et ne seront jamais utilisées sur Internet.
Vous êtes ainsi sûr de ne pas avoir de conflit d'adressage. Ces adresses sont définies par une
RFC spécifique, la RFC 1918.
Un plan d'adressage doit donner la possibilité d'ajouter un nouveau site, un nouveau service,
ce qui laisse transparaître une évolutivité du réseau.
III. ROUTAGE
Les réseaux informatiques ont ceci d'intéressant: Ils couvrent des besoins aussi simples que
la connexion entre deux hôtes sur un réseau local que l'interconnexion de systèmes à l'échelle
planétaire (Internet). Internet et les réseaux IP sont composés d'un ensemble de réseaux reliés
via des machines particulières que l'on appelle routeurs. Pour la communication au sein de
ces réseaux, le protocole IP est capable de choisir un chemin (également appelé une route)
suivant lequel les paquets de données seront relayés de proche en proche jusqu'au
destinataire. C'est ainsi que le routage IP fonctionne de façon totalement décentralisée au
niveau des machines qui constituent le réseau. Aucune n'a une vision globale de la route que
prendront les paquets de données.
Le routage en lui-même est un processus par lequel des données transmises par un ordinateur
d'un réseau sont acheminées vers leur destinataire qui est une machine d'un autre réseau. De
ce fait sur un réseau, le rôle des routeurs se limite à analyser les paquets qu'ils reçoivent, puis
à les acheminer à destination ou à informer l'expéditeur que le destinataire est inconnu et
inaccessible. Il achemine ou relaie des paquets en fonction d'itinéraires définis dans sa table
de routage. Une table de routage quant à elle, est une base de données qui établit une
corrélation entre les adresses IP d'un segment de réseau et l'adresse IP des interfaces du
routeur. Vous pouvez opter soit pour un routage statique soit pour un routage dynamique en
fonction de vos besoins. Le routage statique consiste à configurer manuellement chaque table
de routage ce qui implique une maintenance et une mise à jour manuelle. En routage
statique, les routeurs ne se partagent pas de données. Ce routage est généralement utilisé au
niveau des stations, dans certains routeurs d'extrémité. Lorsque la taille du réseau évolue, la
maintenance et les paramétrages deviennent fastidieux, de ce fait ce routage est adapté pour
les réseaux de petite taille. Lorsqu'un réseau atteint une taille assez importante, il est très
lourd de devoir ajouter les entrées dans les tables de routage à la main. La solution est le
routage dynamique. Cela permet de mettre à jour les entrées dans les différentes tables de
routage de façon dynamique. Les deux protocoles de routage IP les plus utilisés pour les
intranets sont le protocole RIP et le protocole OSPF.
Un service réseau est une fonctionnalité assurée par un ordinateur consistant en l'aptitude à la
fourniture d'informations à d'autres ordinateurs via une connexion réseau normalisée. Les
services réseaux se basent sur des protocoles pour fournir des fonctionnalités qui sont
accessibles par l'utilisateur au niveau de la couche 7 du modèle OSI (couche application).
Comme services réseaux, on peut implémenter le service de résolution de noms (machines :
DNS), l'attribution d'adresse (DHCP), la messagerie, l'annuaire, le web, ...
Pour déployer un serveur DNS dans un réseau, il faut définir l'adresse du réseau ; pour des
organisations désirant donner un accès public à leur domaine, il faut acheter un nom de
domaine chez un prestataire de services tout en assurant son unicité sur internet. Dans un
réseau subdivisé en plusieurs sous réseaux, il doit y avoir un serveur DNS primaire par zone
(sous réseau) et plusieurs serveurs secondaires sur lesquels on effectue des copies régulières
des informations primaires pour des mesures de sécurité. Dans ce cas, une configuration des
sous-domaines s'imposent.
Un serveur DHCP a pour rôle de distribuer des adresses IP à des clients pour une durée
déterminée. Au lieu d'affecter manuellement à chaque machine une adresse statique, ainsi
que tous les paramètres tels que serveur de noms, passerelle par défaut, nom du réseau, un
serveur DHCP alloue à chaque client un bail d'accès au réseau, pour une durée déterminée
(durée du bail). Il passe en paramètres au client toutes les informations dont il a besoin. Tous
les noeuds critiques du réseau (serveur de nom primaire et secondaire, passerelle par défaut)
ont une adresse IP statique, en effet si celle-ci variait, ce processus ne serait réalisable.
3. Messagerie
Le courrier électronique est aujourd'hui l'une des applications les plus populaires du réseau.
Utilisé pour des applications très variées : personnelles, professionnelles, associatives,
politiques, etc. En fait, pour fonctionner, la messagerie électronique s'appuie principalement
sur des serveurs de messagerie, des protocoles de transport ainsi que sur des protocoles de
contenu. Le serveur de messagerie est un logiciel de courrier électronique ayant pour
vocation de transférer les messages électroniques d'un serveur à un autre.
Pour implémenter un service de messagerie, il est nécessaire de faire le choix de la forme des
adresses, de répartir les serveurs (entrant/sortant), de définir les méthodes d'accès aux boites
aux lettres et le format des messages :
Ø Choix de la forme d'adresse : il s'agit de définir quelle stratégie pour la forme des adresses
email. Il est possible d'opter pour un forme canonique (ex : prénom.nom@...), soit faire
apparaître le sous-domaine ou non (ex : nom.prenom@labs.supemir.ma ou
nom.prenom@supemir.ma), soit utiliser des adresses génériques (ex : info@..., helpdesk@).
Ø Méthodes d'accès aux boîtes aux lettres : il est possible d'utiliser soit une connexion
interactive sur le serveur (commande mail unix,...), soit POP (l'utilisateur accède au serveur
via un client de messagerie tel qu'un navigateur et la boîte aux lettres est transférée sur la
station du client), soit IMAP (l'accès client est pareil à celui de POP mais la boîte aux lettres
reste sur la station du client).
4. Annuaires
Ø Définition du modèle fonctionnel : les opérations pouvant être effectuées sur le serveur
(ajout, modification, recherche, comparaison, ...).
5. Service web
A l'ère du village planétaire, la technologie des services web est aujourd'hui de plus en plus
incontournable et se présente comme le nouveau paradigme des architectures logicielles.
C'est une technologie qui permet à des applications de communiquer à travers le réseau
Internet, indépendamment des plates-formes d'exécution et des langages de programmation
utilisés. Dans les entreprises, l'accès aux serveurs web externes (Internet) fait très souvent
l'objet d'une décision de la direction et non de l'administrateur réseau à fin d'attribuer des
autorisations aux utilisateurs. Dans ce cas on peut implémente un proxy pour réglementer
l'accès à Internet et la sécurité. Pour un déploiement d'un serveur web en interne (Intranet) au
sein d'une organisation, le serveur doit héberger les informations internes, être placé dans un
sous réseau et non accessible depuis l'extérieur. Contrairement à un serveur web externe
(Extranet), les informations sont hébergées dans un sous-réseau public et accessible par tout
internaute.
L'administration est une tâche qui requiert que le réseau soit fonctionnel et que les différents
services soient implémentés. Avant d'entrer dans le vif du sujet il serait primordial de
rappeler ce qu'il faut administrer dans le réseau : les hommes (administrateurs et utilisateurs),
les standards (SNMP, ICMP,...), la configuration des équipements, la surveillance (détection
des anomalies à travers des alarmes et des relevés sur une période indiquant des charges, des
utilisations anormales), le dépannage, les stations d'administration, la sécurité. Ces tâches
d'administration peuvent être d'après l'ISO, reparties sur cinq axes :
· Outil de surveillance de liaison : MTR : utilise ping et traceroute, il détecte rapidement une
anomalie sur une liaison (coupure, engorgement), sort des statistiques
· Outil de surveillance de trafic : NTOP : sonde, indique à quoi est utilisé le réseau (charge,
stations les plus bavardes, qui dialogue avec qui, avec quels protocoles,...) sur une courte
période.
· Outil de métrologie : cricket basé sur MRTG : il interroge des routeurs, commutateurs sur
SNMP, donne l'aperçu de la charge, du trafic sur un longue période.
1. Généralités
Ø L'intégrité, autrement dit garantir que les données sont bien celles que l'on croit être,
Ø La confidentialité, consistant à assurer que les seules personnes autorisées aient accès aux
ressources qu'il s échangent,
Cependant les organisations sont peu ou presque pas protégées contre des attaques sur le
réseau. Des raisons démontrent pourtant bien cet état de vulnérabilité des systèmes :
Ø La sécurité est onéreuse, les entreprises n'ont pas souvent de budget attribué à ce domaine,
soulignant en parallèle la raison selon laquelle la sécurité ne peut être fiable à 100% du fait
des bugs dans les applications, exploitables par les attaquants ;
Ø L'utilisation de la cryptographie qui a ses faiblesses, avec des mots de passe pouvant être
cassés ;
Ø L'attaque d'un système fiable par des personnes abusant de leurs droits légitimes ;
Les attaques (n'importe quelles actions qui compromettent la sécurité des informations)
informatiques constituent aujourd'hui l'un des fléaux de notre civilisation moderne. Il est
régulier de suivre que telle entreprise ou tel institut a essuyé de lourdes pertes financières en
raison d'une défaillance de la sécurité de son système d'information. Par conséquent les
entreprises ne peuvent pas ignorer ces risques et se croire à l'abri de telles épreuves sachant
que les attaques ont des buts précis qui visent des mécanismes de sécurité précis très souvent
implémentés dans les réseaux :
3. Solution à la sécurité
La sécurité des SI fait très souvent l'objet de métaphores. L'on la compare régulièrement à
une chaine en expliquant que le niveau de sécurité d'un système est caractérisé par le niveau
de sécurité du maillon le plus faible. Ainsi, une porte blindée est inutile dans un bâtiment si
les fenêtres sont ouvertes sur la rue. Cela signifie qu'une solution de sécurité doit être
abordée dans un contexte global et notamment prendre en compte les aspects suivants :
Ø La sécurité logique, c'est-à-dire la sécurité au niveau des données, notamment les données
de l'entreprise, les applications ou encore les systèmes d'exploitation ;
Etant donné les enjeux financiers qu'abritent les attaques, les SI se doivent de nos jours d'être
protégés contre les anomalies de fonctionnement pouvant provenir soit d'une attitude
intentionnellement malveillante d'un utilisateur, soit d'une faille rendant le système
vulnérable.
Du fait du nombre croissant de personnes ayant accès ces systèmes par le billet d'Internet, la
politique de sécurité se concentre généralement sur le point d'entrée du réseau interne. La
mise en place d'un pare-feu est devenue indispensable à fin d'interdire l'accès aux paquets
indésirables. On peut, de cette façon, proposer une vision restreinte du réseau interne vu de
l'extérieur et filtrer les paquets en fonction de certaines caractéristiques telles qu'une adresse
ou un port de communication. Bien que ce système soit une bastille, il demeure insuffisant
s'il n'est pas accompagné d'autres protections, entre autres :
Ø La protection physique des informations par des accès contrôlés aux locaux,
Ø La protection contre les failles de configuration par des outils d'analyse automatique des
vulnérabilités du système,
Ø La protection par des systèmes d'authentification fiables pour que les droits accordés à
chacun soient clairement définis et respectés, ceci afin de garantir la confidentialité et
l'intégrité des données.
Implémenter la sécurité sur les SI, consiste à s'assurer que celui qui modifie ou consulte des
données du système en a l'autorisation et qu'il peut le faire correctement car le service est
disponible. Toujours est il que même en mettant en place tous ces mécanismes, il reste
beaucoup de moyens pour contourner ces protections. A fin de les compléter, une
surveillance permanente ou régulière des systèmes peut être mise en place à savoir:
Ø Les systèmes de détections d'intrusions ayant pour but d'analyser tout ou partit des actions
effectuées sur le système afin de détecter d'éventuelles anomalies de fonctionnement.
A partir du LAN d'une entreprise, quelque soit la station qui désire accéder à la toile, il est
possible d'exploiter l'une des trois méthodes ci après :
Ø Connexion directe (sans NAT) : dans cette méthode, la station interne qui fait office de
passerelle d'accès au réseau externe doit disposer d'une adresse IP officielle (publique) qui
lui permettra de l'identifier sur internet.
Ø Connexion directe avec NAT : dans ce cas, la station interne se contentera d'une adresse
IP privée, ses requêtes passeront par un NAT qui lui a une adresse IP public. Le NAT se
chargera de traduire l'adresse de la station locale puisque celle-ci n'est pas routable autrement
dit autorisée sur internet du fait qu'elle n'est pas unique. Ce mécanisme de NAT permet
notamment de faire correspondre une seule adresse externe publique visible sur internet à
toutes les adresses d'un réseau privée, et pallie ainsi à l'épuisement des adresses IPV4.
Ø Proxy-cache web : la station interne a une adresse privée et est configurée pour utiliser le
serveur proxy lorsqu'elle émet une requête web ; c'est donc au tour du proxy d'envoyer la
requête sur le serveur web externe. Cet état des fait ouvre deux sessions TCP (http) : station-
proxy et proxy-serveur web, conserve une cache web en interne, permet un gain de la bande
passante.
De ces trois méthodes, la plus sécurisée est la dernière ; elles sont ainsi énumérées suivant le
degré de sécurité le moins élevé.
Dans une architecture réseau où certains services tels la messagerie, le web sont parfois
utilisés hors du réseau local, il convient de placer les serveurs hébergeant ces services dans
une DMZ (zone démilitarisée) qui doit être semi ouverte à fin d'autoriser les accès externes.
A défaut d'héberger ce service dans la zone démilitarisée, l'entreprise peut opter également
solliciter les services d'un fournisseur d'accès ou d'un hébergeur. Les stations de la DMZ
doivent être des stations dédiées c'est-à-dire réservées pour des tâches précises à fin de
limites les risques d'attaques du réseau local.
En matière de sécurité, vu les nombreuses failles de sécurité que présentent l'environnement
windows (serveur web IIS en l'occurrence), il est préférables d'utiliser les logiciels libres
(ex : apache) et les systèmes Unix car ils présent moins de vulnérabilité ; tout en prévoyant
un mécanisme de mise à jour.
En général, accéder à partir de L'Internet au réseau local de l'entreprise concerne les tâches
telles que :
Ø Le transfert de fichiers
Ø L'accès global à toutes les ressources de l'Intranet (réseau interne) de manière sécurisée
(absence de mot de passe en clair sur le réseau)
Pour réduire la vulnérabilité du réseau local, il convient de sécuriser les moyens d'accès à ses
tâches. L'accès interactif aux stations internes (telnet), POP, IMAP,... présente une
vulnérabilité élevée, ainsi il est nécessaire de les coupler avec le protocole de sécurisation
des échanges SSL, qui assure la sécurité (confidentialité, intégrité et authentification) des
transactions sur internet. Au niveau applicatif, on peu également sécuriser l'accès interactif et
le transfert de fichiers en utilisant SSH ; penser à intégrer un garde-barrière dans la chaîne de
sécurité.
Un accès complet à toutes les ressources internes requiert davantage de sécurité. De ce fait
l'entreprise peut opter pour l'implémentation d'un VPN qui est une bonne alternative aux
liaisons spécialisées qui bien qu'étant plus fiables sont onéreuses. Le VPN utilise le principe
de tunneling pour la communication entre le deux points distants via les protocoles tels que
PPTP, L2TP, IPSec.
Tous ces mécanismes de sécurité requièrent des compétences pointues pour ne pas créer des
trous de sécurité dans les configurations ; ils ne garantissent pas une sécurité à 100% contre
des attaques et des vols d'information, d'où il est primordial de prévoir des sauvegardes.
Qui dit réseau solide dit un réseau qui offre une certaine :
Ø Disponibilité, autrement dit la capacité à être près à fournir un service (la probabilité
qu'un service soit en bon état de fonctionnement à un instant donné). Dans un réseau, la
disponibilité est plus qu'un but ou une vision abstraite. Si le réseau venait à être inaccessible,
la communication et la collaboration s'arrêteront, ainsi la productivité de des utilisateurs se
verrait réduite. L'importance de maintenir un réseau constant et fiable ne doit donc pas être
sous-estimée car la disponibilité du réseau est essentielle. La disponibilité touche les aspects
tels que :
· Les liaisons avec le réseau public : chaque contrat avec un opérateur doit garantir par
exemple un certain délai de rétablissement du lien en cas de dysfonctionnement. Ce même
principe doit être définit en interne.
Ø Tolérance aux pannes : les pannes sont des éléments perturbateurs mettant en cause la
sécurité des données confiées aux serveurs ou encore le bon fonctionnement des liaisons
avec le réseau public. Qu'elles soient permanentes (dommages physiques, erreur de
conception du matériel ou du logiciel), transitoires (perturbations électriques,
électromagnétiques ou de température), ou intermittentes, elles peuvent avoir de multiples
causes. Tout dispositif technique permettant de palier à ces différentes pannes sans
interrompre la bonne marche du système peut être considérée comme tolérant les pannes. En
pratique, cela implique presque toujours une redondance du matériel, gérée par un dispositif
soft ou hard et assurant la transition active de l'élément défectueux vers celui de réserve.
Autrement dit, le matériel est systématiquement remplacé par un autre aux fonctionnalités
équivalentes, sans affecter durablement la productivité globale du système. Quelques
solutions envisageables dans ce domaine seraient :
· Redondance des liaisons c'est-à-dire existence de deux points d'arrivé des liaisons externes
différentes.
· Routage dynamique : il est utilisé dans un réseau maillé de routeurs pour permettre de
basculer d'un chemin à un autre sans intervention manuelle. Il consiste à établir plusieurs
chemins différents pour une destination mais avec des poids différents.
· Serveurs secondaires : pour les services (DNS, messagerie, web,...) implémentés dans le
réseau local, on peut également déployer des serveurs relais qui sont de fournir les mêmes
services en cas d'indisponibilité des serveurs primaires.
Ø Sécurité : les problèmes liés à la sécurité, souvent très onéreux, peuvent être
l'indisponibilité des serveurs, du réseau, les vols d `information, des attaques qui viennent
parfois du réseau local. Les outils pour y remédier sont tellement disparates (un peu à tous
les niveaux) et ne colmatent qu'une partie des failles du fait des nouvelles sorties. De plus le
protocole réseau IP qui n'assure aucune fiabilité ne rend pas cette tâche facile. Vue
l'importance de la sécurité, il s'avère utile de coupler plusieurs outils et mécanismes pour au
moins s'assurer une meilleure protection.
Ø Qualité de service : qui dit qualité de service dit la capacité à véhiculer dans de bonnes
conditions un type de trafic donné, en termes de débit, latence (délai de transmission), taux
de perte de paquets, gigue (variation de la latence). Ce problème ne se pose pas quand la
bande passante est à profusion, c'est le cas généralement des LAN. Par contre le besoin
d'assurer une qualité de service s'impose quand la bande passante est limitée et chère, c'est le
cas dans les WAN ; la difficulté augmente avec la présence d'un ou de plusieurs opérateurs.
L'utilisation des mécanismes tels que Diffserv (classification du trafic) ou RSVP (réservation
de ressources) serait autant de solution pour pallier au problème de la QOS.
Construire un réseau fiable revient à réaliser les différentes étapes ci-après tout en tenant
compte des aspects ci -dessus :
Ø Etablir des cahiers de charge pour chaque évolution (les fonctionnalités désirées)
En tant qu'ingénieur, il est important de définir les besoins vitaux (ceux-ci dépendent des
applications à déployer) à fin de travailler avec des moyens dont on dispose ; de chaque
incident devra être consigné une leçon car l'expérience est très utile. Vue l'envergure des
tâches, les services des entreprises du métier sont à explorer, toujours est il que nous devons
comprendre et contrôler tous les aspects.
Inconvénients :
Ø Ce système n'est pas du tout centralisé, ce qui le rend très difficile à administrer
Les systèmes d'exploitation installés sur les postes clients sont de la plate-forme Microsoft,
plus précisément Windows XP, service pack 2 version 2002.
Dans une architecture, le matériel d'interconnexion représente le coeur du réseau. S'il est mal
configuré (équipement manageable), il peut avoir des effets néfastes sur le trafic réseau,
allant à la détérioration de celui-ci. Le réseau de SUPEMIR comporte des commutateurs qui
de par leur fonction permettent de réduire les domaines de collision, et un routeur auquel tout
le a accès, ce qui laisse le droit à tout un chacun de le manipuler à sa guise.
Le réseau se constitue des équipements d'interconnexion suivants :
1 port ADSL
4 ports RJ-45
Point d'accès ZyXEL NWA1100-N 1 port RJ-45 1
Switch TrendNet TE100-S24 24 ports RJ-45 1
Switch DLink DES 1016D 16 ports RJ-45 1
Switch 3Com 3C16471 24 ports RJ-45 1
Switch D-Link DES-1008D 8 ports RJ-45 4
Comme dit précédemment, le réseau de SUPEMIR n'est pas segmenté en sous-réseau, ainsi
l'adresse privée 192.168.1.0/24 est utilisée. Le réseau ne dispose vraiment pas d'un véritable
plan d'adressage ; le routeur que l'opérateur offre intègre un serveur DHCP qui attribue
systématiquement une adresse IP à tout ordinateur qui se connecte au réseau de l'école. Par
ailleurs certains ordinateurs utilisent des adresses statiques. Vu qu'il n'y pas d'équipement
d'interconnexion manageable, seul le protocole IGMP activé par défaut par l'opérateur est
utilisé ; le routeur intègre la fonction NAT qui permet de masquer les adresses privées du
réseau local qui accèdent à Internet.
Le réseau local est connecté au réseau public via une liaison spécialisée d'un opérateur local
(Maroc Telecom) qui fournit un modem/routeur ADSL à cet effet.
1. Critique de l'existant
Ø Conflit d'adressage IP
Suite à la critique de l'existant, quelques besoins ont été relevés à fin de pallier aux
contraintes précédemment mentionnées.
a. Besoins fonctionnels
Les besoins fonctionnels expriment une action qui doit être menée sur l'infrastructure à
définir en réponse à une demande. C'est le besoin exprimé par le client; ce besoin peut être
exprimé de manière fonctionnelle mettant en évidence les fonctions de services (pour
répondre à la question «A quoi ça sert ?») et les fonctions techniques (comment cela peut
marcher ?). Dans ce cadre, nous allons :
Ø Déployer un serveur DNS qui permettra la résolution de nom dans le réseau local,
Ø Déployer un serveur Web pour une haute disponibilité en cas de rupture du lien avec le
réseau public,
Ø Déployer un serveur de fichiers à fin de mieux gérer les droits d'accès aux informations de
l'école.
Les besoins non fonctionnels représentent les exigences implicites auquel le système doit
répondre. Ainsi à part les besoins fondamentaux, notre système doit répondre aux critères
suivants :
Ø La centralisation de l'administration,
Ø La sécurité des accès (local, mot de passe : longueur, caractères spéciaux, politique de
réutilisation),
Ø La documentation du réseau.
Les solutions que nous avons proposées consistent à déployer les différents services,
sécuriser les accès à ces services et implémenter une sécurité accrue à travers un filtrage de
paquet au niveau du firewall et un proxy cache jouant le rôle d'un firewall à relayage de
paquets. Nous proposons également une sécurité sur un plan global en faisant référence à la
mise en place d'un local technique, la restriction des accès.
L'enjeu principal d'une architecture réseau sécurisée, est de pouvoir est de pouvoir
réglementer les accès aux ressources du réseau tant à partir du réseau local qu'à l'extérieur,
tout en essayant au maximum de limiter les failles d'éventuelles attaques ou vols
d'informations à fin d'accroître la sécurité du réseau local. En effet, face à des applications
telle la messagerie qui permettent la mobilité donc les accès d'origine diverse, il est toujours
important de définir une architecture fiable de sécurisation du réseau. L'implémentation
d'une telle architecture aboutira à un gain en termes de performance et sécurité du réseau.
Une bonne mise en oeuvre des solutions requiert une bonne planification. Dans cette phase,
nous allons présenter le matériel et les pré-requis nécessaires à la mise en place de la
solution.
Il est important de noter les différentes contraintes qui pourront être rencontrées :
Ø Les services rendus à l'utilisateur doivent être interrompu le moins longtemps possible
pendant les heures de travail
Ø L'accès aux pages web ne doit pas être de piètre performance du fait de la mise en place de
la DMZ.
1. Matériels utilisés
Système Services installés Spécifications Adresse IP
Matériel/nom d'exploitation techniques
Routeur / - - 1 port USB LAN : 192.168.1.1
sagembox.home
1 port ADSL WAN : dynamique
2 ports FXO
4 ports RJ-45
PC / srvfirewall Red Hat Iptables (natif à Red RAM 1Go Eth0 192.168.1.10
Enterprise Had) Processeur
linux server Intel® Pentium Eth1 192.168.2.1
release 5 4 CPU 2.80Ghz
Eth2 192.168.4.1
Noyau 2.6.18-8 DD 20Go
el5xem Eth3 192.168.3.1
PC /srvsupemir2 Ubuntu 10.10 Squid RAM 1Go 192.168.2.2
Webmin
PC /srvsupemir4 Ubuntu 10.10 Web : xampp RAM 1Go 192.168.4.2
Processeur
Noyau linux Intel® Pentium
2.6.35-22- 4 CPU 2.80Ghz
generic,
GNOME DD: 20Go
2.32.0
Switch - - 24 ports RJ-45 -
2. Pré-requis
Dans ce document il est question de créer des serveurs particuliers, ce qui requiert dans un
environnement unix la connaissance de certaines commandes. Nous les présentons ici qui
permettra par la suite de s'en passer de longues explications et se limiter aux différentes
commandes et modifications de fichier de configuration. Nous allons donc rappeler quelques
commandes unix que nous avons utilisé :
cd - changer de répertoire,
vi - éditeur système,
more - afficher un fichier page à page, (la touche x permet de passer une page),
chmod - changer les droits d'accès à un fichier, (chmod +x rendre un fichier exécutable),
cp - copier de fichiers,
mv - déplacer un fichier,
rm - détruire un fichier,
wget - télécharger un fichier, elle est souvent utilisée pour les installations manuelles,
ifconfig - Affiche les informations d'une interface, configure une interface, assigne une
adresse, assigne un masque de sous-réseau, active et désactive une interface,
killall - tue un processus mais au lieu d'indiquer le PID vous indiquerez le nom du processus,
smbpasswd -
/proc - contient les fichiers de processus, avec pour les fichiers portant un numéro: leur ID,
Dans cette nouvelle architecture, le réseau de l'école est scindé en deux parties : le réseau
local et la DMZ. On voit également sur cette architecture la liaison avec le réseau public.
Dans la nouvelle infrastructure, nous disposons de trois serveurs (srvsupemir2, srvsupemir2,
srvsupemir2) et un firewall (PC/linux nommé srvfirewall) sur lesquels sont déployés les
différents services. Le routeur de l'opérateur joue le rôle de passerelle entre le réseau de
l'école et le réseau public.
4. Architecture de déploiement
A travers le logiciel Microsoft Visio, nous avons reproduit notre environnement de travail
(figure ......). Cet environnement nous permettra d'aboutir à une bonne configuration de notre
solution.
1. Services
Vu les contraintes de matériels, nous avons cumulé plusieurs services sur un des serveurs, il
s'agit du serveur nommé srvsupemir3. Nous avons opté pour une plate-forme open source,
ainsi tous les logiciels que nous avons utilisés pour déployer les services sont des logiciels
open-source. Les services sont repartis come suit sur les serveurs :
srvsupemir2 : il est installé sur cet ordinateur le serveur mandataire Squid http qui est une
solution open-souce, il est couplé à SquidGuard qui est également une solution open-source
qui permet le filtrage en servant des URI (uniform ressouce Identifier). Nous avons aussi
installé le logiciel webmin pour une administration en mode graphique.
srvsupemir3 : il héberge notre serveur web. Nous y avons utilisé xampp qui est un ensemble
complet de services pour faire tourner un serveur web.
srvsupemir4 : sur ce poste est installé les services DHCP, DNS, messagerie, partage de
fichier.
srvfirewall : ici nous n'avons pas installer un service particulier, nous avons utilisé iptables
qui est un firewall natif aux systèmes unix.
2. Adressage
Eth1 192.168.2.1
Eth2 192.168.4.1
Eth3 192.168.3.1
Tableau 4 : Plan d'adressage
Nous avons utilisé un adressage statique pour ces serveurs à fin de faciliter l'accès aux
ressources qu'elles hébergent.
CHAPITRE III : PHASE DE MISE EN OEUVRE
I. SCENARIOS D'INSTALLATION ET DE CONFIGURATION
a. Serveur DHCP
auto lo
address 127.0.0.1
netmask 255.0.0.0
address 192.168.3.254
broadcast 192.168.3.255
netmask 255.255.255.0
gateway 192.168.3.1
auto eth0
Installation
En plus de la fonction principale qui est celle de l'attribution d'adresse IP, nous avons
configuré une synchronisation avec le serveur DNS c'est-à-dire que le serveur DHCP
enregistre l'hôte à qui il attribue une adresse les fichiers de zone (zone direct et zone
inversée) du serveur DNS. Ainsi voici le contenu de notre fichier de configuration :
# configuration du DDNS
server-identifier 192.168.3.254;
ddns-updates on;
ddns-update-style interim;
ddns-domainname "labs.supemir.ma.";
ddns-rev-domainname "in-addr.arpa.";
update-static-leases on;
ignore client-updates;
key dhcp_updater{
algorithm hmac-md5;
secret
"5STvKYJR/wkFEPCoG1BTI8dDAQ2mzYJSTB82jBqHVs3uBYsF3wW1NsMQKq23xTT
ZMFtXJRY93tnynjZ9Pfa1ZQ==";
};
zone labs.supemir.ma. {
primary 127.0.0.1;
key dhcp_updater;
max-lease-time 7200;
authoritative;
zone 3.168.192.in-addr.arpa. {
primary 192.168.3.254;
key dhcp_updater;
zone labs.supemir.ma. {
primary 192.168.3.254;
key dhcp_updater;
host shaita {
hardware ethernet 00:0B:DB:7C:B8:E7;
fixed-address 192.168.3.211;
host AZERTY {
fixed-address 192.168.3.212;
host BUREAU {
fixed-address 192.168.3.213;
host UNICORNI-D9DEED {
fixed-address 192.168.3.214;
host KHALID {
fixed-address 192.168.3.215;
# fin de fichier
La clé dhcp_updater est une clé avec laquelle le serveur dhcp s'authentifie auprès du serveur
bind. Elle est générée a vec la commande suivante :
Après la configuration, il faut redémarrer le service à fin de prendre en charge les paramètres
configurés : service dhcp3-server restart.
Nous avons édité le fichier /etc/dhcpd3/dhcpd.leases pour voir les baux d'adresses que le
serveur a octroyé. Nous avons également connecté le serveur sur un switch et d'autres postes
clients et renouveler le bail comme l'indique le schéma ci -après. Au niveau des postes nous
avons fait la manipulation suivante pour obtenir l'adresse IP :
Client Windows :
Client linux :
dhclient : interroge le serveur DHCP pour configurer l'interface réseau et les services
associés en conséquence.
b. Serveur DNS
Installation
Ubuntu est livré par défaut avec BIND le serveur DNS le plus utilisé sur Internet. C'est ce
serveur BIND, que nous allons utiliser comme serveur DNS. Nous avons choisi la dernière
version de bind qui est BIND9, disponible dans le dépôt principal. Ce choix ce justifie par le
fait que cette version résout certains bugs des précédentes versions, ajoute la prise en charge
de DNSSEC qui est le protocole standardisé par l'IETF permettant de résoudre certains
problèmes de sécurité liés au protocole DNS et bien d'autres points importants tel IPV6. Pour
l'installer, il suffit de saisir la commande apt-get install bind9. Nous avons opté pour le nom
de domaine labs .supemir.ma.
Configuration
/etc/bind/named.conf.options
/etc/resolv.conf
/etc/hosts
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
# cl(c) que le serveur dhcp utilisera lors de la synchronisation avec le serveur dns
key dhcp_updater{
algorithm hmac-md5;
secret
"5STvKYJR/wkFEPCoG1BTI8dDAQ2mzYJSTB82jBqHVs3uBYsF3wW1NsMQKq23xTT
ZMFtXJRY93tnynjZ9Pfa1ZQ==";
};
zone "labs.supemir.ma" {
type master;
file "/etc/bind/db.labs.supemir.ma";
notify yes;
};
type master;
file "/etc/bind/db.192.168.3";
notify yes;
};
// fin de fichier
options {
directory "/var/cache/bind";
// to talk to, you may need to fix the firewall to allow multiple
forwarders {
192.168.1.1;
212.217.0.1;
212.217.0.12;
};
listen-on-v6 { any; };
};
// fin de fichier
Les fichiers des zones sont utilisés pour lister les différentes ressources d'un domaine,
comme les serveurs de mails (MX), les serveurs de noms (NS), ou les enregistrements
machine/IP (A) et redirections (CNAME). Voici une petite liste des principaux types
d'enregistrements dont nous avons fait usage dans les fichiers de zone :
PTR : Réalise le lien entre l'IP d'une machine et son nom. Utilisé pour le fichier de zone
inverse.
CNAME : C'est une espèce d'alias, permettant de définir un nom par rapport à un autre nom.
$ORIGIN .
16 ; serial
NS srvsupemir4.labs.supemir.ma.
A 192.168.3.254
AAAA ::1
$ORIGIN labs.supemir.ma.
srvsupemir4 A 192.168.3.254
$ORIGIN .
11 ; serial
NS srvsupemir4.labs.supemir.ma.
MX 10 srvsupemir4.labs.supemir.ma.
domain labs.supemir.ma
search labs.supemir.ma
order local,bind
nameserver 192.168.1.1
nameserver 192.168.3.254
nameserver 212.217.0.1
# fin de fichier
Contenu du fichier /etc/hosts (gedit /etc/hosts), dans fichier nous avons juste ajouté la
première ligne
# Added by NetworkManager
127.0.1.1 srvsupemir4
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
# fin de fichier
/etc/bind/* rw,
/etc/bind rw,
A la suite de ce qui précède, il faut accorder les droits nécessaire à l'utilisateur bind qui est
crée lors de l'installation de bind. Lorsqu'il est crée, il est ajouté au groupe root et est
propriétaire du répertoire /etc/bind, par contre le groupe root n'est pas le droit d'écriture dans
ce répertoire par défaut. Nous avons accordé le droit d'écriture au groupe avec le commande
« chmod 774 /etc/bind ».
Test du serveur
Plusieurs outils sont disponibles pour réaliser des tests de la configuration du serveur et de
ses zones tels que named-checkconf, named-checkzone, nslookup et dig, nous avons utilisé
nslookup à cet effet, voici un aperçu du test :
c. Serveur de fichiers
Le logiciel Samba est un outil permettant de partager des dossiers et des imprimantes à
travers un réseau local. Il permet de partager et d'accéder aux ressources d'autres ordinateurs
fonctionnant avec des systèmes d'exploitation Microsoft® Windows et Apple Mac OS X,
ainsi que des systèmes GNU/Linux, BSD et Solaris dans lesquels une implémentation de
Samba est installée. Pour partager de manière simple des ressources entre plusieurs
ordinateurs, l'utilisation de Samba est conseillée. Vu les fonctionnalités qu'offrent ce logiciel,
nous avons en usé de sa possibilité d'émuler un domaine Windows pour le configurer en
contrôleur de domaine principal (PDC). Le contrôleur de domaine principal est un serveur
chargé du contrôle de l'authentification des requêtes de connexion et d'accès aux ressources
dans un domaine windows qui est quant à lui un groupe d'ordinateurs (techniquement appelé
forêt) où l'accès à une variété de ressources hébergée sur un ordinateur est contrôlé par la
PDC. Il existe divers outils pour une configuration graphique de samba mais nous avons
souhaité utiliser le shell car celui-ci offre la possibilité de configurer tous les paramètres de
samba.
Installation
Afin d'installer les paquets minimums nécessaires pour la suite des opérations, nous avons
lancé les commandes suivantes :
apt-get update
Afin que tout le monde ne puisse pas accéder à tous les fichiers, il a fallu restreindre l'accès à
certains utilisateurs et à certains groupes et pour cela nous les avons créé au préalable. Nous
avons crée trois groupes : etudiants, profs et cadre. Chacun de ces groupes contient des
utilisateurs et nous avons créé juste ceux donc nous avions besoins.
Dans notre cas, nous avons utilisé plusieurs options. L'option -m qui permet de créer
directement le répertoire home du nouvel utilisateur. Ce répertoire se situe dans /home/.
L'option -g permet à l'utilisateur de rejoindre le groupe spécifié en paramètre. L'option -R de
la commande chmod permet d'appliquer le mode d'accès préciser à tous les fichiers dans les
sous répertoires de manière récursive.
Après cette manipulation il faut activer ces comptes utilisateurs dans Système>
Administration> Utilisateurs et groupes, en saisissant le mot de passe de chaque
utilisateur à la demande.
Pour que les utilisateurs aient accès aux ressources de samba, il a fallu que nous les ajoutions
à samba grâce à la commande smbpasswd de la manière ci-dessous :
L'option -a permet juste de spécifier le nom de l'utilisateur. Il faut faire pareil pour le compte
root à fin de lui permettre d'intégrer des postes clients au domaine.
Pour que chaque machine puisse se connecter au domaine au démarrage, il faut qu'il ait un
compte au niveau du contrôleur de domaine samba pour cela nous avons créé un groupe
ordinateurs qui contiendra toutes les machines du domaine.
Par exemple pour joindre le poste portant le nom supemirpc3, il faut un compte machines
portant ce nom sur le PDC.
Figure 9 : Ajout du groupe des ordinateurs et d'un compte machine à Samba.
L'option -m permet de préciser que ce compte est un compte machine et de ce fait il n'a pas
de mot de passe.
Vu que le répertoire public est accessible par tout le monde, nous avons donné le droit de
lecture, écriture er exécution des fichiers et répertoires à tout le mode : chmod 777
/home/public.
Le répertoire profiles permet de stocker les profiles des utilisateurs qui se connectent au
domaine à fin de le permettre de garder leur environnement de travail quelque soit le poste
sur lequel ils se connecteront, le répertoire netlogon quant à lui permet de stocker les scripts
de connexion.
Configuration de smb.conf
#--------CONFIGURATION GLOBALE---------------------------
[global]
workgroup = labs.supemir.ma
dns proxy = No
security = user
# synchronisation des mots de passe samba avec les mots de passe linux
# dans le cas de la pr(c)sence de plusieurs contr'leurs de domaine, c'est le serveur qui est le
favori
os level = 255
#sp(c)cifie que root et les user du groupe cadre peuvent joindre le domaine sur les clients
# repertoire de connexion
# administrateur du domain
[netlogon]
path = /home/netlogon/
browseable = no
writeable = no
[profile]
path = /home/profile
browseable = no
writeable = yes
[public]
public = yes
path = /home/public
writeable = yes
[cours]
path = /home/cours
browsable=no
[direction]
path = /home/direction
browsable=no
[amine]
path = /home/amine
browsable=no
[achraf]
path = /home/achraf
browsable=no
valid users = achraf
[mounir]
path = /home/mounir
browsable=no
[khalid]
path = /home/khalid
browsable=no
[niveau1]
path = /home/niveau1
#browseable = no
[niveau2]
#browseable = no
[niveau3]
path = /home/niveau3
#browseable = no
[niveau4]
path = /home/niveau4
#browseable = no
[niveau5]
#browseable = no
# partarge supervision
[manager]
browseable = no
path = /home/
# fin de fichier
Scripts de connexion
Etant donnée que les utilisateurs ne son pas nombreux, nous avons créé un script pour
chacun d'eux, ainsi ne seront montés à la connexion au domaine uniquement les partages
auxquels l'utilisateur a droit.
gedit /home/netlogon/achraf.bat
gedit /home/netlogon/amine.bat
gedit /home/netlogon/mounir.bat
gedit /home/netlogon/khalid.bat
gedit /home/netlogon/prof1.bat
gedit /home/netlogon/niveau1
Test de la configuration
Connexion au serveur
Le serveur configuré, il est nécessaire de le relancer pour que les modifications soient prises
en compte : service smbd stop / service smbd start. Le service smbd est celui qui gère le
partage de fichiers et d'imprimantes.
Pour vérifier que les répertoires ont été correctement partagés nous avons utilisé la
commande smbclient de la manière suivante : smbclient -L //127.0.0.1/ (le 127.0.0.1 car
nous sommes toujours sur le serveur, sur un machine linux à distance on doit préciser
l'adresse IP du serveur), puis saisir le mot de passe root ; nous obtenons cet aperçu :
L'option -U permet de préciser l'utilisateur qui veut se connecter au partage. Le console nous
demande le mot de passe de l'utilisateur et autorise l'accès si ce dernier est correct et si
l'utilisateur possède les droits pour accéder à ce partage.
Démarrer > clic droit sur poste de travail > Propriétés > Nom de l ordinateur >
Modifier
Il est nécessaire de s'authentifier avec un compte Administrateur de domaine sur notre poste
client.
Notre ordinateur est désormais intégré au domaine.
A l'ouverture de session, le client doit choisir de se connecter au domaine afin de monter les
répertoires de partage auxquels il a accès dans l'explorateur. Voici l'aperçu de ces lecteurs
dans l'explorateur.
d. Serveur de mails
La plupart des serveurs de messagerie possèdent ces deux fonctions (envoi/réception), mais
elles sont indépendantes et peuvent être dissociées physiquement en utilisant plusieurs
serveurs. L'agent de transfert de courriel communément appelé MTA (Mail Transfert Agent),
en anglais est un programme qui reçoit et envoie les courriels depuis votre serveur, et par
conséquent, en est la pierre angulaire. On distingue plusieurs sortes de MTA dont les plus
connus sont : Postfix, Exim4, SendMail, Google Mail, Fetchmail, Mailman Xmail et Zimbra.
Pour notre projet, nous avons choisi d'utiliser Postfix. Pour permettre le téléchargement des
courriels depuis les postes clients, il est nécessaire de configurer un serveur IMAP ou POP3.
Il en existe de nombreux. On a par exemple Dovecot, Cyrus et Courier. Tous les serveurs
cités dessus peuvent être installés depuis le dépôt principal, et donc bénéficier des mises à
jour de sécurité lorsque cela est nécessaire. Mais celui pour lequel nous avons opté pour ce
projet est le serveur Dovecot.
Postfix est un serveur de messagerie électronique et un logiciel libre développé par Wietse
Venema et plusieurs contributeurs. Il se charge de la livraison de courriers électroniques (
courriels) et a été conçu comme une alternative plus rapide, plus facile à administrer et plus
sécurisée que l'historique Sendmail.
Postfix permet de gérer presque tous les cas d'une utilisation professionnelle, il permet
d'éviter bon nombre de spams sans même devoir scanner les contenus de message.
Une mise à jour de la liste des fichiers disponibles dans les dépôts APT présents dans le
fichier de configuration /etc/apt/sources.list et une mise à jour de tous les paquets installés
sur le système vers les dernières versions sont nécessaires pour la suite. Pour cela nous avons
utilisé les commandes ci-après :
apt-get update
apt-get upgrade
Les paquets postfix, mysql, dovecot et bien d'autres sont installés comme suit :
Lors de cette installation, nous avons configuré dans différentes boîtes de dialogues les
paramètres suivants :
Pour ce faire nous nous sommes connectés à la base de données au travers de cette
commande :
Nous avons créé la base de données pour notre serveur de messagerie de la manière
suivante :
USE mail;
Après sa création nous nous sommes connectés à elle pour créer les différentes tables qu'elle
doit contenir. Nous avons créé un compte administrateur « mail_admin » avec mot de passe
pour gérer la base de données des mails, nous lui avons donné les droits adéquats :
Ø transport
Après ces manipulations, il faut quitter l'invite de commande avec la commande « quit »
pour pourvoir continué la configuration.
Il faut vérifier dans le fichier /etc/mysql/my.cnf que Mysql est configuré pour utiliser
localhost c'est-à-dire l'adresse IP 127.0.0.1 ; ceci est confirmé par la présence de la ligne
« bind-address = 127.0.0.1 » dans le dit fichier. Cette ligne permet à postfix de
communiquer avec le serveur de base de données en local.
Il faut redémarrer mysql pour la prise en compte des modifications : service mysql restart .
user = mail_admin
password = password_admin
dbname = mail
hosts = 127.0.0.1
password = password_admin
dbname = mail
hosts = 127.0.0.1
user = mail_admin
password = password_admin
dbname = mail
hosts = 127.0.0.1
user = mail_admin
password = password_admin
dbname = mail
hosts = 127.0.0.1
Nous avons attribué des autorisations appropriées au groupe utilisant ces fichiers de
configurations ainsi :
chmod o= /etc/postfix/mysql-virtual_*.cf
Nous avons aussi créé un utilisateur et un groupe pour le traitement des courriers
électroniques, ainsi toutes les boîtes aux lettres des utilisateurs sont stockées dans ce
répertoire :
Pour compléter la suite de la configuration, nous avons exécuté la suite des commandes ci-
dessous :
Le certificat créé, nous lui avons attribué les droits nécessaires pour l'utilisation de la clé par
cette commande : chmod o = /etc/postfix/smtpd.key
Le saslauthd est le processus démon qui prend en charge l'authentification en texte plein des
requêtes des utilisateurs. Il faut créer un répertoire pour saslauthd avec la commande :
mkdir -p /var/spool/postfix/var/run/saslauthd
cp -a /etc/default/saslauthd/etc/default/saslauthd.bak
START=yes
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
pwcheck_method: saslauthd
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail_admin
sql_passwd: mail_admin_password
sql_database: mail
Nous avons donné des permissions et droits adéquats pour l'utilisation de ces fichiers de
configuration de la manière suivante :
chmod o= /etc/pam.d/smtp
chmod o= /etc/postfix/sasl/smtpd.conf
Pour que postfix puisse utiliser les services du deomon saslauthd, il faut ajouter l'utilisateur
postfix au groupe sasl, puis redémarrer les services pour la prise en compte des
configurations faites :
Configuration de Dovecat
Nous avons choisi ce serveur IMAP/POP3 pour sa aisance à configurer et son efficacité.
Pour configurer Divecot, nous avons édité le fichier /etc/postfix/master.cf et ajouté en fin de
ligne :
cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak
mail_location = maildir:/home/vmail/%d/%n/Maildir
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
namespace private {
separator = .
prefix = INBOX.
inbox = yes
protocol lda {
log_path = /home/vmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = postmaster@labs.supemir.ma
mail_plugins = sieve
global_script_path = /home/vmail/globalsieverc
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
auth default {
user = root
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
userdb static {
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = vmail
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
Etant donné que Mysql est utilisé pour stocker les mot de passe, nous avons faites une copie
de sauvegarde et l'avons ainsi modifié :
driver = mysql
default_pass_scheme = CRYPT
Avant de tester dovecot, nous avons modifié les permissions sur le fichier
/etc/dovecot/dovecot.conf pour permettre à l'utilisateur vmail d'y accéder :
chmod g +r /etc/dovecot/dovecot.conf
Pour ce faire, nous avons édité le fichier /etc/aliases et l'avons ainsi modifié :
postmaster: root
root: postmaster@labs.supemir.ma
Après avoir modifié ce fichier, un redémarrage de Postfix est requis pour mettre à jour les
alias. La configuration de Postfix est complète, nous sommes au test du serveur mail pour
être sûr qu'il fonctionne correctement.
Test de Postfix
Etant connecté, il faut saisir cette commande pour continuer le test : ehlo localhost
Nous avons dans cette partie, ajouté notre domaine labs.supemir.ma à la table domains et
ajouté également un utilisateur nommé test à la table users . Ceci a nécessité une connexion
à la base de données comme suit :
mysql -u root -p
USE mail;
Quit
Pour activer les nouveaux comptes emails, il faut leur envoyer un message afin qu'ils soient
accessibles par IMAP ou POP3. Ceci est au fait que les emails des nouveaux utilisateurs ne
sont pas créés jusqu'à ce qu'un mail ne leur soit envoyés.
Nous nous sommes servis de mailutils pour envoyer un message à notre nouvel utilisateur
test, pour ce faire on tape la commande :
Ensuite une vérification des fichiers de log de Dovecot situé dans /var/log/mail.log est
requise, nous avons obtenu le message ci-dessous, ce qui signifier que le mail a bien été
envoyé :
Enfin une vérification des fichiers de log de Dovecot situé dans /home/vmail/dovecot-
deliver.log est requise, nous avons obtenu le message ci-dessous, ce qui signifier que le mail
a bien été envoyé :
La configuration de notre serveur mail s'achève ici, mais pour permettre à nos utilisateurs de
pouvoir accéder à leur mail en interface graphique nous avons donc à cet effet mis en place
un webmail.
Installation de squirrelmail
Un webmail ou messagerie Web, est une interface Web rendant possible l'émission, la
consultation et la manipulation de courriers électroniques directement sur le Web depuis un
navigateur.
Un logiciel de webmail est un client de messagerie qui s'exécute sur un serveur Web, Il sert
d'interface entre un serveur de messagerie et un navigateur web contrairement au client lourd
qui permet les mêmes opérations à partir d'un logiciel installé localement sur un ordinateur
personnel. Les avantages du webmail pour l'utilisateur sont de ne pas avoir à installer un
logiciel spécialisé sur sa ou ses machines, de ne pas avoir à faire la configuration de base
pour envoyer et recevoir le courrier et de déporter la responsabilité de la sécurité de
l'installation vers le serveur. Les inconvénients de cette solution sont d'être dépendant en
performance de la rapidité du réseau, en particulier si le nombre de message est grand ou s'il
y a des pièces jointes de taille importante dans les messages.
Nous avons plusieurs sortes de webmail sous la distribution GNU/Linux dont les plus
connus sont : Squirrelmail et Roundcube. Dans la suite de notre projet, nous avons utilisé
Squirrelmail pour sa facilité de déploiement, sa rapidité et sa configuration assez simple.
Nous avons installé Squirrelmail en saisissant la commande :
Il est fournit avec une interface qui facilite sa configuration. Cette interface est accessible par
la commande : squirrelmail-configure
cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
Ensuite nous avons créé un lien vers le répertoire sites-enabled avec la commande :
ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
Test d'utilisation
Nous avons créé des mails virtuels pours les membres de l'administration et les étudiants par
niveau, tous ces utilisateurs peuvent désormais accéder à leurs boîte aux lettres à partir de
toutes les machines du réseau local en saisisant l'adresse :
http://labs.supemir.com/squirrelmail .
Après la mise en place de notre serveur mail et d'un webmail, nous avons pensé à
implémenter une sécurité contre les spams, qui représentent une réelle entrave pour les
serveurs mail. C'est ainsi que pour pallier au problème des spams, nous avons d'installer
SpamAssassin.
Ce logiciel a pour but de filtrer le trafic des courriels pour éradiquer les courriels reconnus
comme pourriels ou courriels non sollicités. Face à l'augmentation importante du spam, ce
logiciel connaît un engouement important et est adaptable sur de nombreux serveurs de
courriels Postfix.
SpamAssassin est un programme (en Perl) qui fait passer un certain nombre de tests au
message. En fonction du résultat de ces tests, il attribue un score au message. Si le score
dépasse un certain seuil, le courriel est alors considéré comme du Spam. SpamAssassin
modifie alors le titre du message (il l'encadre par ** SPAM **). De plus, SpamAssassin
positionne deux nouveaux en-têtes au message : X-Spam-Status et X-Spam-Level. Ces deux
en-têtes permettent alors de créer des filtres dans votre client de messagerie pour orienter le
message (par exemple vers la corbeille). Tous les messages doivent donc passer par
SpamAssassin pour être traités, avant d'arriver dans leur dossier définitif. Nous allons donc
procéder à l'installation de SpamAssassin. Ubuntu possède par défaut un anti-spam
Bogofilter, il est installé et activé par défaut, il faut donc au préalable le désinstaller, cela se
fait en ligne de commande ou en passant par la logithèque Ubuntu. Ensuite on peut installer
SpamAssassin, en tapant la commande :
Nous avons souhaité qu'il ne démarre pas en tant que root, de ce fait nous avons créé un
groupe et un utilisateur spamd de la manière suivante :
groupadd spamd
mkdir /var/log/spamassassin
ENABLED=1
SAHOME="/var/log/spamassassin/"
OPTIONS="--create-prefs --max-children 2 --username spamd \-H ${SAHOME} -s $
{SAHOME}spamd.log"
-o content_filter=spamassassin
user=spamd argv=/usr/bin/spamc -f -e
Ceci fait, nous avons redémarré, nous avons redémarré Postfix pour charger la modification
effectuée.
Installation de Webmin
Webmin est un outil permettant d'administrer une machine Linux. Il s'utilise par le biais d'un
navigateur web. Webmin est une mine d'or pour les administrateurs réseaux : presque tout
peut être configuré avec Webmin.
Nous avons procédé à l'installation de Webmin en ajoutant d'abord sa clé à notre système en
tapant :
cd /root
wget http://www.webmin.com/jcameron-key.asc
Ceci fait, l'installation en ligne de commande est donc possible en exéxutant ces
commandes :
apt-get update
Pour utiliser Webmin, il faut entrer dans notre navigateur l'adresse https://localhost:10000.
Et nous avons l'interface de login :
Après avoir renseigné les champs de login et de mot de passe correctement, nous obtenons le
panneau visuel ci-dessous :
Au travers de cette interface, nous avons une visibilité sur l'ensemble des services du
système, nous pouvons leur apporter des modifications d'une manière aisée. Il reste à noter
que pour des configurations affinées, il serait primordial de faire recourt aux fichiers de
configuration afin de faire les modifications manuellement.
Notre serveur est désormais fonctionnel, tout en respectant le cahier de charge qui a été
définit.
e. Serveur web
Le poste nommé srvsupemir3 est le nom du serveur qui nous a servi de serveur web. Pour
ce faire, nous avons procédé en deux étapes : d'abord nous avons installé un serveur web et
ensuite hébergé un site web qui nous a servi de site de test.
Sous le système GNU/Linux, nous disposons d'une variété de serveurs mais les plus réputés
sont : LAMP Server, Nginx, XAMPP.
Pour notre serveur, nous avons opté d'utiliser XAMPP car est que tout est bien ficelé pour
que tout s'installe facilement et s'utilise très facilement. XAMPP est un kit d'installation
d'Apache qui contient MySQL, PHP et Perl. Nous avons donc utilisé le kit Xampp pour les
systèmes Linux ; ce kit (testé sous SuSE, RedHat, Mandrake and Debian) comprend :
Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2,
libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses,
mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite et IMAP C-Client.
Installation
Explication :
· tar : le programme permettant de gérer les archives tar ou tar.gz (c'est le cas échéant).
· x : extrait l'archive.
· f : utilise le fichier donné en paramètre, dans notre cas nous avons donné le chemin d'accès
absolu à ce fichier.
L'installation terminée, il est nécessaire de démarrer le service pour pouvoir l'utiliser, ceci au
travers de la commande : /opt/lampp/lampp start .
Notre serveur web installé, il a fallu vérifier qu'il fonctionne correctement et pour ce faire
nous avons saisi l'adresse http://localhost dans la barre d'adresse du.
Sécurisation
L'inconvénient de xampp est qu'il est destiné à un usage de développement afin d'offrir le
plus d'ouverture possible. Les éléments de sécurité absents observés sont les suivants :
Ceci ouvre des brèches exploitables par un utilisateur malveillant ou des initiateurs
d'attaques sur internet.
Pour corriger ces faiblesses de sécurité, il a été important pour nous d'exécuter cette
commande : /opt/lampp/lampp security, elle effectue une vérification de sécurité et rend le
service xampp plus sécurisé. Elle permet en fait de modifier les paramètres par défaut de la
manière suivante.
Pour ce déploiement, nous avons utilisé le CMS Joomla! sous lequel nous avons créé un site
pour l'école SUPEMIR. Joomla! Est un système de gestion de contenu libre, open source et
gratuit. Il est écrit en PHP et utilise une base de données MySql.
Nous avons donc exporté notre site créé localement et nous l'avons hébergé sous le serveur
web. Voici les étapes de mise en place de notre site web sous notre serveur :
Ø Création d'une nouvelle base de données qui va accueillir la base de données sous
PhpMyAdmin de Xampp,
Ø Copie de l'ensemble des fichiers de notre site que nous avons placé à l'arborescence de la
racine de notre site que nous avons créé avec la commande :
sudo mkdir /opt/lampp/htdocs/supemir
Ø Pour que le site soit fonctionnel sous notre serveur, nous avons donc modifié le fichier de
configuration de notre site config.php ( se trouvant à la racine de notre site) pour qu'il puisse
avoir accès à la base de données. Nous avons renseigné ce fichier par rapport à la
configuration de notre serveur.
Ø Pour permettre ensuite aux utilisateurs d'avoir accès à notre site, nous leur avons donné les
droits d'accès au dossier supemir et à ses arborescences grâce à la commande : sudo chmod
-R 777 /opt/lampp/htdocs/supemir
Maintenant nous pouvons nous connecter à notre site, en saisissant dans notre navigateur
https://localhost/supemir, ou depuis une machine du réseau nous saisissons :
https://192.168.4.2/supemir.
Figure 34 : Aperçu du site de test de SUPEMIR hébergé sur notre serveur.
f. Serveur proxy
Notre choix pour Squid se justifie par sa nature de logiciel libre et sa performance. Pour sa
mise en place tout comme les autres logiciels il faut avoir les doits d'administration.
Installation
Configuration
La configuration par défaut de squid est fonctionnelle, mais nous avons apporté des
modifications au fichier de configuration afin de l'optimiser, de mieux l'adapter à notre
environnement et également pour rester en parfaite adéquation avec notre cahier de charges.
Nous avons édité le fichier squid.conf et nous avons ajouté les lignes suivantes :
Nous avons définit ici les liste de contrôle d'accès pour la gestion des droits d'accès.
définit l'adresse du routeur auquel nous avons autorisé l'accès à partir de certains postes
Nous avons ajouté ces acls à la suite des lignes commaçant par « acl local_net » afin de
respecter la structure du fichier.
Après avoir créé les listes de contrôle d'accès, nous les avons autorisé à utiliser le proxy
come suit :
Ces lignes sont ajoutées juste avant la ligne http_access deny all qui bloque
Ø Autres modifications
o Nom du serveur
Dans la partie TAG : visible_hostname, nous avons ajouté le nom de notre serveur avec cette
ligne : visible_hostname srvsupemir2
Nous avons désactivé l'option qui permet d'inclure l'adresse IP ou le nom du système dans
les requêtes http que le serveur proxy transfert, ceci en décommentant et en modifiant la
ligne « # forwarded_for on|off » comme suit : forwarded_for on. Ceci permet de réduire les
failles de sécurité au niveau du proxy.
o Messages d'erreur
Par défaut les messages d'erreur de squid sont en anglais, nous avons configuré la langue
française pour faciliter la compréhension des erreurs aux utilisateurs. Ainsi dans la partie
TAG : error_directory, nous avons décommenté et modifié la ligne comme suit :
error_directory /usr/share/squid/errors/French .
o Cache web
Puisque notre proxy doit jouer le rôle de cache, nous avons augmenté la taille du cache en
décommentant et en modifiant la ligne comme suit :
o DNS
Nous avons ajouté cette ligne pour préciser les serveurs dns que le proxy doit interroger. Ce
ci se fait dans la partie TAG : dns_nameservers :
o Proxy transparent
Afin d'obliger tous les utilisateurs à passer par le proxy avant d'aller sur internet, nous avons
configuré pour un usage transparent. Ainsi nous avons modifié la ligne « http_port 3128 »
comme suit : http_port 3128 transparent.
Pour un bon fonctionnement nous avons ajouté une règle au niveau du firewall qui redirige
toutes les requêtes du réseau local utilisant le port 80 vers le serveur proxy.
Redémarrage du service
Après tout les modifications, il est important de redémarrer le processus squid pour la prise
en compte des paramètres configurés : service squid stop puis service squid start.
Nous avons opté de couplé squid avec squidGuard qui est un rédirecteur utilisé par ce
dernier pour limiter l'accès à certaines URL en fonction de l'utilisateur, de la machine, de
l'heure, du contenu ...
Ce logiciel a plusieurs avantages, mais n'en avons utilisé que deux. Le premier d'entre eux
est de limiter l'accès à des sites potentiellement dangeureux pour le poste client et plus
généralement pour le réseau. Enfin, d'un point de vue légal, le fait de détenir des documents
dégradants étant répréhensible, la mise en place de SquidGuard contribue à se prémunir de
ce genre de mésaventure.
- Récupération des blacklists (liste noire, elle contient des une liste des urls malveillantes)
wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
cd /var/lib/squidguard/db
mv blacklists/* .
rm -rf blacklists
Nous avons paramétré une mise à jour hebdomadaire des listes noires du squidGuard en
créant une tâche cron. Pour ce faire, nous avons le fichier nommé squidguard_blacklists
(gedit /etc/cron.weekly/squidguard_blacks) et nous y avons inscrit les lignes suivantes :
#!/bin/sh
if [ -d /var/lib/squidguard ]; then
wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz -O
/var/lib/squidguard/blacklists.tar.gz
rm -rf /var/lib/squidguard/db
mv -f /var/lib/squidguard/blacklists/* /var/lib/squidguard/db/
/usr/bin/squidGuard -C all
/etc/init.d/squid restart
fi
Nous avons également modifié le fichier de configuration de squidGuard afin de préciser les
domaines auxquels nous avons appliqué des restrictions :
dbhome /var/lib/squidguard/db
logdir /var/log/squid
# ----------------------------------------
# ----------------------------------------
dest adult {
domainlist adult/domains
urllist adult/urls
dest publicite {
domainlist publicite/domains
urllist publicite/urls
dest warez {
domainlist warez/domains
urllist warez/urls
dest porn {
domainlist porn/domains
urllist porn/urls
dest violence {
domainlist violence/domains
urllist violence/urls
# ----------------------------------------
# ----------------------------------------
acl {
default {
# les thèmes supplémentaires sont à ajouter avant le mot-clé all par !<nom du thème>
pass !porn !adult !publicite !warez !violence all
# page qui s'affichera lors d'une tentative d'accès àaux sites interdits
redirect http://localhost/interdiction.html
Ceci fait, nous avons redémarré squid (service squid restart) pour charger les paramétrages
effectués.
Puisque le service fourni utilise un port particulier du serveur, les machines clientes doivent
bien sûr être configurées en conséquence. Sur un poste client connecté sur le réseau local
(avec une adresse IP valide) et qui établit parfaitement un 'ping' vers le serveur proxy, nous
avons faites la configuration suivante.
Pour Firefox
Cocher Serveur Proxy et entrer l'adresse IP 192.168.2.2 et le numéro de port d'écoute qui est
3128.
Pendant les heures où la connexion est interdite, les utilisateurs reçoivent ce message
lorsqu'ils essaient de se connecter :
Figure 35 : Message d'erreur pendant les heures où la connexion est interdite.
Nous avons paramétré cette page pour qu'elle informe l'utilisateur des horaires auxquels il
peut se connecter
g. Firewall
Notre firewall est un ordinateur sur lequel nous avons installé Red Had Enterprise linux
server 5. Netfilter que nous avons utilisé est un firewall natif intégré à linux qui utilise
iptables comme interface en ligne de commande pour sa configuration. Nous avons intégré
trois cartes réseau à ce poste afin de le relier au serveur web et au serveur proxy par des
câbles croisés ; il est relié au réseau local et au routeur par des câbles droits.
Nous avons attribué des adresses statiques à ces interfaces du firewall
Nous avons édité les fichiers et les avons modifiés comme suit :
gedit /etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=00:0c:29:74:15:67
TYPE=Ethernet
gedit /etc/sysconfig/network-script/ifcfg-eth1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:0c:29:74:15:5d
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.2.1
USERCTL=no
IPV6INIT=no
PEERDNS=yes
gedit /etc/sysconfig/network-script/ifcfg-eth2
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:0c:29:74:15:71
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=192.168.4.1
USERCTL=no
IPV6INIT=no
PEERDNS=yes
gedit /etc/sysconfig/network-script/ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:0c:29:74:15:7b
NETMASK=255.255.255.0
IPADDR=192.168.3.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
Afin d'activer le routage entre les quatres interfaces réseaux, nous avons activé le service
routage de Linux par la commande : « echo 1 > /proc/sys/net/ipv4/ip_forward » .
Pour rendre ce routage permanant nous avons modifié cette valeur dans le fichier
/etc/sysctl.conf en remplaçant la ligne « net.ipv4.ip_forward= 0 » par
« net.ipv4.ip_forward = 1 ».
Règles de filtrage
Toutes les requêtes http du réseau local doivent passer par le proxy
Accès au serveur web depuis le réseau local autorisé
II. SECURITE
- Se prémunir des attaques (proactif) en évitant, dans un premier temps, la présence des
failles dans les composants du système d'information. Dans l'optique de respecter ce premier
point, nous avons opté pour des versions stables des logiciels mis sur le réseau.
- Réparer le système suite à un incident ou à une compromission. Nous avons pensé à une
sauvegarde périodique des configurations réalisées sur les machines, les fichiers de partages
et les mails sur un support externes.
Réalisations
Suggestions
Ø Aménagement d'un local technique à accès restreint où tous les serveurs seront placés, ce
dernier doit être une salle donc l'accès n'est autorisé qu'aux personnes qui administrent le
réseau.
Etapes
Réunion de lancement et cadrage du projet
Vu le temps que nous avons mis pour le déploiement du réseau de SUPEMIR, pour un
éventuelle projet de même nature, nous estimons à trois mois le temps nécessaire pour
présenter une solution complète, avec une documentation à l'appui.
L'offre financière est exprimée en journées homme de travail, auxquelles sont associés les
coûts unitaires suivants, fonction des profils des experts intervenant sur le projet :
Sur ces bases, le budget lié à la réalisation des composants de la solution global est présenté
comme suit.
1. Fourniture matériels
Quantité Coût
Matériel
Ordinateur 4 1200
Switch 1 600
Câble RJ-45 catégorie 6 100
Carte réseau Ethernet 3 600
Total 2500
Ces matériels peuvent varier si le client opte pour la virtualisation de ses certains serveurs.
Coût en Dhs
Tâches
Cadrage du projet : 1000
- Mise en place du cadre organisationnel
- Identification des risques liés à l'exécution du projet
Conception et rédaction du dossier technique de la solution 2000
Mise en oeuvre de la solution : 2000
- Installation et configuration des postes
- Configuration des noeufs actifs du réseau
Déploiement de la solution 1000
Total 6000
3. Coordination
Coût
Coordination
Coordination et vérification de la bonne exécution du projet 1000
Total 1000
Coût
Liste des prestations
Fourniture de matériel 2500
Mise en place de la solution 6000
Coordination et vérification de la bonne exécution du projet 1000
Pré requis : formations (formations pour l'administrateur) 800
Total
CONCLUSION
La sécurité des systèmes d'informations prend tout son sens dans un contexte tel que celui
dans lequel nous avons travaillé. La connaissance des principes de base de la sécurité ainsi
que la mise en place d'une bonne politique de sécurité a contribué, dans ce cadre, à instaurer
un réseau sécurisé même si l'activité de ce dernier n'était pas significative par rapport à la
durée du projet. Même si les exigences fonctionnelles et non fonctionnelles ont été
satisfaites, ce manque aurait pu être comblé par une capacité étendue de virtualisation du
parc, offrant une continuité de service à ce dernier.
Les enseignements acquis par le biais de notre autonomie et la démarche de recherche ont
incontestablement participé à l'acquisition de méthodes valorisantes pour l'avenir
professionnel se dessinant à cours terme.
REFERENCES BIBLIOGRAPHIES
· Support électronique
http://www.apachefriends.org/fr/xampp-windows.html
http://library.linode.com/email/postfix/dovecot-mysql-ubuntu-10.10-maverick
https://help.ubuntu.com/community
http://doc.ubuntu-fr.org
http://fr.wikipedia.org
· Support papier
Supports de cours technologies réseaux, sécurité internet, administration réseaux sous Unix.
GLOSSAIRE
Bande de base : Mode de transmission où les informations à transmettre ne subissent pas de
modification de rythme entre l'émetteur et le canal de transmission, et où la modulation
occupe la totalité de la bande passante.
Garde-barrière : Système logiciel ou matériel utilisé pour empêcher les intrusions non
autorisées sur un réseau.
Blacklist : listes des sites internet qui ne respectes pas certaines règles et conditions et qui
sont de ce fait réprimandés par les moteurs de recherches.
Figure 9 : Ajout du groupe des ordinateurs et d'un compte machine à Samba. 57
Figure 34 : Aperçu du site de test de SUPEMIR hébergé sur notre serveur. 86
Figure 35 : Message d'erreur pendant les heures où la connexion est interdite. 92
IP : Internet Protocol