Mise en place d'un proxy sécurisé LDAP
Mise en place d'un proxy sécurisé LDAP
F'
République Algérienne démocratique et populaire
'N.وFوFGتF' ةNFG
Faculté de Technologie
GـNFH7تGFل䐥' G7F
Département d’Électronique
Mémoire de Master
Filière télécommunication
Spécialité : Systèmes de télécommunications
Présenté par
Nous tenons avant tout à remercier dieu le tout puissant de nous avoir
accordé le courage et la volonté de parvenir à la fin de notre parcours
universitaire.
Nous remercions particulièrement notre promoteur Mr Kabir pour le
temps qu9il nous consacré afin de nous apporter les outils
méthodologiques indispensables à la conduite de ce projet. Son exigence
nous a grandement stimulés.
Aussi, nous voudrions exprimer notre reconnaissance envers les amis et
collègues qui nous ont apporté leur soutien moral et intellectuel tout au
long de Notre démarche.
Nous remercions également les membres du jury qui nous ont fait
l9honneur d9examiner notre travail.
Dédicace
Je dédie ce travail,
À mes chers parents pour leur soutien, leur patience et leur encouragement
durant mon parcours scolaire.
À mes honorables professeurs qui m'ont encadré sur le long de mon cursus
universitaire, et à tous ceux qui ont contribué de près ou de loin pour que ce
projet soit possible, je vous dis merci.
Fares.
Dédicace
Aux êtres qui me sont les plus chers au monde ; ma chère mère et mon père à
qui je dois mon existence et mes succès Que Dieu le tout puissant les protège.
A toute ma famille,
Ishak
Résumé :
Avec les avancées technologiques et la connexion constante à internet, il est très important
d9assurer une protection minimale de la confidentialité des données personnelles dans le
réseau. Les serveurs mandataires sont donc un outil primordial dans la sécurisation du trafic
sur le Web.
C9est pourquoi nous avons mis en place un serveur proxy squid sous Ubuntu 20.04 Linux
couplé à un annuaire réseau Active Directory, nous avons constaté durant notre étude que
le serveur proxy squid nous permet de bloquer complétement l9accès à internet a certains
utilisateurs ou même bloquer uniquement les sites que l9on juge dangereux ou inutiles. On
peut également implémenter les services d9authentification en utilisant un annuaire réseau
Active Directory pour avoir un meilleur contrôle et une meilleure gestion des utilisateurs.
Cette expérience nous a donc permis de découvrir et de travailler avec des nouveau outils et
systèmes pour améliorer les conditions de navigation sur Internet.
Abstract :
With technological advances and constant connection to the internet, it is very important to
ensure minimum protection of the confidentiality of personal data in the network. Proxy
servers are therefore an essential tool in securing web traffic.
This is why we have set up a squid proxy server under Ubuntu 20.04 Linux coupled with an
Active Directory network Directory, we noted during our study that the squid proxy server
allows us to completely block access to the internet for certain users or even block only sites
that are deemed dangerous or unnecessary. Authentication services can also be
implemented using an Active Directory network directory to have better control and
management of users.
This experience has therefore enabled us to discover and work with new tools and systems
to improve Internet browsing conditions.
Sommaire
1. Préambule ................................................................................................................................ 3
2. Définition d9un réseau informatique ........................................................................................ 3
3. Classification des réseaux informatiques ................................................................................. 3
9. L9adressage IP ......................................................................................................................... 14
1. Préambule .............................................................................................................................. 16
2. Définition ................................................................................................................................ 16
3. Vulnérabilité ........................................................................................................................... 16
4. Menaces ................................................................................................................................. 17
5. Risques .................................................................................................................................... 17
1. Préambule : ............................................................................................................................ 31
2. Définition d9un annuaire réseau ............................................................................................. 31
3. La différence entre un annuaire et une base de données .................................................... 32
4. Caractéristiques : .................................................................................................................... 33
5. Avantage des annuaires : ....................................................................................................... 33
6. Les types d9annuaires ............................................................................................................ 33
7. Annuaires LDAP : ................................................................................................................... 34
Chapitre IV : Réalisation
1. Préambule :............................................................................................................................. 51
2. Réseau étudié : ...................................................................................................................... 51
3. Présentation des outils : ........................................................................................................ 52
Chapitre I
Fig1. Les types de réseaux selon l9étendue géographique ...........................................................4
Chapitre II
Fig9. Chiffrement symétrique ......................................................................................................23
Chapitre III
Fig14 : Exemple de communication client/serveur ......................................................................36
Fig19 : Eexemple d9un serveur LDAP avec deux Root Entry .........................................................42
Sommaire
Chapitre IV
Fig21 : schéma global du réseau étudié ......................................................................................52
Introduction générale :
L'informatique est aujourd'hui devenue très ouverte au monde extérieur du fait de la
démocratisation de l'ordinateur personnel et l'avènement de l'Internet.
Les technologies de l'information d'aujourd'hui sont devenues très ouvertes. Ce dernier est
un outil essentiel qui rassemble de nombreux utilisateurs du monde entier.
D'après le site Internet Live Stats, plus de 5 milliards de personnes dans le monde avaient
accès à Internet fin 2021. En dix ans, le nombre d'internautes sur la planète a bondi de plus
de 150%. Dans cette même année le nombre de sites web a dépassé 1.8 milliard.
Internet est devenu de plus en plus accessible, mais il cache de nombreux dangers qui sont
souvent ignorés par de nombreux utilisateurs, ce qui entraîne des problèmes de sécurité.
La sécurité d9un système informatique repose en premier lieu sur la mise en place d9une
politique de sécurité. Celle-ci est basée sur l9utilisation de différents outils. Parmi lesquels,
les firewalls, VPN (Virtual Private Network), antivirus etc. [1]
Le protocole de sécurité SSL (Secure Socket Layer) permet théoriquement de sécuriser tout
protocole applicatif s9appuyant sur TCP/IP (HTTP, LDAP, Telnet&etc.) mais en pratique ses
implémentations les plus répandues sont LDAPS et HTTPS.
Les réseaux locaux sont fréquemment reliés à Internet via des passerelles ou routeurs, ils
utilisent le plus souvent le protocole TCP/IP [2].
Dans notre étude, nous allons utiliser un proxy pour relier notre réseau local à Internet.
Tous nos utilisateurs vont alors passer par notre proxy pour l'obtention de pages Web.
Notre choix de proxy s'est porté sur SQUID qui, en plus d'etre libre, est très souple, léger et
facile à mettre en place. Le rôle initial du serveur proxy ou serveur mandataire est de relayer
1
Introduction générale
des requêtes HTTP entre un poste client et un serveur. En plus de ce rôle, il peut jouer une
fonction de sécurité en constituant une barrière entre Internet et notre réseau local. Notre
serveur proxy
SQUID va aussi être couplé à un annuaire LDAP pour l'authentification des utilisateurs de
notre réseau.
Le premier chapitre est consacré à définir les notions de base des réseaux
informatiques
Le second chapitre est un chapitre descriptif de la sécurité des réseaux. Nous avons défini
les menaces, les logiciels malveillants et la politique de sécurité ainsi que les principaux
mécanismes de sécurité.
Dans le troisième chapitre nous abordons les annuaires réseaux tout en mentionnant
l9annuaire Active Directory de Microsoft.
Enfin, dans le chapitre final, nous allons voir étape par étape le processus de la mise en
place du serveur mandataire Proxy Squid avec l9implémentation de l9annuaire LDAP.
2
Chapitre I
1. Préambule :
La connexion entre ces différents éléments peut se faire à l'aide de liaisons permanentes
telles que des câbles mais également à l'aide de réseaux publics de télécommunications
tels que le réseau téléphonique.
Il existe différents types de réseaux, classés selon plusieurs critères tels que la taille du
réseau
(Nombre de machines), la vitesse de transfert des données et par rapport à leur destination
[4].
3
Chapitre 1 Généralités sur les réseaux informatiques
Un WAN (Wilde Area Network ou réseau étendu) interconnecte plusieurs LAN à travers
de grandes distances géographiques.
La vitesse disponible sur le WAN dépend du compromis du coût de la liaison (distance
croissante) et peut être faible.
Les WAN fonctionnent grâce à des routeurs qui permettent de choisir le trajet le plus
approprié pour atteindre un nSud du réseau le plus connu des WAN est Internet.
4
Chapitre 1 Généralités sur les réseaux informatiques
Il existe quatre types principaux de topologie physique est la configuration spatiale des
ordinateurs du réseau.
On distingue principalement quatre types :
La topologie en bus est l'organisation de réseau la plus simple. En fait, dans cette topologie,
tous les ordinateurs sont connectés à la même ligne de transmission par des câbles
coaxiaux.
5
Chapitre 1 Généralités sur les réseaux informatiques
Dans une topologie en anneau les ordinateurs sont situés sur une boucle et communiquent
chacun à leur tour.
En effet, dans une topologie anneau, les ordinateurs ne sont pas reliés en boucle mais, sont
reliés à un répartiteur (appelé MAU, Multi station Access Unit) qui va gérer la
communication entre les ordinateurs qui lui sont connectés en distribuant à chacun d'entre
eux un temps de parole.
Une topologie maillée est une évolution de la topologie en étoile. Elle correspond à
plusieurs liaisons poindre à point.
Une unité réseau peut avoir (1, N) connexions point à point vers plusieurs autres unités.
Chaque borne est connectée à tous les autres Ce qui implique l9inconvénient que le nombre
de liaisons nécessaires devient très élevé.
6
Chapitre 1 Généralités sur les réseaux informatiques
4. Architectures réseaux :
Les réseaux informatiques peuvent également être classés comme suit en fonction de la
relation fonctionnelle entre les composants [4] :
Dans une architecture d9égale à égale appelée aussi poste à poste, contrairement à une
architecture de réseau de type client/serveur, il n'y a pas de serveur dédié.
Ainsi chaque ordinateur dans un tel réseau joue à la fois le rôle de serveur et de client.
Cela signifie que chacun des ordinateurs du réseau est libre de partager ses ressources.
7
Chapitre 1 Généralités sur les réseaux informatiques
Un réseau local est utilisé pour interconnecter les ordinateurs d'une organisation, mais une
organisation peut posséder plusieurs réseaux locaux, il est donc parfois nécessaire de les
relier entre eux par des équipements spécifiques sont nécessaires.
Dans le cas, de deux réseaux de même type, Il suffit de passer la trame de l'un à l'autre,
sinon, c'est-à-dire lorsque les deux réseaux utilisent des protocoles différents, la conversion
de protocole doit être effectuée avant que la trame ne soit transmise.
8
Chapitre 1 Généralités sur les réseaux informatiques
5.2. Le répéteur :
5.3. Le concentrateur :
5.4. Le commutateur :
Les commutateurs ont donc été introduits pour augmenter la bande passante globale d9un
réseau d9entreprise et sont une évolution des concentrateurs Ethernet.
5.5. Le routeur :
9
Chapitre 1 Généralités sur les réseaux informatiques
Ce modèle a été mis en place par l'ISO (International Standard Organisation) afin de mettre
en place un standard de communications entre les ordinateurs d'un réseau, c'est-à-dire les
règles qui gèrent les communications entre des ordinateurs.
Elle transfère les bits à travers un canal de communication. Ces bits encodés peuvent être en
numérique mais aussi en analogique. Cette couche transmet les bits de la couche liaison de
données9 à l9interface physique et vice-versa.
Elle prend les données de la couche physique et fournit ses services à la couche 8réseau9. Les
bits reçus sont assemblés en trames
Donc, elle doit s9occuper du maintien, de libération des connexions et du transfert des
unités des données de service liaison.
En outre, cette couche a pour but de corriger les erreurs produites au niveau de la couche
physique.
Cette couche assure toutes les fonctionnalités de services entre les entités du réseau, c9est à
dire l9adressage, le routage, le contrôle de flux, la détection et la correction d9erreurs non
résolues par la couche liaison pour préparer le travail de la couche transport.
6.4. La couche transport :
Elle assure l9ouverture et la fermeture des sessions avec les applications, définie les règles
d9organisation et de synchronisation du dialogue entre les abonnés
10
Chapitre 1 Généralités sur les réseaux informatiques
Cette couche a pour objectif de fournir des services aux utilisateurs d9un réseau. Elle
contient l9application informatique (le programme) qui désire communiquer avec une autre
application distante.
TCP/IP est formé sur les noms des deux protocoles majeurs utilisés sur Internet :
Le protocole TCP « Transmission Control Protocol » et le protocole IP « Internet Protocol ».
11
Chapitre 1 Généralités sur les réseaux informatiques
7. 1. Couche application :
La couche application gère les protocoles de niveau supérieur, les représentations, le code
et le contrôle du dialogue.
En outre la prise en charge du transfert de fichiers, du courrier électronique et de la
connexion à distance, le modèle TCP/IP possède des protocoles prenantes charge des
services comme : TELNET, http.
La couche transport fournit une connexion logique entre les hôtes sources et de destination.
Les protocoles de transport segmentent et rassemblent les données envoyées par des
applications de couche supérieure, entre les deux points d'extrémités.
Le rôle principal de la couche transport est d'assurer une fiabilité et un contrôle de bout en
bout lors du transfert des données. [4]
Ces paramètres sont gérés par le protocole TCP de cette couche, contrairement au protocole
UDP, qui n'ouvre pas de session et n'effectue pas de contrôle d'erreur.
Officiellement, cette couche n'a que deux implémentations : le protocole TCP (Transmission
Control Protocol) et le protocole UDP (User Data gram Protocol). [4]
Le rôle de la couche Internet consiste à sélectionner le meilleur chemin pour transférer les
paquets sur le réseau.
Le principal protocole de cette couche est le protocole IP qui assure la détermination du
meilleur chemin et la commutation des paquets ont lieu au niveau de cette couche.
Parmi les protocoles qui s9exécutent au niveau de cette couche est : le protocole IP, ARP. [4]
La couche accès réseau est la première couche de modèle TCP/IP, elle offre les capacités
d9accéder à un réseau physique, c'est-à-dire les moyens à mettre en Suvre afin de
transmettre des données via un réseau. [4]
12
Chapitre 1 Généralités sur les réseaux informatiques
Cette couche contient toutes les spécifications concernant la transmission de données sur
un réseau physique, qu'il s9agisse de réseau local LAN (Ethernet), ou WAN (RNIS, RTC,
ADSL..).
7. Les protocoles :
8.1. Le protocole IP :
Le protocole IP fait partie de la couche Internet de la suite de protocoles TCP/IP. C'est un
protocole le plus important d'Internet car il permet l'élaboration et le transport des
datagrammes IP (les paquets de données), sans toutefois en assurer la livraison. En réalité,
le protocole IP traite les datagrammes IP indépendamment les uns des autres en
définissant leur représentation et leur routage. [4]
Le protocole TCP est chargé de couper le flux de données transmis par la couche supérieure
en segments, qui constituent les unités des données prises en charge par le TCP. [4]
UDP est un complément du protocole TCP qui offre un service de datagrammes sans
connexion qui ne garantit ni la remise ni l'ordre des paquets délivrés.
Les sommes de contrôle des données sont facultatives dans le protocole UDP.
Ceci permet d'échanger des données sur des réseaux à fiabilité élevée sans utiliser
inutilement des ressources réseau ou du temps de traitement.
13
Chapitre 1 Généralités sur les réseaux informatiques
Les messages (ou paquets UDP) sont transmis de manière autonome (sans garantie de
livraison.) [4].
9. l’adressage IP :
L9acheminement de l9adressage IP se réalise comme suit :
Chaque paquet de données transmis par le protocole Internet est étiqueté
avec deux adresses IP pour identifier l9expéditeur et le destinataire.
Le réseau utilise l9adresse de destination pour transmettre la donnée.
Le destinataire sait à qui répondre grâce à l9adresse IP de l9expéditeur.
Chaque composant connecté au réseau doit donc posséder au moins une adresse IP
pour établir des connexions.
La particularité du format d9adresse adopté avec le protocole IP est noué par une partie
réseau, une partie hôte et une adresse unique. [4]
La partie réseau : C9est une adresse réseau (Net ID) qui identifie un réseau
physique. Tous les hôtes d9un même réseau doivent avoir la même adresse
réseau.
La partie hôte : C9est une adresse machine (Host ID) qui identifie une station de
travail, un serveur, un routeur ou tout autre hôte TCP/IP du réseau.
L9Host ID doit être unique pour chaque Net ID. Deux formats permettent de faire
référence à une adresse IP :
14
Chapitre 1 Généralités sur les réseaux informatiques
10. Discussion :
15
Chapitre II :
1. préambule :
L'évolution des usages d'Internet oblige de nombreuses entreprises à mettre en place un
système d'information sécurisé. Le concept de sécurité recouvre un ensemble de méthodes
et d'outils techniques chargés de protéger les ressources.
Dans ce chapitre, nous nous intéressons aux principales menaces pesant sur la sécurité des
réseaux et les mécanismes de défense.
2. Définition :
3. Vulnérabilité :
Une vulnérabilité informatique est spécifiquement une faille ou faiblesse dans un système
informatique qui permet à un attaquant de compromettre la sécurité du système, à savoir
son fonctionnement normal, à la disponibilité à la confidentialité et à l'intégrité des
données.
16
Chapitre 2 Sécurité des réseaux informatiques
4. Menaces :
Une menace est un danger qui existe dans l9environnement d9un système indépendamment
de celui-ci. Il représente l'ensemble des actions de l'environnement d'un système pouvant
entraîner des pertes financières. [5]
Un système informatique sera d9autant plus menacé que les informations qu9il contient
auront une valeur à la fois pour leur propriétaire et pour d9autres entités. Il existe deux
types de menaces qui sont :
La plupart des risques sont des comportements malveillants. Ils sont les cibles principales
des mesures de protection. Il s'agit notamment des menaces passives et des menaces
actives.
5. Risque :
Les risques se mesurent en fonction de deux critères principaux : la vulnérabilité et la
sensibilité.
5.1 La vulnérabilité :
Désigne le degré d9exposition à des dangers. Un des points de vulnérabilité d9un réseau est
un point facile à approcher.
17
Chapitre 2 Sécurité des réseaux informatiques
5.2 La sensibilité :
Désigne le caractère stratégique d9un composant du réseau. Celui-ci peut être très sensible,
vu son caractère stratégique mais quasi invulnérable, grâce à toutes les mesures de
protection qui ont été prises pour le prémunir contre la plupart des risques.
6. Les failles de sécurité sur internet : [4]
En entreprise c9est le réseau local qui est connecté à Internet. Il est donc indispensable de
contrôler les communications entre le réseau interne et l'extérieur.
De plus une formation du personnel est indispensable. Les problèmes de sécurité qu9on
peut rencontrer sur un réseau d'entreprise ou sur l'Internet relèvent d'abord de la
responsabilité des victimes avant d'être imputables aux hackers.
18
Chapitre 2 Sécurité des réseaux informatiques
7. Les attaques :
7.1. Définition :
Tout ordinateur connecté à un réseau informatique est potentiellement vulnérable à une
attaque. [5]
Ce dernier est l9exploitation d9une faille d9un système informatique qui a pour Conséquence
d9utiliser le système d9une façon qui n9a pas été prévue pas ses concepteurs :
Pour accumuler des informations qui ne sont pas censées être publique
Pour effectuer des actions aux quelles l9on n9est normalement pas autorisé
Pour empêcher le dit système de fonctionner.
7.2.1. Virus :
Un virus est un programme informatique situé dans le corps d'un autre programme qui
modifie le fonctionnement de l9ordinateur à l9insu de l9utilisateur.
Il se propage par duplication pour cela, il va infecter d9autres programmes d'ordinateurs en
les modifiant de façon à ce qu'ils puissent à leur tour se dupliquer. Il agit lorsqu9il est chargé
en mémoire au moment de l9exécution du logiciel infesté. [5]
7.2.2. Ver :
Un cheval de Troie (Trojan, Troyen) est un programme qui tout en se cachant derrière une
application utile va infecter discrètement un système et pourra permettre d9en prendre le
contrôle distance. [5]
Un cheval de Troie ne peut pas en tant que tel se reproduire ; il est généralement conçu
pour une action ciblée.
19
Chapitre 2 Sécurité des réseaux informatiques
Le Dos est une attaque visant à générer des arrêts de service et donc à empêcher le bon
fonctionnement d9un système. [5]
Cette attaque ne permet pas en elle-même d9avoir accès à des données. En général, le déni
de service va exploiter les faiblesses de l9architecture d9un réseau ou d9un protocole. [5]
Un sniffer est un outil matériel ou logiciel, permettant de lire les données qui circulent dans
un réseau. Si les données sont non chiffrées, on peut obtenir des informations sensibles
comme les mots de passe.
Ce genre d'outil peut également aider à résoudre des problèmes réseaux en visualisant ce
qui passe à travers l'interface réseau.
Lorsqu9un pirate, prenant le contrôle d9un équipement du réseau, se place au milieu d9une
communication il peut écouter ou modifier celle-ci. On parle alors de « l9homme du milieu ».
Les points sensibles permettant cette technique sont :
DHCP : ce protocole n9est pas sécurisé. Un pirate peut fournir à une victime des
paramètres réseau qu9il contrôle. Solution : IP fixe.
20
Chapitre 2 Sécurité des réseaux informatiques
ARP : si le pirate est dans le même sous réseau que la victime et le serveur, il
peut envoyer régulièrement des paquets ARP signalant un changement
d9adresse MAC aux deux extrémités. Solution : ARP statique.
7.2.7. Espiogiciels :
Ces logiciels espions sont aussi appelés « spyware ». Ils ne posent pas, à priori, de problème
de sécurité mais plutôt celui du respect de la vie privée.
7.2.8. Intrusion :
L9intrusion dans un système informatique a généralement pour but la réalisation d9une
menace et est donc une attaque. Le principal moyen pour prévenir les intrusions est le pare
feu.
Il est efficace contre les fréquentes attaques de pirates amateurs, mais d9une efficacité tout
relative contre des pirates expérimentés et bien informés.
Une politique de gestion efficace des accès, des mots de passe et l9étude des fichiers « log »
(traces) est complémentaire.
La mise en Suvre d'une stratégie globale de sécurité est assez difficile, principalement en
raison de la diversité des aspects à considérer.
Une stratégie de sécurité peut être définie par un certain nombre de caractéristiques : le
niveau de son intervention, les objectifs de cette stratégie, et les outils finalement utilisés
pour assurer cette sécurité. Afin d'atteindre les objectifs de sécurité requis, les différents
outils disponibles doivent être utilisés de manière coordonnée, en tenant compte de tous
les aspects. Avant de définir les objectifs, nous allons d'abord discuter des différents aspects
de la politique de sécurité, puis examiner les outils qui peuvent être utilisés pour appliquer
cette politique.
21
Chapitre 2 Sécurité des réseaux informatiques
De même, si les utilisateurs laissent leur mot de passe écrit à côté de leur PC, son utilité
est limitée&
Enfin, il est essentiel pour un responsable de sécurité de s9informer continuellement,
des nouvelles attaques existantes, des outils disponibles&de façon à pouvoir maintenir
à jour son système de sécurité et à combler les
Brèches de sécurité qui pourraient exister.
9.2. Chiffrement :
Le chiffrement est utilisé pour assurer la confidentialité des données. Il est assuré par un
système de clé appliqué au message envoyé. Ce dernier est décrypté par une clé unique
correspondant au cryptage. Il existe deux types de chiffrement : [4]
22
Chapitre 2 Sécurité des réseaux informatiques
23
Chapitre 2 Sécurité des réseaux informatiques
Un système pare-feu fonctionne la plupart du temps grâce à des règles de filtrage indiquant
les adresses IP autorisées à communiquer avec les machines aux réseaux, il s'agit ainsi d'une
passerelle filtrante. Il permet d'une part de bloquer des attaques ou connexions suspectes
d9accéder au réseau interne. D9un autre côté, un firewall sert dans de nombreux cas
également à éviter la fuite non contrôlée d9informations vers l9extérieur. Il propose un
véritable contrôle sur le trafic réseau de l'entreprise, Il permet donc d'analyser, de sécuriser
et de gérer le trafic réseau [4].
24
Chapitre 2 Sécurité des réseaux informatiques
Le serveur proxy va alors se connecter au serveur que l'application cliente cherche à joindre
et lui transmettre la requête. Le serveur va ensuite donner sa réponse au proxy, qui va à son
tour la transmettre tour à l'application cliente [4].
9.5.1. Définition :
C9est la vérification d9informations relatives à une personne ou à un processus informatique.
L9authentification permet de prouver une identité déclarée. Dans un serveur, un processus
de contrôle valide l9identité et après authentification, donne l9accès aux données,
applications, bases de données, fichiers ou sites Internet.
25
Chapitre 2 Sécurité des réseaux informatiques
[Link]. Présentation :
Un certificat numérique est un fichier permettant de certifier l'identité du propriétaire d'une
clé publique, un peu à la manière d'une carte d'identité.
Un certificat est généré dans une infrastructure à clés publiques par une autorité de
certification qui a donc la capacité de générer des certificats numériques contenant la clé
publique en question.
26
Chapitre 2 Sécurité des réseaux informatiques
Une PKI (Public Key Infrastructure), aussi appelée IGC (Infrastructure de Gestion de Clés) est
une infrastructure réseau qui a pour but final de sécuriser les échanges entre les différents
composants d'un réseau. Cette infrastructure se compose de quatre éléments essentiels :
L’autorité d’enregistrement : Registration Autorité c'est cette autorité qui aura pour
mission de traiter les demandes de certificat émanant des utilisateurs et de générer
les couples de clés nécessaires (clé publique et clé privée). Son rôle peut
s'apparenter à la préfecture lors d'une demande de carte d'identité.
Le protocole SSL (Secure Socket Layer) permet théoriquement de sécuriser tout protocole
applicatif s9appuyant sur TCP/IP (HTTP, LDAP, Telnet&etc.) mais en pratique ses
implémentations les plus répandues sont LDAPS et HTTPS.
Le protocole SSL permet non seulement de fournir les services d9authentification du
serveur, d9authentification du client (par certificat à partir de SSL version 3) mais également
les services de confidentialité et d9intégrité.
27
Chapitre 2 Sécurité des réseaux informatiques
Si la vérification est correcte alors le navigateur du client envoie au serveur une clé
secrète chiffrée à l9aide de la clé publique du serveur qui sera donc le seul capable de
déchiffrer puis d9utiliser cette clé secrète. Cette clé est un secret uniquement
partagé entre le client et le serveur afin d9échanger des données en toute sécurité.
Les données circulant entre le client et le serveur sont chiffrées, ce qui garantit leur
confidentialité (personne d'autre que le serveur ou le client ne peut lire les
informations transitant sur le réseau). Il n'est donc pas possible d'écouter le réseau à
l'aide d'un analyseur de trames.
Le client et le serveur s'authentifient mutuellement afin d'assurer que les deux
machines qui communiquent sont bien celles que chacune des parties croit être. Il
n'est donc plus possible pour un pirate d'usurper l'identité du client ou du serveur
(Spoofing).
10.3. IP sec :
IP sec est un protocole qui vise à sécuriser l'échange de données au niveau de la couche
réseau.
Il est compatible IPv4 et IPv6. IP sec est basé sur deux mécanismes :
28
Chapitre 2 Sécurité des réseaux informatiques
Ce protocole propose aussi sur des mécanismes de sécurisation des échanges entre
utilisateurs des VPN.
IP sec assure l9authenticité des extrémités, la confidentialité et l9intégrité des échanges
grâce aux algorithmes et mécanismes de chiffrement.
29
Chapitre 2 Sécurité des réseaux informatiques
11. Discussion :
La mise en place d'un système de sécurité fiable et efficace permet à une entreprise de
s'assurer qu'elle progresse et diffuse une image positive dans le temps, notamment
pour les entreprises qui privilégient l9utilisation du Web pour interagir avec leurs
collaborateurs.
D'après des recherches antérieures, nous avons vu qu'il existe plusieurs façons d'attaquer le
système. Afin de protéger ces derniers, nous devons d'abord étudier les vulnérabilités de
sécurité, puis proposer une stratégie de sécurité basée sur une combinaison de plusieurs
outils.
30
Chapitre III :
Annuaires Réseaux
Chapitre 3 Annuaire réseaux
1. Préambule
Les particuliers et les entreprises utilisent de plus en plus le réseau pour accéder à des
ressources partagées et à des applications distribuées (serveurs d9applications, sites web,
etc.)
Ces applications et ces ressources doivent interagir avec les ordinateurs d9un même réseau
local, via l9intranet de l9entreprise, ou plus généralement via internet. Cela nécessite une
connaissance préalable de toutes les adresses de ces machines. Cependant, dans la plupart
des cas, l9adresse réelle de la machine n9est jamais utilisée, nous utilisons plutôt le nom.
Prenons comme exemple l9accès à un site web, qui se fait à travers le nom désignant le site,
ce dernier se traduira ensuite par une adresse physique permettant aux protocoles de
communication d9accéder aux équipements associés. Ces informations sont stockées et
gérées dans une base de données spéciale appelé annuaire.
En conséquence, de nombreux outils d9annuaire ont émergé au fil des ans, fournissant une
variété de services différents ; certains se sont effondrés, et certains sont immédiatement
devenus des standards indispensables, tels que DNS (Domain Name System). Ces dernières
années, un nouveau standard a vu le jour et est devenu un standard absolument nécessaire,
connu sous l9acronyme LDAP (Lightweight Directory Access Protocol). La norme ne
remplacera pas le DNS, ni n9est de sa responsabilité, mais elle peut unifier certaines
exigences, comme les annuaires de type page blanche, les annuaires de type NIS (Network
Information Service), l9authentification, la supervision du trafic, etc.
2. Définition d’un annuaire réseau : Un annuaire est un répertoire, une liste mise à
jour régulièrement qui regroupe des informations (noms, adresse, coordonnées, etc.)
sur les membres d9une association, d9une entreprise ou d9un organisme professionnel.
Un annuaire est ainsi un recueil de données dont le but est de pouvoir retrouver facilement
des ressources à l'aide d'un nombre limité de critères.
En informatique :
Dans le monde informatique, un annuaire est un système de stockage de données dérivé
des bases de données hiérarchisées, permettant de stocker des données à long terme, c9est-
31
Chapitre 3 Annuaire réseaux
à-dire des données rarement mis à jour (historiquement, sur une base annuelle, d9où le
nom), telles que les coordonnées et les adresses e-mail du personnel de l9entreprise, des
partenaires, des clients et des fournisseurs. La recherche peut être complétée selon de
multiples conditions, et les données peuvent être exploitées par des logiciels clients, tels
que des applications serveur (serveur de messagerie : outlook, gmail, etc.). De plus,
certaines versions de service d9annuaires savent gérer les droits sur les données mais aussi
les services proposés sur les machines clientes par une authentification en utilisant des
paires login/mot de passe. Aujourd9hui ces données sont gérées soit par plusieurs serveurs
simultanément soit par un serveur principal et par un ou plusieurs serveurs secondaires qui
en prennent le relais en cas de défaillance. Étant donné l9importance que prennent les
annuaires dès qu9on commence à les utiliser, il est indispensable de profiter de ces capacités
de redondance.
L9annuaire est un type spécifique de base de données, c9est-à-dire une base de données
ayant des caractéristiques particulières :
Un annuaire est conçu pour être utilisé davantage pour la lecture que pour l9écriture.
Cela signifie que le catalogue est mis en place pour être consulté plus fréquemment
qu9être mis à jour.
Les données sont stockées hiérarchiquement dans l9annuaire, tandis que les bases
de données dites « relationnelles » stockent les enregistrements de façon tabulaire.
Les annuaires doivent être compacts et basé sur un protocole de réseau léger.
Un annuaire doit contenir un mécanisme permettant de rechercher facilement des
informations et d9organiser les résultats.
Les annuaires doivent pouvoir être répartis. Cela signifie que le serveur d9annuaire
doit disposer d9un mécanisme coopératif, c9est-à-dire que si aucun enregistrement
n9est trouvé, la recherche est étendue à un serveur tiers.
Un annuaire doit pouvoir gérer l9authentification des utilisateurs et les autorisations
de ces derniers pour afficher ou modifier les données.
Ainsi, un annuaire est généralement une application basée sur une base de données pour
stocker des enregistrements, mais surtout un ensemble de services qui peuvent facilement
32
Chapitre 3 Annuaire réseaux
localiser les enregistrements à l9aide de simples requêtes. Une base de données en contre
partie n9est pas forcément un annuaire&
4. Caractéristiques :
C'est un système qui organise des informations physiques ou numériques ; tout annuaire
électronique comprend notamment :
Un index pour faciliter la communication entre les différentes entités
Une structure hiérarchique optimisée pour un accès rapide à une grande quantité
d9informations en petits volumes
Des entités et objets sous forme de personnes, de communautés, de ressources ou
d9équipement
Accès aux bases de données mises à jour par les utilisateurs d9applications
informatique
La forme des annuaires électronique a beaucoup changé depuis leur apparition au début de
l9ère informatique. Voici quelques-uns :
Unix : /etc/passwd (années 70 – 80). Ce type d9annuaire qui est local a une machine,
permet de gérer les différents utilisateurs pouvant être autorisés à se connecter à
cette dernière.
NIS (« yellow pages » ; Network Information Service). Annuaire dont les données
sont réparties sur l9ensemble des machines composant le réseau de l9entreprise, une
machine au moins doit jouer le rôle de serveur.
33
Chapitre 3 Annuaire réseaux
DNS (Domain Name System). Cet annuaire réparti au complet sur l9ensemble du
réseau a comme rôle de traduire les noms de machines en adresses réseau.
X.500 (1988, 1993, 1997). Annuaire global de type pages blanches et pages jaunes.
LDAP (Lightweight Directory Access Protocol). Une version allégée des annuaires
types X.500.
7. Annuaires LDAP :
En 1988, l9Union Internationale des Communications (UIT) a mis au point les annuaires
X.500. Le but de cette opération est d9uniformiser l9accès aux services, de centraliser les
ressources et les protéger. Le protocole utilisé pour y accéder est le protocole DAP
(Directory Access Protocol).
Malheureusement, La richesse de cette norme fut également son principal défaut. Cette
dernière n'a pas abouti car elle ne s'est pas adaptée à l'essor des communications distantes
avec le protocole TCP/IP. La norme X.500 utilisait un système compliqué pour communiquer
impliquant l'ensemble du modèle OSI.
En 1993, Tim Howes de l'Université de Michigan, Steve Kille du « ISODE » et Wengyik Yeong
de « Performance Systems International » créent le protocole LDAP (Lighweight Directory
Access Protocol), qui au départ n9est qu9un simple « connecteur » TCP/IP avec des annuaires
X.500.
L'apparition d'annuaires LDAP natifs (standalone LDAP directory) a suivi rapidement, en
1995. LDAP est donc une évolution de la norme X.500. Sa version actuelle est la version 3
(RFC 2251), elle propose plusieurs évolutions par rapport à la version antérieure (version 2),
notamment :
Prise en charge des communications cryptées via SSL/TLS
L9authentification via SASL
Le support de Referrals (une branche qui pointe vers un autre annuaire)
Le support d9Unicode
La possibilité d9étendre le protocole
34
Chapitre 3 Annuaire réseaux
On retrouve dans le marché plusieurs annuaires LDAP, voici les plus connu :
Apache Directory Server : [Link]
OpenLDAP : [Link]
389 Directory Server
Microsoft Active Directory: [Link]
Apple Open Directory
8.1. Définition :
LDAP (Lightweight Directory Access Protocol) est un protocole standard permettant de gérer
des annuaires, c'est-à-dire d'accéder à des bases d'informations sur les utilisateurs d'un
réseau par l'intermédiaire de protocoles TCP/IP.
35
Chapitre 3 Annuaire réseaux
L9échange avec le protocole LDAP s9effectue au format ASCII comme HTTP ou SMTP. En plus
des opérations décrites dans l9exemple de communication client/serveur ci-dessus, les
opérations de base définies par le protocole LDAP sont :
Requête : Search, compare
Mise à jour : add, delete, modify
Connexion : bind, unbind, abandon
Ces échanges étant au format ASCII, des mécanismes d9authentification et de chiffrement
sont utilisés pour protéger le service. Le protocole LDAP utilise cinq modèles pour définir ses
opérations à différents niveaux. Les 5 modèles sont :
Un modèle d9information : qui définit le type de données dans l9annuaire
Un modèle de nommage : qui indique comment les données sont organisées
Un modèle de fonction : qui indique comment accéder aux données
Un modèle de sécurité : qui indique comment protéger l9accès aux données
Un modèle de duplication : pour indiquer comment répartir les données entre les
serveurs
36
Chapitre 3 Annuaire réseaux
LDAP présente les informations sous forme d9une arborescence de données hiérarchiques
appelées DIT (Directory Information Tree), dans laquelle les informations appelés entrées
(ou encore DSE, Directory Service Entry), sont représentées sous forme de branches.
Une branche située à la racine d'une ramification est appelée racine ou suffixe.
Chaque entrée de l'annuaire LDAP correspond à un objet abstrait ou réel (par exemple une
personne, un objet matériel, des paramètres, etc.).
Chaque entrée est constituée d'un ensemble de paires clés/valeurs appelées attributs.
Chaque serveur possède une entrée spéciale, appelée root directory specific entry (rootDSE)
qui contient la description de l9arbre et de son contenu.
37
Chapitre 3 Annuaire réseaux
Les attributs :
Chaque entrée est constituée d'un ensemble d'attributs (paires clé/valeur) permettant de
caractériser l'objet que l'entrée définit. Il existe deux types d9attributs :
Les attributs normaux : ceux-ci sont les attributs habituels (nom, prénom,
...) caractérisant l'objet ;
Classe Object :
La classe d9objet est utilisée pour décrire une entité (telle qu9une personne) via une liste
d9attributs. Elle est définie par :
Un nom
Un OID (Object IDentifier)
Des attributs obligatoires
Des attributs optionnels
Un type (structurel, auxiliaire ou abstraite)
Les normes X.500/LDAP définissent les trois types de classes d9objet suivants :
38
Chapitre 3 Annuaire réseaux
Si vous ne définissez pas le type d'une classe d9objets et que celle-ci hérite de la classe top,
le DSA suppose qu9il s9agit d'une classe structurelle ; dans le cas contraire, le DSA suppose
qu9il s'agit d'une classe auxiliaire.
Classes abstraites
La classe d9objets abstraite détermine la structure d9un annuaire LDAP. Par exemple,
la classe d9objets top est la classe d9objets racine à partir de laquelle toutes les classes
d9objet structurelles sont dérivées. Elle contient un attribut obligatoire, objectClass et, étant
donné que toutes les entrées héritent de ses attributs, elle garantit qu9une classe d9objets
définit ces entrées.
Une classe d9objets abstraite ne peut pas être utlisée seule dans une entrée. L9entrée doit
également contenir une classe d9objets structurelle.
Classes structurelles
La plupart des classes d9objet dans un annuaire sont structurelles, car elles définissent une
entrée. Elles imposent également des règles aux entrées stockées sous elles. Par exemple, la
classe d9objets Organization(o) peut nécessiter que tous les objets stockés sous elle
appartiennent à la classe d9objets organizationalUnit (ou). groupOfNames, inetOrgPerson et
person sont d'autres exemples de classes d9objet structurelles.
Classes auxiliaires
Une entrée appartient à une seule classe d9objets structurelle. Toutefois, une entrée peut
également appartenir à une ou plusieurs classes d9objet auxiliaires. Une classe d9objets
auxiliaire permet d'ajouter des attributs aux entrées déjà définies par une classe d9objets
structurelle. Une classe d9objets auxiliaire ne peut pas être utilisée seule dans une entrée.
L9entrée doit contenir une classe d9objets structurelle. Contrairement aux classes d9objet
structurelles, les classes d9objet auxiliaires n'imposent aucune restriction sur le stockage
d9une entrée.
39
Chapitre 3 Annuaire réseaux
Schéma :
Un schéma est une définition formelle du contenu et de la structure des données d9un
annuaire. Le schéma régit l'emplacement de chaque entrée dans la structure de l'annuaire,
la méthode de nommage des entrées et les attributs que chaque entrée peut contenir.
Chaque entrée de l'annuaire fait obligatoirement référence à une classe d'objet du schéma.
Les types d9entrées sont organisés de manière hiérarchique.
Exemple :
Le sommet de cette organisation hiérarchique est toujours occupé par le type « TOP ». Un
système d9héritage est aussi mis en place ou chaque type hérite des attributs de son type
parent.
40
Chapitre 3 Annuaire réseaux
Une fois le modèle d9information définit, il faut définir la manière dont sont référencées les
différentes informations gérées par les services LDAP. C9est le rôle du modèle de nommage.
Cette organisation représentée par le Directory Information Tree (DIT) est une classification
comparable au système de fichier UNIX
41
Chapitre 3 Annuaire réseaux
Chaque nSud du DIT correspond à une entrée de l9annuaire Au sommet se trouve l9entrée
«Suffix» ou «Root Entry». Cette dernière correspond à l9espace de nommage
Il est important de s9assurer que 2 entrées d9un même DIT ne possèdent pas le même
Distinguished Name (DN). Pour cela, il faut s9assurer que la sélection des attributs
composant le DN donne un résultat unique.
Après que les données soient stockées et référencées, ces derniers doivent pouvoir être
utilisé et consulté. Pour cela, LDAP définit un modèle de fonctionnement. Ainsi, ce modèle
définit les opérations possibles sur les données. Ces opérations permettent d9accéder au
serveur pour la recherche, la modification ou l9ajout des entrées ou de la structure de
l9arbre de l9annuaire. On récence 4 types d9opérations :
42
Chapitre 3 Annuaire réseaux
Unbind Déconnexion
43
Chapitre 3 Annuaire réseaux
Les commandes Search et Compare se font sous la forme d9une requête composée de 8
paramètres :
Paramètre Description
[Link] L’authentification :
44
Chapitre 3 Annuaire réseaux
Les Access Control lists (ACLs) apparaissent après la notion de binding. Le compte connecté
peut se voir accorder des autorisations de lecture, d9écriture ou d9autres autorisations
diverses pour une branche spécifique de l9annuaire. Cela permet une gestion fine des
autorisations d9accès aux données.
Le chiffrement des communications via SSL (Secure Socket Layer) ou TLS (Transport Layer
Security) est aussi une méthode qui permet de protéger l9information, ils permettent de
chiffrer le canal entre le serveur et l9utilisateur afin de garantir un minimum la
confidentialité des données échangés et d9éviter qu9un tiers n9écoute les communications
sur le réseau.
[Link] SASL :
45
Chapitre 3 Annuaire réseaux
Ces méthodes sont extensibles via des plugins avec la possibilité d9ajouter une couche de
chiffrement SSL/TLS indépendante de la couche cité ci-dessus.
Le protocole LDAP fournit des outils pour dupliquer ou synchroniser des données entre
plusieurs serveurs LDAP. Pour y parvenir, il définit un modèle de duplication. Ce dernier
définit comment dupliquer l9annuaire sur plusieurs serveurs. Cette duplication a pour but de
Résister à une panne d9un serveur ou à une coupure réseau. Mais aussi de supporter la
montée en charge, ce qui veut dire partager la charge entre l9ensemble des serveurs
possédant le même annuaire.
La réplication est supportée dans le modèle LDAP par le protocole LDUP (Lightweight
Directory Update Protocol) qui est un standard en cours.
9. Active Directory :
Active Directory est la mise en Suvre par microsoft des services d9annuaires LDAP pour les
systèmes d9exploitation windows.
C9est un annuaire chargé de répertorier tous les contenus liés au réseau, tels que les noms
d9utilisateurs, d9imprimantes, de serveurs, de dossiers partagés, etc. cela permet aux
utilisateurs de trouver facilement des ressources partagées et aux administrateurs de
contrôler leur utilisation.
Vous pouvez interroger l9annuaire pour obtenir une liste d9attributs, par exemple en faisant
une requête telle que « rechercher toutes les imprimantes du deuxième étage »
46
Chapitre 3 Annuaire réseaux
Active directory fut présenté pour la première fois en 1996, mais sa première utilisation
remonte à Windows 2000 Server Edition en 1999. Il fut mis à jour dans Windows server
2003 pour étendre ses fonctionnalités et améliorer son administration. Encore plus
d9améliorations lui ont été adjointes de Windows Server 2003 R2 jusqu9à Windows Server
2012.
Sa technologie de stockage est basée sur le stockage du registre Windows, la base SAM
constituant à elle seule une ruche, ce qui correspond à un fichier portant le même nom, tout
comme les fichiers system et software.
D9un point de vue sémantique, Active Directory est un annuaire LDAP, tout comme
l9annuaire d9Exchange 5.5. Cependant, ce dernier n9est pas le seul prédécesseur technique
d9Active Directory.
47
Chapitre 3 Annuaire réseaux
Active Directory apporte donc plusieurs nouveautés, le plus important étant son nouveau
moteur de base de données ESENT, qui utilisait des pages et des journaux de taille réduite
ce qui permettait de stocker des millions d9objets.
Active Directory permet comme tout annuaire de recenser toutes les données variées
concernant le réseau. Il constitue donc le cSur de toute l9architecture réseau et possède la
capacité à permettre aux utilisateurs de retrouver et d9accéder à n9importe quelle donnée
identifiée par ce service.
C9est alors un outil destiné aux utilisateurs tout en accordant aux administrateurs la gestion
et le contrôle totale du réseau.
La structure d9Active Directory lui permet enfin de gérer de façon centralisée des réseaux
allant de quelques ordinateurs à des réseaux répartis sur multiples sites.
Dans Active directory, les objets correspondent à des classes, ce qui veut dire des catégories
d9objets possédant les mêmes attributs. Donc un objet est un clone d9une classe d9objet, un
ensemble d9attributs avec des valeurs particulières.
48
Chapitre 3 Annuaire réseaux
Lorsqu9un objet contient d9autres objets, on le nomme conteneur, ces derniers permettent
de regrouper les objets dans une optique d9organisation, dans le cas inverse, si l9objet est au
plus bas niveau hiérarchique, on le nomme feuille.
Un ensemble de conteneurs et de feuilles est appelé « arbre », cette notion est étroitement
liée à la notion de domaine, permettant de limiter des ressources informatiques dans un
même périmètre de sécurité. Un domaine est donc composé d9un ensemble défini
d9élément et possède une politique de sécurité qui lui est propre. Plusieurs domaines
possédant le même schéma peuvent établir entre eux des relations de confiance
bidirectionnelles et transitives basées sur le protocole Kerberos. L9ensemble des domaines
reliés entre eux de façon hiérarchique par les relations d9approbation forment un arbre de
domaines. Le domaine situé au sommet est appelé « domaine racine » et les domaines en
dessous sont des sous-domaines, ils partagent nécessairement le même espace de nom.
Enfin, l9ensemble d9arbres possédant le même schéma mais pas nécessairement le même
espace de nom est appelé « foret ». Comme par exemple les annuaires de deux différentes
entreprises.
49
Chapitre 3 Annuaire réseaux
Active Directory offre plusieurs avantages dans le domaine d9annuaires, on commence par
une intégration complète avec le service DNS, la flexibilité des requêtes, la capacité
d9extension, la réplication et la sécurité des informations et enfin l9interopérabilité, c9est-à-
dire sa capacité à s9adapter et à collaborer avec non seulement les systèmes indépendants
existant déjà mais aussi ceux à venir.
10. Conclusion :
Avec les avancées technologiques et l9accroissement des appareils connectés ainsi que les
sites web, on a encore plus besoin aux services d9annuaires. En effet, il est de plus en plus
difficile d9imaginer le monde sans annuaires partagés, en particulier les annuaires basés sur
LDAP. Ce protocole semble s9être naturellement imposé comme une norme de l9industrie.
L9utilisation de LDAP couvre de nombreux aspects de la vie professionnelle, quelle que soit
l9échelle. LDAP est en effet utilisé pour diffuser des annuaires de type « page blanche », il a
Commencé à remplacer de plus en plus fréquemment les serveurs NIS, lui permettant de
fonctionner comme un serveur de distribution de certificats, l9authentification des
utilisateurs ainsi que pleins d9autres rôles.
Nous avons vu dans ce troisième chapitre, les grandes généralités concernant les annuaires
réseaux, les concepts nécessaires à connaitre afin de pouvoir maitriser les annuaires LDAP et
aussi l9impact de ces annuaires sur la vie professionnelle dans le présent et le futur. Nous
avons fait également un aperçue sur l9annuaire « Active Directory » de Microsoft que nous
avons choisi pour la manipulation du prochain chapitre.
50
Chapitre IV :
Réalisation
Chapitre 4 Réalisation
1. Préambule :
Dans ce chapitre, nous allons proposer une solution qui consiste à mettre en place un
serveur proxy Squid open source qui en plus d9être puissant, est une solution gratuite,
Couplé à un annuaire réseau Active Directory qui va contenir les données nécessaires pour
l9authentification des utilisateurs. Cela nous permettra de désigner des niveaux d9accès
différents selon les besoins.
2. Réseau étudié :
Dans le but de mettre en évidence les étapes nécessaires à la mise en place de notre serveur
proxy Squid ainsi que notre annuaire réseau Active Directory, nous avons choisi le réseau
représenté par la figure 21. L9utilisation de notre serveur proxy et de notre annuaire
permettra d9authentifier et de contrôler l9accès de nos utilisateurs à partir des ordinateurs
(PC 0 à 3) au réseau internet
51
Chapitre 4 Réalisation
Pour l9émulation de nos machines, nous avons choisi d9utiliser Oracle VM VirtualBox 6.1. Ce
logiciel nous permettra de créer plusieurs machines virtuelles au sein d9un même système
d9exploitation.
VirtualBox est un puissant produit de virtualisation x86 et AMD64 / Intel64, adapté à une
utilisation en entreprise et à domicile. VirtualBox n'est pas seulement un produit
extrêmement riche en fonctionnalités et hautes performances pour les entreprises clientes,
mais c'est également la seule solution professionnelle fournie gratuitement en tant que
logiciel open source selon les termes de la version GNU General Public License (GPL).
Il est possible de faire fonctionner plusieurs machines virtuelles au même temps, selon la
limite des performances de l9hôte physique.
52
Chapitre 4 Réalisation
Microsoft Windows Server 2008 est un système d'exploitation de Microsoft orienté serveur.
Il est le successeur de Windows Server 2003 R2 sorti trois ans plus tôt et le prédécesseur de
Windows Server 2008 R2. La sortie internationale du produit a eu lieu le 27 février 2008. À
l'instar de Windows Vista, Windows Server 2008 est basé sur le noyau Windows NT version
6.0.
C9est dans ce système d9exploitation que nous allons installer et configurer Active Directory.
53
Chapitre 4 Réalisation
Ubuntu est disponible en deux versions, une qui évolue tous les six mois, et une version LTS,
pour Long Term Support (« Support long terme ») qui évolue tous les deux ans. Ubuntu se
définit comme « un système d'exploitation utilisé par des millions de PC à travers le
monde » et avec une interface « simple, intuitive, et sécurisée ». Elle est la distribution la
plus utilisé pour accéder aux sites web d'après le site Alexa, et le système d'exploitation le
plus utilisé pour les serveurs informatiques.
Ce système d9exploitation sera utilisé pour installer et configurer notre serveur proxy.
4. Installations et configurations :
54
Chapitre 4 Réalisation
55
Chapitre 4 Réalisation
56
Chapitre 4 Réalisation
57
Chapitre 4 Réalisation
Ensuite nous allons sélectionner l9Edition que nous souhaitons installer, qui est
l9Edition Standard dans notre cas. On Coche la case <i have selected the edition
of Windows that I purchased= et on appuye sur Next
58
Chapitre 4 Réalisation
5. Configuration :
Au tout début, on doit commencer par vérifier les paramètres réseau des deux machines
afin de connaitre leurs adresses IP respectives :
Sur la machine Windows Server 2008 on ouvre l9invite de commandes en appuyant sur Start
ensuite taper cmd dans la barre de recherche, une fois l9invite de commande ouverte, on
tape la commande ipconfig et on appuie sur Entrer :
59
Chapitre 4 Réalisation
L9adresse IP de cette Machine est [Link], cette adresse sera utilisée comme adresse
DNS dans la deuxième machine.
Sur la machine Ubuntu, On ouvre le Menu d9applications et on appuye sur Settings >
Network, ensuite sur l9engrenage qui apparait à droite de notre connexion active.
60
Chapitre 4 Réalisation
L9adresse IP de cette machine est [Link], cette adresse sera plus tard utilisée pour
identifier le serveur Proxy.
Une fois la connectivité établie et vérifié on commence à installer les paquets nécessaires
qui nous permettrons de joindre notre serveur Squid a notre Domaine Active Directory.
Ces paquets doivent être installés sur notre machine Ubuntu qui nous servira comme Server
Squid et sont comme suit :
Samba : qui permet de faire le lien entre Windows et Linux.
Krb5-user et libpam-krb5 : des librairies liées à Kerberos, le protocole
d9authentification utilisé par active directory.
Ntpdate : pour synchroniser l9heure entre le contrôleur de domaine et notre
serveur Squid.
Winbind : le composant samba communiquant avec Active Directory
61
Chapitre 4 Réalisation
Pour les installer, nous utiliserons la commande Aptitude install ou Apt install :
Avant de configurer notre Squid, on commence par paramétrer notre Active Directory :
Dans notre fenêtre Server Manager on appuie sur Roles > Add Roles , on choisit donc le rôle
« Active Directory Domain Services » et on suit les étapes jusqu9à la fin de l9installation du
rôle .
Une fois ce dernier installé, one appuie encore sur Roles > Active Directory Domain Services
et on cherche le bouton [Link], cet exécutable nous permettra de définir nos
informations sur le domaine qui seront comme suit :
Une fois que la création du domaine est faite, nous commençons par créer une unité
d9organisation pour les utilisateurs de notre Serveur Squid, on va taper [Link] dans la
barre de recherche de notre menu Start puis sur Entrer.
62
Chapitre 4 Réalisation
Une fenêtre nommé Active directory Users and Computers s9ouvre. On y trouve
notre domaine [Link], on fait un clic droit dessus ensuite New, puis
sur Organizational Unit.
63
Chapitre 4 Réalisation
On procède à la création de nos groupes d9utilisateurs qui nous servirons a catégoriser les
utilisateurs selon leurs droits d9accès au réseau.
Nous allons créer 3 groupes (Professeurs, Staff et Etudiants). Pour créer ces
groupes, on fait un clic droit sur l9OU (Proxy) > New > Group :
64
Chapitre 4 Réalisation
On répète les mêmes étapes pour la création des deux groupes Staff et Etudiants.
Ensuite, on crée l9utilisateur User3 auquel on va léguer des privilèges pour pouvoir
authentifier et définir l9appartenance des utilisateurs, pour faire cela, on fait un
clic droit sur l9OU (Proxy), ensuite New > User
65
Chapitre 4 Réalisation
Après la revue des paramètres du compte qu9on vient de créer, on appuie sur
Finish
Maintenant on doit déléguer les droits d9accès à cet utilisateur, on fait un clic
droit sur l9OU Proxy, et on clique sur Delegate Control
Une fenêtre apparait là où on doit entrer le nom d9utilisateur voulu, on tape user3
et on appuie sur Check Names, une fois le nom trouvé on clique sur OK
66
Chapitre 4 Réalisation
Nous ajoutons enfin les utilisateurs aux groupes selon leurs droits d9accès, dans notre cas,
nous avons créé 7 utilisateurs que nous allons mettre dans les groupes comme suit :
Professeurs : User3, Fares Touhant, Ishak Fichouche
Staff : Mohamed Mortada, Admin
Etudiants : User1, User2
Pour cela, on fait un clic droit sur l9utilisateur ensuite on clique sur Add to a group, on tape
le nom du groupe souhaité et on appuie sur Check Names, on sélectionne le groupe et on
appuie sur OK.
67
Chapitre 4 Réalisation
Pour des raisons de sécurité Kerberos nécessite que l9heure locale soit synchronisée avec
notre Contrôleur de domaine, pour vérifier la synchronisation on utilise la commande
ntpdate avec l9adresse IP de notre contrôleur de domaine, comme suit :
Ensuite, nous allons éditer le fichier de configuration de Kerberos qui se trouve dans le
répertoire /etc/[Link], mais n9oublions pas de créer une copie de ce fichier de base en
utilisant la commande :
Cette commande va créer une copie du fichier [Link] nommé [Link] dans le
même répertoire.
Pour éditer le fichier [Link], nous devons utiliser un des éditeurs de texte, l9éditeur qu9on
a choisi est vim, on ouvre alors le fichier avec la commande suivante :
68
Chapitre 4 Réalisation
69
Chapitre 4 Réalisation
Cette partie effectue la traduction d9un nom de domaine ou un nom d9hôte vers
un nom de domaine Kerberos.
Une fois le fichier édité, on sauvegarde la modification et on test nos paramètres avec la
commande :
root@SquidServer:~# kinit nom_utilisateur
Ensuite entrer le mot de passe de cet utilisateur. Nous pourrons aussi vérifier les tickets
Kerberos en cache avec la commande klist
Avant de commencer la configuration de Samba, nous allons devoir arrêter les deux
processus Samba et Winbind avec les commandes suivantes :
70
Chapitre 4 Réalisation
71
Chapitre 4 Réalisation
Le mot de passe de cet utilisateur (administrator) nous sera demandé, on le tape puis on
clique sur la touche Entrer.
Pour vérifier que tout va bien on fait une petite batterie de test en utilisant la commande
net ads testjoin qui devrait nous retourner Join is OK.
Une fois que notre machine a rejoint le domaine Active Directory, on peut afficher la liste
des groupes d9active directory ainsi que la liste d9utilisateurs en utilisant les deux
commandes wbinfo –g et wbinfo –u.
72
Chapitre 4 Réalisation
On peut voir nos 3 groups ainsi que les 7 utilisateurs qu9on a créés à partir de notre terminal
du serveur Squid.
Le fichier [Link] contient des réglages par défaut et certains paramètres sont proposés
en commentaire. Prenons les ACL (Access control list) comme exemple :
Pour avoir un contrôle sur tout le trafic qui passe par le serveur Proxy, les ACL doivent
obligatoirement être utilisé. Ce sont des règles que le serveur applique qui permettent
d9autoriser ou d9interdire certaines requêtes. Ces règles peuvent être appliquées selon le
domaine, le protocole, l9adresse IP, le numéro de port ainsi que pleins d9autres options
allant jusqu9à des plages horaires. Les ACL ne fonctionnent pas sans un « http_access »
autorisant ou interdisant ces derniers.
73
Chapitre 4 Réalisation
Apres avoir ouvert le fichier [Link], on tape sur la touche / du clavier ensuite on écrit
TAG : auth_param qui va nous emmener dans la partie du fichier ou on doit mettre nos
lignes de commandes d9authentification suivantes :
Ensuite, on définit les ACL relatifs aux groupes Active Directory dans la partie TAG: acl :
74
Chapitre 4 Réalisation
Les ACL nommée groupe1, groupe2 et groupe3 servent à intégrer les utilisateurs
d9Active Directory selon leur appartenance aux groupes mentionnés.
On a aussi créé quatre ACL, la première est pour les deux sites de streaming
[Link] et [Link], la deuxième est pour les deux sites de chat
[Link] et [Link] et enfin les deux derniers définissant les horaires du
matin et de l9après-midi du dimanche au jeudi.
Il ne reste plus qu9à autoriser ou bloquer les accès dans la partie TAG : http_access :
La première est pour autoriser l9Accès aux réseaux sociaux sauf durant les
horaires du matin et de l9après-midi
La deuxième est pour autoriser l9accès internet au groupe des professeurs mise à
part aux réseaux sociaux.
La troisième est pour autoriser l9accès internet au groupe de Staff mise à part aux
réseaux sociaux et aux sites de streaming.
La dernière est pour bloquer l9accès internet aux étudiants.
Une autre ligne est ajoutée par défaut à la fin de cette partie qui bloque l9accès à toutes les
machines qui n9ont pas été autorisé, cette ligne est :
75
Chapitre 4 Réalisation
On quitte le fichier après avoir sauvegardé les modifications en tapant sur :wq
avec w : write et q : quit .
Une fois la configuration terminée, on lance le serveur squid et on vérifie son état de
fonctionnement comme suit :
Si aucune réponse n9est renvoyée, cela voudrait dire que le serveur fonctionne
correctement sans aucune erreur.
76
Chapitre 4 Réalisation
Squid enregistre toutes les transactions passantes à travers lui dans un fichier [Link]. Ce
dernier affiche les informations sur toutes les requêtes en détaillant :
Le nom d9utilisateur.
Le port source et destination
L9adresse IP source et destination
Le type de document
L9état de la requête
Les dates indiquées dans le fichier [Link] indique le temps en secondes depuis
le 1 janvier 1970(format epoch)
On peut lire ici que l9utilisateur ftouhant a essayé de rejoindre le réseau à partir d9une
machine dont l9adresse IP est [Link].
77
Chapitre 4 Réalisation
L9utilisateur ne pourra pas se connecter à internet avant de configurer son navigateur d9une
façon à passer à travers le proxy. Pour cela, on suit les étapes suivantes :
78
Chapitre 4 Réalisation
8. Conclusion :
Il existe de nombreuses solutions pour faire face aux problèmes de sécurité liés à
l9utilisation d9internet notamment dans les entreprises, néanmoins, la plupart coutent bien
chères.
Ainsi, notre étude nous a permis donc de trouver une solution qui répond aux besoins, qui
est facile à intégrer dans les réseaux déjà existant de l9entreprise et qui est peu couteuse. La
solution proposé est la mise en place d9un proxy Squid sous Ubuntu couplé à un Annuaire
Active directory qui en plus d9être gratuit, améliore considérablement la sécurité et le
contrôle sur le trafic réseau.
79
Conclusion Générale
Conclusion Générale
Dans ce mémoire, nous avons expliqué en détail la mise en place d9une solution efficace et
gratuite, qui répond aux exigences de la sécurité du réseau en plus d9être compatible et
facile à intégrer dans des réseaux déjà existant. Il s9agit de la mise en place d9un serveur
Proxy Squid couplé à un annuaire Active Directory.
Nous avons vu durant notre travail l9avantage qu9apporte le Proxy Squid comme filtre de
sécurité. Ce dernier nous permet de mettre en place des règles d9accès pour chaque groupe
d9utilisateurs afin de leurs bloquer complétement l9accès à Internet ou de bloquer
uniquement les sites que nous estimons dangereux ou inutiles. Nous avons également vu
que Squid peut facilement être couplé à un annuaire LDAP de façon à nous permettre de
profiter de l9authentification et de la gestion centralisé des comptes de nos utilisateurs sans
avoir à recréer toute une base de données déjà existante.
La solution qui a été proposé durant ce mémoire répond à ces objectifs et, grâce à
l9interopérabilité de Squid ainsi que les plugins qui ont été développé par l9ensemble de la
communauté qui l9entoure offre une adaptabilité sans égal sur de très nombreuses
infrastructures et prouve une fois de plus l9efficacité et l9ingéniosité des applications venant
du monde libre.
Pour en finir, cette étude nous a permis de travailler avec de nouveaux outils et systèmes
pour améliorer la sécurité réseau au sein d9un organisme.
80
Conclusion Générale
81
Références bibliographiques
[1] Elie MABO, «La sécurité des systèmes informatiques (Théorie) », support de cours,
2010.
[5] Ramarao Kanneganti, « sécurité des réseaux », 1ere édition, Ed. Manning,1 juin 2008,
500p.
[6] [Link] , « Administrateurs réseaux » , [Link] ,
date consultation: 23/07/2021
[7] Exposé nouvelles technologies et réseaux LDAP, Sylvain pernot - Sebastien larué –
Florent de Saint-Lager.
[8] "Active Directory on a Windows Server 2003 Network". Active Directory Collection. Microsoft. 13
March 2003.