Vous êtes sur la page 1sur 89

REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROUN

******************** *****************
PAIX-TRAVAIL-PATRIE PEACE-WORK-FATHERLAND

Institut Africain D’informatique Ministère des Domaines du Cadastre et des


Représentation du Cameroun Affaires Foncières
Centre d’Excellence technologique PAUL BIYA
BP: 13719 Yaoundé
Tel: (237) 22-72-99-57
Site web: WWW.iaicameroun.com
E-mail: iaicameroun@yahoo.fr

RAPPORT DE FIN DE STAGE

THEME

MISE EN PLACE D’UN


PROXY SQUID SECURISE
AVEC AUTHENTIFICATION
KERBEROS/LDAP
Stage académique effectué du 01 Juillet au 27 Septembre en vue de
l’obtention du Diplôme d’Ingénieur des Travaux Informatique spécialité
Système Et Réseaux.
Rédigé et présenté par : EBALE RAYMOND YVES GABIN étudiant en
troisième année à l’IAI-CAMEROUN
Sous la Supervision :
ENCADREUR ACADEMIQUE ENCADREUR PROFESSIONNEL
Mr MEKWONTCHOU Albert Mr KEBILA Roméo
Et
Enseignant à L’IAI Cameroun Ingénieur des travaux en Systèmes et
Réseaux

Année académique : 2018/2019


Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

DEDICACES

A mes parents,
A toute ma famille,
A mes très chers Amis
A toute personne qui a eu l’énorme générosité d’accorder de son temps pour me soutenir dans
ce projet

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et ii
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

REMERCIEMENTS
Au terme de ce projet de fin d’étude, mes vifs remerciements sont dédiés à tous ceux qui ont
contribué directement ou indirectement à l’élaboration de ce projet. Je remercie Monsieur
MEKWONTCHOU mon encadrant académique. Sa disponibilité, ses directives et son sens du
détail m’ont permis de soigner et d’améliorer constamment la qualité de ce travail.
Mes remerciements s’adressent également à Monsieur KEBILA, mon encadrant professionnel
qui a toujours trouvé le temps de faire le suivi de mon travail et d’être à l’écoute lorsque je
rencontrais des difficultés techniques dans le projet.

J’exprime ma gratitude à tous les responsables au sein du MINDCAF qui m’ont donné
l’opportunité de réaliser ce stage.
C’est avec une immense fierté que j’adresse mes remerciements les plus distingués à tous mes
enseignants de l’IAI qui nous ont transmis leur savoir et nous ont assuré la meilleure des
formations.
Mon dernier mot s’adresse à tous les membres du jury pour l’honneur qu’ils nous font de
participer à l’examen de ce travail.

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et iii
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

SOMMAIRE

DEDICACES........................................................................................................................................ii
REMERCIEMENTS...........................................................................................................................iii
SOMMAIRE........................................................................................................................................iv
LISTE DES FIGURES.......................................................................................................................vii
LISTE DES TABLEAU.......................................................................................................................ix
RESUME...............................................................................................................................................x
ABSTRACT.........................................................................................................................................xi
INTRODUCTION GENERALE..........................................................................................................12
PARTIE I : PHASE D’INSERTION................................................................................................13
APERÇU.........................................................................................................................................13
1.I.1. PRESENTATION DU MINDCAF............................................................................15
II. PRESENTATION DE LA STRUCTURE D’ACCUEIL : CIS (CELLULE
INFORMATIQUE ET DES STATISTIQUES)............................................................................18
1.II.1. Les missions.................................................................................................................18
1.II.2. Ressource du mindcaf.................................................................................................19
1.II.2.2. Ressources logicielles..................................................................................................20
CONCLUSION...................................................................................................................................22
PARTIE II : PHASE TECHNIQUE.................................................................................................23
APERÇU.........................................................................................................................................23
INTRODUCTION............................................................................................................................24
CHAPITRE 1 : CAHIER DES CHARGE........................................................................................25
I. PRESENTATION DU PROJET...............................................................................................25
2.1.1. Contexte........................................................................................................................25
2.1.2. Problématique...............................................................................................................26
2.1.3. Objectifs à atteindre......................................................................................................26
2.2. DEROULEMENT DU PROJET...........................................................................................26
2.2.1. Planification..................................................................................................................26
2.2.2. Evaluation financière....................................................................................................27
CONCLUSION....................................................................................................................................29
CHAPITRE 2 : ETAT DE L’ART.......................................................................................................30
INTRODUCTION............................................................................................................................30
3.1. GENERALITE SUR LE PROXY.........................................................................................30

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et iv
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

3.1.1. Définition......................................................................................................................30
3.1.2. Principe de fonctionnement..........................................................................................30
3.1.3. Quel sont les services qu’offre un serveur proxy ?.......................................................31
3.1.4. Avantage.......................................................................................................................32
3.1.5. Inconvénient.................................................................................................................33
3.1.6. Les types de proxy........................................................................................................34
3.1.7. Les protocoles d’authentifications................................................................................35
3.2. PRESENTATION DE LA SOLUTION CHOISIE...............................................................36
3.2.1. Etude comparative des proxy leader.............................................................................36
3.2.2. JUSTIFICATION DU CHOIX DE NOTRE SOLUTION............................................37
CONCLUSION................................................................................................................................38
CHAPITRE 3 : IMPLEMENTATION DE LA SOLUTION................................................................39
INTRODUCTION............................................................................................................................39
I. PRESENTATION GENERALE DE LA SOLUTION..................................................................40
I.1. Architecture de la solution.........................................................................................................40
I.2. Plan d’adressage.........................................................................................................................41
I.3. Prérequis....................................................................................................................................42
I.4. Outils et paquets nécessaire........................................................................................................42
II. IMPLEMENTATION..............................................................................................................42
ETAPE 1 : Configuration du domaine Active Directory.............................................................43
ETAPE 2 : Configuration des paramètres réseau........................................................................46
4.1.1. Configurer les paramètres TCP/IP................................................................................46
4.1.2. Configuration des paramètre DNS................................................................................46
ETAPE 3 : Installation et configuration de SQUID.....................................................................48
4.1.3. Installation manuelle.....................................................................................................48
4.1.4. Installation automatique................................................................................................48
4.1.5. Configuration................................................................................................................49
ETAPE 4 : Synchronisation de l’heure local................................................................................52
ETAPE 5 : Configuration de KERBEROS...................................................................................53
ETAPE 6 : Configuration de SAMBA..........................................................................................54
ETAPE 7 : Rejoindre le domaine..................................................................................................56
ETAPE 8 : Configuration d’LDAP...............................................................................................59
ETAPE 9:Configuration des options d’authentification dans squid...........................................59
ETAPE 10 : Configuration des règles d’accès..............................................................................61
ETAPE 11 : Définition des accès (http_access)............................................................................62
ETAPE 12 : Filtrage des accès avec squidguard..........................................................................63

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et v
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

ETAPE 13 : Configuration des logs..............................................................................................65


ETAPE 14 : Sécurisation du proxy...............................................................................................66
CONCLUSION....................................................................................................................................68
CHAPITRE 4 : TEST ET COMMENTAIRE.......................................................................................69
INTRODUCTION............................................................................................................................69
5.1. TEST....................................................................................................................................69
Test No 1: Test du port d’écoute...................................................................................................69
Test No 2 : Test de squid sur les postes clients..............................................................................69
Test No 3 : test du cache de squid................................................................................................72
Test No 4: Test de l’authentification via LDAP............................................................................73
Test No 5 : test de l’authentification via Kerberos........................................................................74
Test No 6 : test des restrictions......................................................................................................74
Test No 8 :Visionage des logs.......................................................................................................75
Test No 9 :Test de sécurité.............................................................................................................76
COMMENTAIRE............................................................................................................................79
CONCLUSION....................................................................................................................................80
CONCLUSION GENERALE..............................................................................................................81
ANNEXES.......................................................................................................................................lxxxii
BIBLIOGRAPHIE...........................................................................................................................lxxxiii
WEBOGRAPHIE............................................................................................................................lxxxiv
TABLE DES MATIERES................................................................................................................lxxxv

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et vi
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et vii
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

LISTE DES FIGURES


Figure 1 Organigramme MINDCAF................................................................................................18
Figure 2 : Architecture réseau du MINDCAF.................................................................................27
Figure 3 planification avec Gant Project..........................................................................................29
Figure 4 : mise en place du proxy......................................................................................................33
Figure 5: système de cache.................................................................................................................34
Figure 6 : étude comparative.............................................................................................................39
Figure 7 : architecture de la solution mise en place..............................................................................44
Figure 8 : plan d'adressage des différents équipents:......................................................................44
Figure 9 configuration IP...................................................................................................................49
Figure 10 configuration DNS.............................................................................................................50
Figure 11 vérification DNS................................................................................................................50
Figure 12 test résolution de nom inverse..........................................................................................50
Figure 13 : préparation de la config..................................................................................................52
Figure 14 : configuration des paramétrés de base...........................................................................53
Figure 15 : configuration du cache de squid.....................................................................................53
Figure 16 : paramètre des options de connexion..............................................................................54
Figure 17 : paramétrage des options DNS........................................................................................54
Figure 18 : synchronisation de l'heure local.....................................................................................55
Figure 19 : synchronisation de l'heure et de la date.........................................................................55
Figure 20 : automatisation de la synchronisation de l'heure et de la date du serveur...................56
Figure 21 : configuration de kerberos...............................................................................................56
Figure 22 : modèle encryptage Windows 2008.................................................................................57
Figure 23 : modèle encryptage Windows 2003.................................................................................57
Figure 24 : configuration de samba...................................................................................................58
Figure 25 : jonction du domaine linux à Windows..........................................................................59
Figure 26: redémarrage de samba et winbind..................................................................................59
Figure 27 : test de l'intégration au domaine Windows....................................................................59
Figure 28 : Affichage des utilisateurs................................................................................................60
Figure 29 : affichage des groupes......................................................................................................60
Figure 30 : test de l'authentification via AD.....................................................................................60
Figure 31 : ajout de l'utilisateur proxy dans le groupe winbindd_priv..........................................61
Figure 32 : Configuration du fichier nsswitch.conf.........................................................................61
Figure 33 : configuration de kerberos dans squid............................................................................62
Figure 34 : configuration de LDAP dans squid................................................................................63
Figure 35 : configuration des ACL....................................................................................................64

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et viii
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

Figure 36 : définition des http_access...............................................................................................65


Figure 37 : base de donnée des blacklist...........................................................................................66
Figure 38 : configuration de squidGuard.........................................................................................67
Figure 39 : configuration des logs.....................................................................................................68
Figure 40: test du port d'écoute.........................................................................................................73
Figure 41 : configuration du client....................................................................................................75
Figure 42 : test de connexion.............................................................................................................75
Figure 43 : test du cache de squid.....................................................................................................76
Figure 44 authentification via LDAP................................................................................................77
Figure 45 : blocage de site par squid.................................................................................................79
Figure 46 : visionnage des logs..........................................................................................................79

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et ix
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

LISTE DES TABLEAU

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et x
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

RESUME
De la période allant du 1er Juillet au 30 Septembre 2019, nous avons effectué un stage
académique au Ministère du Domaine des Cadastres et des Affaires Foncières (MINDCAF)
situé devant la CAMPOST partageant les locaux avec le MINSUP et plusieurs autres
Ministère dans la ville de Yaoundé. Au cours de ce stage, nous avons visité les locaux et les
différentes divisions de la structure.
Nous avons également échangé avec les responsables pour comprendre ce que fait et
comment fonctionne chaque division. Ainsi, après l’étape d’initiation, nous avons pu ressortir
quelques problèmes auxquels fait face ladite structure. C’est ainsi qu’à l’issu des
insuffisances que nous avons décelées nous avons décidé de travailler sur un projet dans le
domaine du réseau qui permettrait d’en résoudre quelques-unes.
Il a donc été question tout au long de notre stage de mettre en place un serveur proxy sécurisé
avec deux méthodes d’authentification kerberos et LDAP. Nous avons en effet grâce à cette
nouvelle couche de sécurité mise en place permis aux utilisateurs du domaine du MINDCAF
d’avoir une connexion sécurisée et une amélioration des connexions à internet du point de
vue vitesse.

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et xi
Réseaux (SR).
Mise en place d’un proxy squid sécurisé avec authentification
kerberos/LDAP

ABSTRACT

From July 1 to 3, 2019, we did an academic internship at the Ministry of Foreign Affairs and

Land Affairs (MINDCAF) in front of CAMPOST. . During this stage, we visited the premises

and the different divisions of the structure.

We also exchanged with managers to understand what each division does and how it works.

Thus, after the initiation stage, we were able to escape. This is how we found the

shortcomings that we decided to work on a project in the field of the network that has solved

some.

This has therefore been question throughout our step of setting up a secure proxy server with

two authentication methods of Kerberos and LDAP. We are implementing a new layer of

security to allow users of the MINDCAF domain to have a secure connection and improve

their Internet connection.

©2019 rédigé par EBALE Raymond Yves Gabin


IAI-Cameroun « Centre d’Excellence Technologique Paul BIYA »
En vue de l’obtention du Diplôme d’Ingénieur des Travaux en Informatique Option Systèmes Et xii
Réseaux (SR).
INTRODUCTION GENERALE

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. Ce dernier est un outil
incontournable et il réunit plein d'utilisateurs de par le monde. On compte environ 1,73
milliards d'utilisateurs d'après Net Craft, société anglaise spécialisée dans la sécurité internet.

L'internet est alors de plus en plus accessible, mais il recèle de nombreux dangers, souvent
ignorés par beaucoup d'utilisateurs d'où se pose un problème de sécurité. Les réseaux locaux
sont fréquemment reliés à Internet via des passerelles ou routeurs, ils utilisent le plus souvent
le protocole TCP/IP. Pour aborder ce problème dans notre étude, nous allons utiliser un proxy
pour relier un réseau local à l'Internet. Tous les 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'être 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
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é à LDAP et Kerberos pour l'authentification des
utilisateurs de notre réseau. Nous allons y intégrer un antivirus et aussi sécuriser
l'authentification des utilisateurs avec SSL pour plus de sécurité.

Pour mener à bien ce travail, nous allons au premier chapitre faire une présentation de notre
structure d’accueil le MINDCAF, au chapitre deux présenter le contexte d’étude et la
problématique pour en dégager les objectifs, nous présenterons au chapitre trois une vue
générale sur la notion de proxy, présenter le pourquoi du choix de notre solution et passer à la
mise en place d'un proxy SQUID sécurisé avec une authentification via KERBEROS/LDAP,
et enfin nous terminerons par quelque test au chapitre 3.
PARTIE I : PHASE D’INSERTION

APERÇU
INTRODUCTION

I. Présentation du MINDCAF

II. Présentation de la structure d’accueil : CIS (Cellule Informatique et des

Statistiques)

CONCLUSION
INTRODUCTION
L’insertion est une phase qui revêt une importance particulière dans le processus de notre
formation, en d’autres termes une passerelle du monde académique au monde professionnel.
En plus, elle donne l’opportunité au stagiaire de découvrir la structure d’accueil, afin non
seulement de mieux comprendre son fonctionnement, mais aussi et surtout de s’accommoder
au monde professionnel et à ses réalités. Pour ce faire, nous avons eu le privilège d’effectuer
notre stage au Ministère des Domaine du Cadastre et des affaire Foncière (MINDCAF). Il sera
donc question tout au long de cette phase, dans un premier plan faire une brève historique du
MINDCAF avant de passer à la présentation de celui-ci.
1.I.1.PRESENTATION DU MINDCAF
1.I.1.1. Historique
Le Ministère des Domaines, du Cadastre et des Affaires Foncières (MINDCAF), est un
département ministériel créé selon le décret N°2011/408 du 09 décembre 2011 portant
organisation du Gouvernement de la République du Cameroun. A la suite du décret susvisé, le
fonctionnement du dit ministère a pris corps avec la signature du décret No 2012/390 du 10
septembre 2012 portant organisation et fonctionnement du Ministère des Domaines du
Cadastre et des Affaires Foncières.

1.I.1.2. Missions du MINDCAF


Conformément aux dispositions prévues par le décret n° 2012/390 du 10 septembre 2012,
Le Ministère des Domaines, du Cadastre et des Affaires Foncières est placé sous l’autorité
d’un
Ministère. Le MINDCAF est responsable de l’élaboration et de la mise en œuvre de la
politique du gouvernement en matière domaniale, cadastrale et foncière. A ce titre, il est
chargé :
- De l’élaboration des textes législatifs et règlementaires relatifs aux secteurs
domaniaux, cadastraux et fonciers ;
- De la gestion des domaines public et privé de l’Etat ;
- De la gestion du domaine national et des propositions d’affectation ;
- De la protection des domaines publics et privés et de l’Etat contre toute atteinte, en
liaison avec les administrations concernées ;
- De l’acquisition et de l’expropriation des biens immobiliers au profit de l’Etat, des
établissements publics administratifs et des sociétés à capital public, en liaison avec le
Ministre des Finance, les administrations et les organismes concernées ;
- De la gestion du patrimoine immobilier et mobilier de l’Etat ;
- De la gestion et le suivi des locations administratives ;
- De l’élaboration et de la tenue des plans cadastraux ;
- De la réalisation de toutes études nécessaires à la délimitation des périmètres
d’intégration cadastrale ;
- De la constitution et de la maîtrise des réserves foncières, en relation avec le
Ministère de l’Habitat et du développement et les Administrations concernées ;
Il exerce la tutelle sur la Mission d’Aménagement et d’Equipement des Terrains Urbains et
Ruraux (MAETUR).

1.I.1.3. Structure Hiérarchique


La structure d’une administration est l’ensemble de moyens employés pour repartir le travail
en taches distinctes et pour ensuite assurer la coordination entre les taches des différents
services. Pour l’accomplissement de ses missions, le Ministre des Domaines, du Cadastre et
des Affaires Foncières dispose de :
- Un Secrétariat particulier ;
- Deux (02) Conseillers Techniques ;
- Une Inspection Générale ;
- Une Administration Centrale ;
- Des services déconcentrés dans les 10 Régions et dans les 58 Départements que
compte le Cameroun.
L’administration centrale comprend :
- Le Secrétaire Général ;
- La Direction des Domaines ;
- La Direction des Affaires Foncières ;
- La Direction du Patrimoine de l’Etat ;
- La Direction du Cadastre ;
- La Direction des Affaires Générales.

1.I.1.4. Organigramme
Pour l’accomplissement de ses missions, Monsieur le Ministre des Domaines du Cadastre et
des affaires Foncières a sous sa responsabilité plusieurs divisions présenter dans le graphique
ci-dessous
Tableau 1 : Organigramme du MINDCAF (source : MINDCAF)

1.I.1.5. Plan de localisation


Les locaux du MINDCAF sont situés au cœur de la cité capitale du Cameroun après le
carrefour du boulevard du 20 mai entre les locaux abritant le premier ministère et celui de la
CAMPOST. Ses bureaux sont disposés aux rait de chaussée, au 1er, au 2ème, au 3ème, au
8ème et au 14ème étage de l’immeuble du MINESUP.
La situation géographique du MINDCAF est d’avantage matérialisée à travers le plan
de localisation schématisé ci-après :
Figu
re 2 : Plan de localisation du MINDCAF

II. PRESENTATION DE LA STRUCTURE D’ACCUEIL :


CIS (CELLULE INFORMATIQUE ET DES
STATISTIQUES)
1.II.1. Les missions
La cellule Informatique et des Statiques étant l’une des neuf structures rattachées
directement au Secrétariat Général, elle est située au rez-de-chaussée, au 1er étage et 2e étage
respectivement. Placée sous l’autorité d’un Chef de Cellule, la cellule informatique et des
statistiques est chargée :
- De la conception et de la mise en œuvre du schéma directeur informatique du
Ministère ;
- Des études de développement, de l’exploitation et de la maintenance des applications
et du réseau informatique du Ministère ;
- De la mise en place des banques et des bases de données relatives aux différents sous
systèmes informatiques du Ministère ;
- De la sécurisation, de la disponibilité et de l’intégrité du système informatique du
Ministère ;
- Du traitement informatique, de la conservation et de la diffusion des données ;
- De la collecte et du traitement statistique des données, en liaison avec les directions
techniques ;
- De la production du sommier statistique du Ministère ;
- De la veille technologique en matière d’informatique.
Cette structure comprend, outre le Chef de Cellule, (04) quatre Charges d’Etudes Assistants et
des cadres d’appuis.

1.II.2. Ressource du mindcaf


Dans cette rubrique, nous allons présenter les ressources matérielles, logicielles et quelques
outils de travail utilisés par le personnel du MINDCAF.

1.II.2.1. Ressources matérielles


Les ressources matérielles du MINDCAF en matière informatique se composent :

Tableau 2 : ressource humaine

Equipements Quantité Observation


Poste de Windows 300 Windows 8 et 10
travail Linux 1
Serveurs physique 02
Convertisseur 02
Routeurs 02 - Microtik Cloud Core 1036
CISCO 2800 série
Pare-feu Configuré dans le routeur
Microtik
Imprimante 72
Scanners 06
Panneau de brassage 10
Armoire de brassage 01
Point d’accès wifi 06
Coffret mural 12 U 09
Switch 09

1.II.2.2. Ressources logicielles


Le MINDCAF dispose de plusieurs applications métiers propres permettant d’automatiser et
de mener à bien ses activités. On a aussi les applications telles que SIGIPES, ANTILOPE et
PROBMIS dont les bases de données sont hébergées respectivement par le MINFOPRA et par
le MINFI. Cependant, plusieurs projets d’informatisation sont en cours notamment à travers le
projet PAMOCCA (Projet d’Appui à la Modernisation du Cadastre et au Climat des Affaires)
qui consiste à informatiser tous les services du MINDCAF, à savoir l’informatisation des
postes de recettes, des réserves foncières, du courrier et des conservations foncières, le site
web ainsi que et l’acquisition de certaines applications. Le MINDCAF dispose aussi d’une
gamme variée de logiciels authentiques avec licences illustrée dans le tableau ci-dessous :
Tableau 3 : ressources logicielles

Logiciels Illustrations

Système d’exploitation des postes de travails

Antivirus des postes clients :

Kaspersky

La suite office 2010

Système d’exploitation serveur :

Windows serveur 2008 et 2012

Navigateur installé dans les postes clients

Mozilla Firefox

1.II.2.3. Ressources humaines


Le MINDCAF compte 1384 personnels en activité (contractuels et fonctionnaires). La cellule
informatique comporte 07 personnels donc 06 informaticiens (pour la plupart ayant le profil
d’ingénieur des travaux en informatique) et statisticien. Il est à noter en outre que le
MINDCAF dans son ensemble dispose de plus de quinze (15) informaticiens.
1.II.2.4. Les outils de travail
Nombreux sont les outils de travail utilisés par le personnel Informaticien du MINDCAF dans
l’exercice de leurs fonctions. Il convient de citer :
- Les trousses de maintenance qui contiennent un ensemble de gadgets nécessaires lors
des différentes interventions sur le terrain ;
- Les multimètres pour effectuer des travaux électriques ;
- Les analyseurs de câbles réseaux pour vérifier l’état des câbles réseau lors de la mise
en production des nouveaux périphériques et lors des tâches de dépannage ;
Des câbles consol pour émuler les terminaux lors de la mise en production des nouveaux
équipements ;
CONCLUSION
En sommes, la phase d’insertion au MINDCAF fut intéressante dans la mesure où
nous avons familiarisé avec de nouvelles personnes et avec un nouvel environnement. Nous
notons que c’était difficile au début mais nous avons appris plusieurs notions. A la fin de cette
période, suite aux visites menées dans l’ensemble des services et diagnostiques élaborés, des
thèmes de stage ont été choisis dont le nôtre : MISE EN PLACE D’UN PROXY SQUID
SECURISE AVEC AUHENTIFICATION KERBEROS/NTLM/LDAP. La bonne
collaboration ainsi que la disponibilité de notre encadrant technique nous ont permis de nous
imprégner des réalités et des besoins réels auxquels fait face la structure devant ce thème.
Afin de mieux cerner le problème et de faire des propositions de solution, il est primordial
pour nous d’élaborer un cahier de charges.
PARTIE II : PHASE TECHNIQUE

APERÇU
INTRODUCTION

Chapitre 1 : Cahier des charges

Contexte

Problématique

Objectifs

Planification

Evaluation financière

Chapitre 2 : Etat de l’art

Généralité sur les proxys

Présentation de la solution choisie

Chapitre 3 : Implémentation de la solution

Présentation générale de la solution

Implémentation

Chapitre 4 : Test et commentaire


INTRODUCTION
Pour assurer la réussite d’un projet, l’élaboration impérative d’une définition exhaustive,
écrite, détaillée, évaluable et précise des besoins est essentiel ou mieux encore vital, d’où
l’importance du cahier des charges. Ce dernier regroupe donc les objectifs à atteindre, les
ressources requises, la planification de la mise en œuvre, les outils d’évaluation ainsi que les
méthodes de contrôle.
En ce qui nous concerne, après avoir intégré le milieu socio—professionnel du MINDCAF et
après avoir étudier de près sa structure et son fonctionnement, nous avons eu pour thème de
stage académique « MISE EN PLACE D’UN PROXY SQUID SECURISEE AVEC
AUTHENTIFICATION KERBEROS/LDAP », dont il sera question pour nous d’en dégager
les points essentiels afin de s’assurer du bon déroulement du projet.
CHAPITRE 1 : CAHIER DES CHARGE

I. PRESENTATION DU PROJET

Tableau 4 : Architecture réseau du MINDCAF

2.1.1. Contexte
Le domaine du cadastre et des affaires foncières dispose de plusieurs bureaux situés au 1 er, 2e ,
3e,4e,5e,11e,12e et 18e étage, chacun des bureaux dispose au moins d’un poste ou ordinateur de
bureau connecté à internet, chaque poste client contient un anti-virus (Kaspersky).
Pour centraliser la gestion des machines et des comptes utilisateur, l’Administrateur du
Domaine des Cadastres a mis en place un domaine AD sous Windows server 2008 R2
permettant ainsi à chaque utilisateur de disposer un compte dans le domaine Windows,
compte indispensable pour se connecter au réseau et ainsi accéder au système et au ressource
partagé.
Pour sa connexion à internet, le MINDCAF dispose d’un Routeur (Microtik) et d’une bande
passante fourni par le FAI (CAMPTEL) de 20 Mégabits. Le Mindcaf dispose d’un réseau mis
en place mais pas vraiment Administré et contrôlé.
En effet les connexions internet ne sont pas sécurisé malgré l’utilisation d’un pare-feu les
échange qui transite entre le réseau interne et internet ne sont pas contrôlé donc non sécurisé,
le suivi des connexions à internet n’est pas géré, il n’est pas possible de savoir ce que les
utilisateurs manigancent sur le internet lorsqu’il son connecté, et encore il est impossible
d’identifier chaque utilisateur s’étant connecté au réseau. On constate la plupart du temp un
ralentissement de la connexion internet dans certains bureaux du mindcaf tandis que d’autre
bureaux ne subissent aucun effet se désagrément cela traduit une mauvaise gestion de la
bande passante et aucun suivi de celle-ci.

2.1.2. Problématique
Afin de permettre un accès plus rapide aux utilisateurs, un gain de bande passante au niveau
de la connexion Internet, distinguer les usagers non pas par une simple adresse IP mais un
nom d’utilisateur et ainsi avoir une connexion sécurisée et un meilleur contrôle sur les accès,
quelles serait donc l’architecture adéquate à mettre en place ?

2.1.3. Objectifs à atteindre


L’objectif de notre travail repose sur 3 points
 Filtrer les accès
 Contrôler les accès
 Sécurisé la connexion
 Mise en place d’un cache
 Authentifier les utilisateurs du proxy
 Suivi des logs
 Suivi de l’utilisation de la bande passante

2.2. DEROULEMENT DU PROJET


2.2.1. Planification
Tableau 5 planification avec Gant Project

2.2.2. Evaluation financière


2.2.2.1. Ressources matérielles et logicielles
Tableau 6 : Ressources matérielles et logiciels (mercurial 2017)

Prix unitaire Total


Désignation Type Quantité
(FCFA) (FCFA)
Kali Linux Logiciel 01 Gratuit
Proxy squid Logiciel 01
KASPERSKY Logiciel 01 19 324 19 324
Windows server 17 550 17 550
Logiciel 01
2012 R2 standard
Ordinateur: 109 850 109 850
Intel core i3- Matériel 01
8350k(3.6GHz)
146 724
Total 1

2.2.2.2. Ressources Humaines


Acteurs :
 Maitrise d’œuvre : EBALE Raymond Yves
 Maitrise d’ouvrage : Ministère du Domaine du Cadastre et des Affaire Foncière
(MINDCAF)
 Experts: M. KEBILA. Romeo, M. MEKONTCHOU

Tableau 7 : ressources humaines

Intervenants Nombre Durée (jour) Pu/j (FCFA) Montant total (FCFA)


Chef de projet 01 10 50.000 500 000
Ingénieur des 01 08 45.000 360 000
travaux
informatiques
Formation 01 03 45.000 135 000
personnel
Total 2 365 000
Total 1 + total 2 995 000

Tableau 8 : cout total

Désignation Coût
Ressources logicielles et matérielles 146 724 FCFA
Ressources humaine 365 000
Total 995 000

CONCLUSION
Dans cette partie, il a été question pour nous de présenter le projet, de montrer la
problématique liée au thème et pour ensuite définir notre approche et planning d’exécution du
projet. Nous avons également fait une étude de l’existant qui s’est avéré très enrichissant et
très édifiant. Tout ceci va être une base sur laquelle nous pourrons nous appuyer pour
proposer des solutions plus adaptées répondant aux attentes du MINDCAF.

CHAPITRE 2 : ETAT DE L’ART


INTRODUCTION
Une fois l'environnement de travail étudié, il fallait trouver des solutions pour répondre à
notre problématique. Intervient alors l'étape de l'état de l'art, c'est-à-dire l'état des techniques
existantes dans le domaine étudié, sans que nous ayons besoin de faire preuve d'une activité
inventive. "Il ne faut pas réinventer la roue." Les sources peuvent être diverses : journaux,
revues et publications scientifiques, articles, rapports de recherches... Cette démarche m'a
permis de définir les technologies à utiliser et à appliquer.

3.1. GENERALITE SUR LE PROXY


3.1.1. Définition
Un proxy (serveur mandataire en français) est un outil logiciel permettant de sauvegarder les
pages les plus fréquemment visitées ou les dernières visitées pour qu'elles s'affichent plus
rapidement. Le plus souvent quand on parle de proxy on fait référence au proxy web, c’est-à-
dire au serveur proxy s’occupant du protocole http. Un serveur proxy peut avoir plusieurs
usages, comme par exemple de garder en cache les sites que vous visitez (pour gagner en
vitesse), ou bien de filtrer certains contenus. Mais il peut aussi servir à d’autres usages.

3.1.2. Principe de fonctionnement


Dans un réseau local, on peut avoir envie de mettre une machine qui fasse l'intermédiaire
entre notre réseau et Internet. Le serveur proxy (ou serveur mandataire) permet d'envoyer les
requêtes et de recevoir les réponses à la place de ses clients. Ces requêtes peuvent être des
requêtes de divers protocoles, les plus utilisées étant le HTTP, HTTPS et FTP, SSL.
 Un client envoie sa requête
 Le proxy la récupère et la renvoie
 Le serveur répond au proxy
 Le proxy renvoie la réponse au client.
L'avantage du proxy est que les clients deviennent invisibles pour l'Internet. Si un client est
derrière un proxy, les autres machines sur Internet penseront qu'il s'agit du serveur.
En tant que clients Web, il est intéressant de passer par un proxy pour aller
sur Internet. Cela a comme avantage pour le client d'être anonyme, puisqu'il fait chaque
requête à la place de celui-ci.

3.1.3. Quel sont les services qu’offre un serveur proxy ?


Le serveur proxy présente aussi d’autres services tel que :
 Le cache
 Le filtrage
 Reverse proxy
 L’authentification
a. Le cache
Le cache permet de stocker un certain nombre de fichiers pendant que vous naviguez sur
Internet pour permettre d'afficher la page plus rapidement si vous retournez sur le même site
une autre fois. En général, les navigateurs Web (Mozilla, Internet Explorer, ...) utilisent un
cache (ils prennent une certaine place sur le disque dur pour stocker ces fichiers). Un serveur
cache-proxy permet de faire la même chose à un plus grand niveau : Il est dédié au stockage
des fichiers et pages Internet les plus visitées. Toutes les machines qui passent à travers le
proxy lui font stocker des pages et fichiers Internet, du coup les sites les plus visités par les
gens utilisant les réseaux sont plus rapides à télécharger. Ce mécanisme procure donc deux
grands avantages non négligeables :
 Une économie de bande passante d'autant plus grande que le volume de données
représentée par l'objet. Le nombre de requête qui pourra être détournées vers le cache
dépend de plusieurs paramètres comme la durée d'activité du cache, la durée de vie
des objets dans le cache, le nombre de clients et de requêtes sur le réseau, etc.
 Un gain de temps pour les utilisateurs internet. Effectivement lorsque le cache prend
en charge une requête, le délai d'accès à un objet devient celui de la recherche de cet
objet dans le cache + les temps d'accès réseau.

b. Le filtrage
Le serveur proxy peut également servir à suivre toutes les entrées et sorties en créant des
journaux d'activités (logs) qui enregistrent chaque requête que font les clients. Au niveau des
clients on peut lister un certain nombre de sites autorisés (liste blanche) ou des sites qui ne le
sont pas (liste noire). Au niveau des serveurs, l'analyse des réponses en fonction de certains
critères s'appelle le filtrage de contenu (mots clés, adresses IP, noms de domaines,).

c. Le reverse proxy
Le proxy inversé ne sert pas de relais aux clients de son Lan mais à ceux qui viennent d'Internet
et ont besoin d'avoir accès à certains serveurs internes .

d. L’authentification
Puisque le serveur Proxy se trouve entre le réseau local et Internet, il peut très bien décider de
qui a le droit de se connecter sur Internet en imposant que le client s'authentifie pour se
connecter (login et mot de passe). Voici une liste non exhaustive des quelques principaux
protocoles d’authentification :
 Basic : Les associations profiles/mots de passe sont stockés dans un fichier. Les mots
de passe sont cryptés par la fonction crypt () dans le fichier. L'authentification circule
en clair sur le réseau, les mots de passe étant codé en base64. Ce format
d'authentification est un classique pour le proxy et utilise le même type de fichier
qu’Apache ? Sa partie réseau en revanche n'est en aucun cas sécurisée ;
 Digest : Identique à la première méthode, mais les mots de passe sont cryptés par la
méthode digest avant d'être émis sur le réseau ;
 LDAP : Permet d'utiliser un serveur LDAP en pour authentifier les utilisateurs ;
 NTLM : Permet d'authentifier l'utilisateur en utilisant le protocole de Microsoft
NTLM. Les serveurs supportés sont samba, Windows NT et Windows 2000 ;
L'authentification est réalisée via des exécutable externe, chaque protocole d'authentification
ayant son propre exécutable. Ces programmes authentifiant ont un format d'utilisation très
simple : ils lisent sur STDIN les informations d'authentification sous la forme "login
motDePasse" et retourne sur STDOUT "OK" ou "ERR" en fonction que les informations
soient juste ou pas.

3.1.4. Avantage
3.1.4.1. Votre adresse IP est cachée
En utilisant un proxy, est que le site Web auquel vous accédez ne sera pas en mesure
d’enregistrer votre réelle adresse IP, car il enregistrera à la place celle du serveur proxy. Oui,
cela signifie que vous êtes quelque part anonyme lorsque vous naviguez. N’oublions pas que
notre adresse IP peut en dire long sur nous, comme le pays et la ville d’où vous venez. Les
cybercriminels rusés peuvent même aller plus loin et utiliser votre adresse IP pour savoir qui
est votre FAI, quel est votre code postal et même dans quelle rue vous vivez.
Malheureusement, une brèche dans la protection des données ou une fuite sur un site Web que
vous visitez peut suffire à lui faire obtenir cette information. Donc, un tel outil est vraiment
utile de nos jours.

3.1.4.2. Accéder à du contenue géo bloquée ou restreint


Malheureusement, beaucoup de contenu en ligne sont en fait caché derrière des restrictions
géographiques principalement à cause de la réglementation des réseaux et des droits d’auteur.
Mais comme un serveur proxy cache votre adresse IP, les sites Web ne peuvent pas vous
empêcher d’y accéder en se basant sur votre situation géographique. Un bon exemple de cela
est l’utilisation d’un proxy pour accéder par exemple à certain contenu NETFLIX qui ne sont
disponible qu’aux USA. De plus, nous pouvons également utiliser un serveur proxy pour
contourner les restrictions de réseau au travail ou à l’école restrictions qui vous
empêcheraient d’accéder à certains types de contenu en ligne.
3.1.4.3. Les temps de chargement peuvent être réduit
Ceci est lié au fait que les serveurs proxy peuvent mettre en cache les données. En gros,
une fois qu’ils accèdent à certaines pages Web, ils les stockent pour plus tard. Lorsqu’une
page en cache est demandée, ils peuvent l’afficher plus rapidement pour l’utilisateur.

3.1.4.4. Les sites web malveillants peuvent être filtrés


Un autre avantage pratique du serveur proxy est le fait que l’administrateur peut empêcher les
utilisateurs d’accéder à des sites Web éventuellement dangereux. Cela peut sembler contre
intuitif au premier abord, mais considérons que Si l’administrateur sait qu’un certain site Web
contient des logiciels malveillants ou des liens d’hameçonnage, il peut empêcher les
utilisateurs de proxy d’y accéder accidentellement ou sans le savoir. Il est également possible
que si vous atterrissez sur un site Web corrompu, tout logiciel malveillant qu’il pourrait
contenir puisse infecter le proxy au lieu de votre appareil.

3.1.5. Inconvénient
Les serveurs proxy n’offrent pas vraiment une sécurité en ligne de premier ordre.
Bien sûr, certains sont livrés avec un cryptage de type SSL, mais ce n’est pas aussi sûr
qu’il n’y paraît. De plus, si vous tenez à votre vie privée, vous ne serez sans doute pas
très heureux d’apprendre que quelqu’un peut intercepter et déchiffrer le SSL. De plus, si vous
n’avez pas l’intention d’utiliser un service Web de proxy, vous devrez probablement
configurer vous-même la connexion proxy. Ce n’est pas extrêmement compliqué, mais cela
peut devenir ennuyeux et fatigant si vous devez changer assez souvent d’emplacement de
serveur. En plus vous devez faire très attention au fournisseur que vous choisissez. N’oubliez
pas si vous accédez à quelque chose en ligne via HTTP au lieu de HTTPS, le propriétaire du
proxy sera en mesure de surveiller vos activités sans parler d’un fournisseur qui peut
également bloquer des sites Web inoffensifs.

3.1.6. Les types de proxy


Dans l’ensemble, voici les types de serveurs proxy les plus courants :
1. Serveurs proxy http
Ces serveurs proxy peuvent interpréter le trafic réseau et sont donc utilisés pour mettre en
cache les pages Web et les fichiers, ce qui facilite et accélère leur accès par les utilisateurs.
Les proxys HTTP peuvent gérer plusieurs connexions en même temps sans que leur vitesse ne
soit sérieusement affectée. Mais cette vitesse a un coût, à savoir l’absence totale de cryptage.
2. Serveurs proxy SSL
Aussi connus sous le nom de proxys HTTPS, ces proxys fournissent un support SSL (Secure
Socket Layer) pour la connexion entre l’émetteur et le récepteur afin de la sécuriser. Les
proxys SSL sont moins susceptibles d’être bloqués par votre FAI, car ils utilisent le port TCP
443. Si votre FAI bloquait ce port, cela vous empêcherait également de faire des achats en
ligne ou d’effectuer des opérations bancaires.
3. Serveurs proxy SOCKS
Contrairement à un proxy HTTP, un proxy SOCKS ne se soucie pas vraiment d’interpréter le
trafic web – il le transmet simplement. Les proxys SOCKS sont assez polyvalents puisqu’ils
peuvent gérer plusieurs types de trafic, comme les courriels (SMTP et POP3), FTP (File
Transfer Protocol – utilisé pour télécharger des fichiers sur les serveurs), IRC (Internet Relay
Chat), et même les trafics torrent. Cependant, en raison de leur popularité, les serveurs proxy
SOCKS ont tendance à être un peu plus lents, car ils sont généralement surchargés.
Néanmoins, ils offrent une certaine sécurité, avec un support HTTPS.
4. Proxys Web
Les proxys Web peuvent normalement être utilisés dans votre navigateur. Ils ne nécessitent
pas l’installation d’un logiciel supplémentaire. Les connexions peuvent être HTTP ou HTTPS,
donc le niveau de sécurité peut varier. Un problème avec les proxys web est qu’ils ont du mal
à gérer les scripts Java, JavaScript et Flash, et qu’ils ne sont pas vraiment capables d’afficher
correctement des mises en page complexes de sites web.
5. Proxys transparents
Ces proxys ne nécessitent aucune configuration de votre part, mais ils ont pour la plupart des
utilisations basiques au moins du point de vue d’un utilisateur en ligne. Il convient quand
même de les mentionner parce que c’est une bonne idée de comprendre comment ils peuvent
vous affecter. Bien que les entreprises puissent utiliser des proxys transparents pour
authentifier les utilisateurs lorsqu’ils se connectent à leurs réseaux Wifi, les FAI peuvent
également les utiliser pour filtrer divers contenus en ligne. Heureusement, contourner les
proxys Transparents n’est pas trop difficile. Tout ce dont vous avez besoin est un proxy crypté
ou un VPN (Réseau Privé Virtuel).

3.1.7. Les protocoles d’authentifications


Pour l’authentifications des utilisateurs d’un proxy il existe diffèrent méthode ou protocole
d’authentification, chaque protocole a ses caractéristiques nous en présenterons brièvement ici
quelque protocole d’authentification que peuvent supporter la plupart des serveurs proxy :
a. NTLM
NTLM est un protocole d’identification Microsoft utilisé pour une authentification et une
négociation sécurisée, aussi utilisé en mécanisme d’authentification (single sign-on). Les
informations d’identification NTLM sont basées sur les données obtenues lors du processus
d’ouverture de session interactive et comprennent :
 Un nom de domaine
 Un nom d’utilisateur
 Un hachage unidirectionnel du mot de passe de l’utilisateur

b. Kerberos
Kerberos est un protocole d’authentification AAA.Il est chargé d’authentifier, d’autoriser et
de surveiller les utilisateurs voulant accéder aux ressources et services de votre réseau. Il agit
en chien de garde contre les intrus sur vos services réseau. En effet, kerberos introduit le
principe de Single Sign-On (SSO). Ainsi avec une authentification unique, l’utilisateur aura
accès à tous les services du réseau, il a l’avantage d’être compatible aussi bien avec les
systèmes libres que les systèmes propriétaires. Kerberos se base sur une tierce partie de
confiance pour gérer l’authentification, le KDC (Key Distribution Center). Tous les
utilisateurs et services du réseau font confiance à cette tierce partie. Pour réaliser la sécurité
de l’authentification, Kerberos utilise un mécanisme de chiffrement basé sur des algorithmes
à clef symétrique. Chaque sujet et service du réseau a une clé secrète partagée avec le KDC.
Kerberos utilise un système de ticket pour réaliser l’authentification et introduit le principe
de SSO (Single Sign On). L’utilisateur s’authentifie sur le KDC puis utilise un ticket pour
s’authentifier sur chaque service demandé. L’utilisateur ne transmet jamais son mot de passe
au service.

c. LDAP
Le protocole LDAP est un protocole de la couche Application (7) du modèle OSI. Il est conçu
pour fonctionner au-dessus de TCP, lui-même au-dessus d’IP. Par conséquent, les
communications avec un annuaire LDAP sont en mode connecté, et les paquets échangés ont
une garantie d’intégrité.

3.2. PRESENTATION DE LA SOLUTION CHOISIE


3.2.1. Etude comparative des proxy leader
Tableau 9  : Etude comparative des proxy

Solution Simplicité Souplesse Plate- Fonctionnalité Protocole Cout


forme Particulière Supporté
supporté
Squid Facilité S’adapte Windows Système de Http, https, Libre
d’installati au parc , Linux, cache très Gopher, ftp, ssl
on, et existant, MAC, efficace,
prise en configurat FreeBSD, analyseur de
main ion aisée AIX, HP- trafic,
immédiate UX… génération de
rapport
d’analyse,
Contrôle de
bande
passante
Sun java system Maintenan Windows Monitoring Http, https, Payant
- web proxy ce simple , Linux temp réel, Gopher, ftp
mais analyseur,
server
nécessite contrôle de
un temp bande
de passante,
compréhe antivirus
nsion trop intégré
long pour
s’adapter
Microsoft – ISA Automatis Configura Windows Analyseur, Http, https, Ftp Payant,
Server atisation tion contrôle de nécessite
des taches simple et bande l’installation
automatiq passante, supplémentaire
ue d’un pare-feu

3.2.2. JUSTIFICATION DU CHOIX DE NOTRE SOLUTION


Squid est une solution open source qui bénéficie d’une large communauté d’utilisateur et de
professionnelle, par rapport à ses concurrent la documentation de squid est très fourni et
simple de compréhension, elle est beaucoup utilisée dans les petites et grandes entreprises.
Très simple et facile à mettre en œuvre il ne nécessite pas une très grande expertise pour la
mise en place et s’adapte facilement aux systèmes existants et est capable de supporter
plusieurs protocoles essentiels. Squid est supporté par la majorité des plateformes existantes
(Windows, linux, MAC…) mais sa force principale est son système de cache très performant
et sa facilité de suivi des fichier journaux. Squid est très flexible ce qui est un avantage
important pour les réseaux les plus grands et les plus complexes. Ainsi, il est par exemple
possible de créer un groupement du cache du proxy, en ayant recours à plusieurs proxys et de
répartir les requêtes. Ce groupement de composants décharge les composants uniques et
permet d’éviter les pannes.

3.2.2.1. Limitation
Squid n'est pas un Firewall. Il peut limiter les possibilités des clients mais il ne protège pas
l'accès aux personnes extérieures au réseau. Squid ne supporte pas tous les protocoles. Il est
ainsi incapable de gérer les protocoles de news, real audio et de vidéo conférences. Il est
nécessaire d'utiliser d'autres caches applicatifs.

CONCLUSION
Il était question pour de faire une présentation générale sur le proxy dans ce chapitre. Cette
présentation nous a permis non seulement de dégager les avantages et les inconvénients d’un
proxy, mais surtout de justifier le choix du proxy SQUID sur lequel porte notre projet. Cette
étape était nécessaire avant la présentation du chapitre suivant portant sur l’implémentation de
la solution proxy.
CHAPITRE 3 : IMPLEMENTATION DE LA SOLUTION

INTRODUCTION
L’état de l’art achevé, il est temps de passer aux configurations. Avant de commencer, nous
avons l’obligation de faire une présentation de la topologie de notre réseau, ceci implique un
plan d’adressage des interfaces de connexion de nos différents équipements. Nous allons
également énoncer les outils et les paquets utilisés dans le cadre de nos configurations.
I. PRESENTATION GENERALE DE LA SOLUTION
I.1. Architecture de la solution
Le serveur proxy étant l’intermédiaire entre le réseau local et l’Internet, notre proxy va être
placé entre le routeur et les machines clientes. Donc toute requêtes allant sur internet
passerons par le serveur proxy et c’est le serveur qui se chargera d’interroger les serveurs
externes concernant la requête envoyé par le client. Voici donc l’architecture du MINDCAF
dans lequel on a ajouté notre serveur proxy
Tableau 10 : architecture de la solution

Pour plus de clarté, pour alléger l’implémentation, nous allons faire une simulation simple de
l’architecture.
Tableau 11 : architecture de simulation de la solution mise en place

I.2. Plan d’adressage


Réseau : 192.168.42.0/24
Domaine : mindcaf.local
Contrôleur de Domaine (DC) : SRV01
Tableau 12 : adressage des équipements

Hôte IP Passerelle HOSTNAME Nom


d’utilisateur
s
Serveur proxy eth0 :192.168. 192.168.42.129 proxyserver.mindc root
159.137 af.local
ethh1 :
192.168.42.58
Windows server 192.168.42.50 192.168.42.129 SRV01.mindcaf.lo Administrat
cal eur
Client1(Windows) 192.168.42.10 192.168.42.58 WIN7PC1.mindca Paul
f.local
Client2(Windows) 192.168.42.11 192.168.42.58 WIN7PC2.mindca Kebila
f.local

- L’hôte « serveur proxy » qui sera la machine qui va héberger le proxy squid,
serra configurer avec deux carte réseau soit eth0 avec pour adresse IP 192.168.159.137
et eth1 qui a pour IP 192.168.42.58, « HOSTNAME » est le nom de notre machine qui
correspond au nom du domaine qualifié (FQDN) cette à dire le nom de la machine
plus le nom du domaine. L’utilisateur de la machine sera « root » c » est à dire
l’administrateur linux (système)
- L’hôte Windows server est la machine qui héberge les utilisateurs du domain
Windows du MINDCAF il a pour adresse IP 192.168.42.50.
- Client1 et Client2 sont les ordinateurs du domaine Windows qui vont passer
par le serveur proxy. Pour chaque ordinateur on a 1 utilisateur. Pour client1
l’utilisateur est Paul et pour client2 l’utilisateur est Kebila

I.3. Prérequis
 Un réseau Windows
 Un routeur
 Un contrôleur de domaine sous Windows server 2012 R2
 Un domaine Active Directory
 Une machine (ici sous kali 17) pour squid

I.4. Outils et paquets nécessaire


Pour rejoindre le domaine, les paquets suivants seront nécessaires :
 Samba servira à faire le lien entre des machines Linux et Windows ;
 Krb5-user et libkrb5-3 sont les bibliothèques liées à kerberos, le protocole
d’authentification utilisé par Active Directory ;
 ntpdate permet de synchroniser les horloges machines pour kerberos
 winbind est le composant de samba communiquant avec Active Directory

II. IMPLEMENTATION
Après plusieurs recherches sur internet, nous avons remarqué que chaque personne a une
certaine méthode qui lui est personnelle, cependant nous avons opté pour la plus aboutis à
savoir

 Configuration du domaine Active Directory


 Configuration des paramètres TCP/IP
 Installation et configuration de SQUID
 Synchronisation de l’heure local
 Configuration de Kerberos
 Configuration de Samba
 Rejoindre le domaine
 Configuration de LDAP
 Configuration des options d’authentification dans squid
 Configuration des règles d’accès (ACL)
 Définition des accès (http_access)
 Filtrage des accès avec squidguard
 Configuration des logs
 Sécurisation du proxy

ETAPE 1 : Configuration du domaine Active Directory


1. Infrastructure
 Nom du DC « SRV01 »
 Domaine : mindcaf.local
 Adresse IP : 192.168.42.50
2. Configuration
a. Création des utilisateurs
Pour notre implémentation nous allons créer deux utilisateurs rattachés aux domaine « Paul »
et « Kebila » dans ‘Utilisateur et ordinateur Active Directory’
b. Création d’un groupe pour les connexions internet
Le groupe créer ici est « InternetUser » seuls les utilisateurs de ce groupe pourrons accéder à
internet avec les options de connexion configurer dans squid
ETAPE 2 : Configuration des paramètres réseau
4.1.1. Configurer les paramètres TCP/IP
Il est important de configurer notre carte réseau en statique et non en DHCP. Dans linux la
configuration se fait dans le fichier /etc/network/interfaces.
vim /etc/network/interfaces

Tableau 13 configuration IP

 adresse : définit l’adresse IP de la carte


 netmask : masque de sous réseau
 gateway : passerelle par défaut

4.1.2. Configuration des paramètre DNS


SQUID a besoin d’un serveur DNS pour fonctionner sa peut être celui du fournisseur internet
ou un DNS interne. Ici nous allons travailler avec un DNS interne. Nous allons éditer le
fichier /etc/resolv.conf pour que le serveur proxy utilise le DNS.
vim /etc/resolv.conf
Tableau 14 configuration DNS

 Domain : suffixe DNS des ordinateurs du domaine


 nameserver : adresse IP du serveur DNS du domaine
Pour s’assurer que le DNS fonction on peut faire un ping sur un nom de machine local ou
externe (sur internet)

Tableau 15 vérification DNS

On peut aussi tester si la résolution inverse des noms fonctionne. Avec la commande dig
Tableau 16 test résolution de nom inverse

Une fois que la configuration réseau est terminé nous pouvons passer à l’installation et la
configuration de squid.

ETAPE 3 : Installation et configuration de SQUID


4.1.3. Installation manuelle
Avant de commencer, il faut au préalable télécharger la dernière version stable de SQUID. On
peut l'acquérir sur le site officiel de SQUID qui est http://www.squidcache.org. Une fois le
logiciel au format tar.gz (c'est à dire compressé sous ce format) téléchargé, on pourra alors
l'installer et on suppose que le fichier décompressé sera placé dans le répertoire /usr/local/src.
On le décompresse via la commande :
#tar -zxvf squid-2.7.STABLE7.tar.gz --directory=/usr/local/src On doit obtenir ce répertoire :
/usr/local/src/squid-2.7.STABLE7. Il convient maintenant de compiler SQUID. On se place
dans le répertoire de SQUID :
#cd /usr/local/src/squid On passe ensuite à la configuration des options de compilation. Squid
sera par défaut installé dans le répertoire /usr/local/squid mais on peut utiliser un autre
répertoire via l'option --prefix. Si on souhaite avoir les messages d'erreurs en français, on
ajoute l'option --enable-err-language=French mais on peut aussi faire cela au niveau de la
configuration de SQUID. La commande pour la compilation est alors :
#./configure --prefix=/usr/local/squid --enable-err language=French Si tout c'est bien passé,
il ne reste plus qu'à compiler avec la commande : #make all Puis procéder à l'installation avec
la commande:
#make install
Le fichier INSTALL situé dans la racine du répertoire /usr/local/src/squid2.7.STABLE7
reprend en partie ce qui vient d'être expliqué. A la fin de l'installation, les répertoires suivants
seront créés : /usr/local/squid : répertoire de base de SQUID /usr/local/squid/etc : répertoire
contenant la configuration de SQUID /usr/local/squid/bin : répertoire contenant les binaires et
les scripts /usr/local/squid/logs : répertoire contenant les logs

4.1.4. Installation automatique


L’installation est extrêmement simple, elle consiste uniquement à l’installation du paquet
squid. Il suffit juste de disposer d’une connexion internet, de se connecter en tant que root sur
le terminal de la machine et de taper la commande :
#apt-get install squid
De cette manière, c'est le système qui se charge de télécharger tous les fichiers nécessaires
c'est à dire la dernière version stable disponible dans les dépôts et éventuellement les
dépendances s'il y en a. L'installation automatique est ainsi recommandée car cette dernière se
charge d'acquérir à notre place tous les fichiers nécessaires et aussi de les placer à l'endroit
qu'il faut. Le fichier de configuration de SQUID se trouvera dans le répertoire /etc/squid et
portera le nom de squid.conf. Les logs se trouveront dans le répertoire /var/log/squid et le
démon dans le répertoire /etc/init.d/ sous le nom de squid.

4.1.5. Configuration
4.1.5.1. Préparation de la configuration
Une fois l’installation de Squid terminée on va définir les paramètres « de base » : Port
d’écoute, nom de l’hôte visible, répertoire du cache, répertoire de logs… La configuration de
squid se trouve par défaut sur kali dans /etc/squid/squid.conf Pour une configuration propre,
on va copier la configuration de base dans une sauvegarde et vider la configuration par
défaut :

Tableau 17 : préparation de la config

4.1.5.2. Configuration des paramètres de base


Port d’écoute du Proxy : Le port d’écoute de Squid est par défaut 3128. Mais le plus
souvent, le port 8080 est utilisé pour les Proxys.
Nom d’hôte visible par les clients : Il est possible de définir un autre nom d’hôte pour le
proxy, qui sera visible par les clients se connectant au Proxy. (Dans l’exemple, le Proxy
s’appellera proxysquid)
Masquage des adresses IP sources : Pour plus de sécurité, les adresses des clients à l’origine
des requêtes sera masqué par le squid.
Définition de l’utilisateur/groupe : Pour plus de sûreté, l’utilisateur et le groupe utilisé par
Squid sera explicitement défini dans la configuration
Messages d’erreur en français : Lorsqu’une erreur intervient, le client est redirigé vers une
page d’erreur de Squid. Il est possible de changer la langue par défaut des messages d’erreur
Adresse E-Mail du Cache Manager : Il est impératif de définir une adresse e-mail pour le
gestionnaire du cache.

Tableau 18 : configuration des paramétrés de base

4.1.5.3. Configuration du cache de Squid


Emplacement et taille du cache disque : Définir l’emplacement du cache sur le disque, sa
taille, le moteur d’indexation/gestion ainsi que le nombre de sous-répertoires qui définiront la
structure.
Taille des objets (min/max) : Il faut également définir la taille minimale et maximale qui
seront stockés sur le cache disque
Limite basse et haute du cache disque : pour déterminer à partir de quel pourcentage
d’occupation le cache serait vidé
Capacité du cache en RAM : Définir le maximum du cache stocké en RAM
Taille des objets en RAM : Définir la taille maximale des objets gardés en cache RAM
A la suite de la première partie, vient donc les options suivantes :
Tableau 19 : configuration du cache de squid

4.1.5.4. Paramétrage des options de connexions


Afin d’avoir un système de proxy performant, ce qui aura une incidence conséquente sur
l’expérience utilisateur, il faut optimiser un peu la gestion des connexions clients sur le proxy
Rejet des connexions fermées incomplètes
Rejet des connexions persistantes serveur
Autorisation des connexions persistantes clientes
Timeout des connexions clientes
Annulation des téléchargements
Tableau 20 : paramètre des options de connexion

4.1.5.5. Paramétrage des options DNS


Le Proxy a également un rôle de résolution DNS, puisqu’il va gérer les requêtes DNS à la
place des clients. Il faut donc définir combien de temps les requêtes « positives » et « en
erreur » seront conservées dans le cache.

Tableau 21 : paramétrage des options DNS

ETAPE 4 : Synchronisation de l’heure local


Kerberos a besoin d’une synchronisation du temps entre les serveurs contrôleurs de domaine
et les clients. Il faut donc synchroniser le serveur proxy avec le DC du domaine. La
configuration du client NTP (ntpdate) se trouve sur Kali dans le fichier /etc/default/ntpdate
Tableau 22 : synchronisation de l'heure local

NTPDATE_USE_NTP_CONF=no : indique à ntpdate d’utiliser la liste NTPSERVERS ci-


dessous (et non la configuration NTP système) pour synchroniser l’heure.
NTPSERVERS= : indique les serveurs de temps à utiliser pour la synchronisation de l’heure.
NTPOPTIONS= ‘u’ : passe une option à la commande NTP (-u permet d’utiliser des ports
non-privilégiés pour faire passer la requête, ceci est utile au cas où on se trouve derrière un
pare-feu strict.
On fait un test de synchronisation en lançant ntpdate

Tableau 23 : synchronisation de l'heure et de la date

La synchro a réussi. Pour éviter les dérives de temps et donc une désynchronisation de l’heure
on va créer une tache planifiée (crontab) qui va lancer ntpdate à une certaine heure et aussi au
démarrage de la machine

Crontab -e

Tableau 24 : automatisation de la synchronisation de l'heure et de la date du serveur


On ajoute
#SYNCHRO NTP
18 1 * * * ntpdate srv01.mindcaf.local
@reboot ntpdate srv01.mindcaf.local

ETAPE 5 : Configuration de KERBEROS


Sur un serveur Microsoft contrôleur de Domaine Active-Directory, il faut utiliser
l’authentification par Kerberos pour pouvoir se connecter. Par conséquent nous allons le
configurer pour qu’il se connecte et s’authentifie correctement sur l’AD, on va éditer son
fichier de configuration (/etc/krb5.conf) :
vi /etc/krb5.conf

Tableau 25 : configuration de kerberos

[libdefault] : paramètre les réglages généraux de krb5


Ticket_lifetime : définit la durée de vie d’un ticket Kerberos
default_real : le domaine à utiliser par défaut
default_keytab_name = chemin d’accès du fichier qui contient la clé Kerberos
*_enctypes : informations de sécurisation de la communication
[realm] : indique les informations sur les domaines
kdc : le FQDN du serveur de clefs Kerberos du domaine (généralement le controleur de
domaine)
admin_server : le FQDN du contrôleur de domaine principal
default_domain : le nom NetBIOS à utiliser lors de la connexion au domaine
[domain_realm] : réglage des suffixes DNS
mindcaf.local= MINDCAF.LOCAL
Mindcaf.local=MINDCAF.LOCAL
Dans le fichier de configuration, deux types de domaines sont différenciés. Si le domaine est
basé sur le schéma 2008, les lignes suivantes seront utilisées :

Tableau 26 : modèle encryptage Windows 2008

Si le schéma AD est de type 2003

Tableau 27 : modèle encryptage Windows 2003

ETAPE 6 : Configuration de SAMBA


On va configure samba en éditant le fichier de configuration /etc/samba/smb.conf
Tableau 28 : configuration de samba

Security : permet de choisir comment s’authentifier, on règle sur ads car leur nom existe sur
l’AD mais pas en local car notre machine linux n’est pas serveur AD, cela permet de définir
samba comme membre de domaine et non un contrôleur.
realm : notre machine et samba étant définis comme clients d’un domaine, il faut indiquer le
serveur de clefs Kerberos pour pouvoir s’authentifier sur l’AD
password server : indique le serveur Active-Directory pour l’authentification des utilisateurs,
on peut mettre « * » pour laisser samba choisir dynamiquement le meilleur serveur du
domaine ou bien mettre les nôtres statiquement et séparer par une virgule, dans l’ordre de
préférence. Nous allons donc choisir notre DC en premier pour qu’il soit préféré puis « * » au
cas où l’AD primaire soi injoignable0
workgroup : indique le nom du domaine si samba est contrôleur, ou bien dans notre cas
permet d’indiquer à samba de quel domaine il fait partie et notre machine linux.
winbind enum users : permet l’accès à la liste et donc l’énumération des utilisateurs via des
commandes système
winbind enum users : permet l’accès à la liste et donc l’énumération des groupes via des
commandes système
winbind use default domain : permet de choisir si oui ou non winbind va par défaut tenter
de se loguer sur le domaine par défaut ou s’il devra saisir LEDOMAINE «winbindseparator »
avant le nom d’utilisateur.
Local master : Empêche notre machine linux de rediriger lui-même les requêtes de sons
sous-réseau vers un domaine sur un contrôleur spécifique en explorant toute l’arborescence.

ETAPE 7 : Rejoindre le domaine


Stopper les services samba et winbind
/etc/init.d/smbd stop && /etc/init.d/windbind stop
On va joindre notre machine au domaine ACTIVE DIRECTORY, pour se faire on lance la
commande suivante :

Tableau 29 : jonction du domaine linux à Windows

Redémarrer samba et winbind


$ sudo /etc/init.d/smbd start && /etc/init.d/winbind start

Tableau 30: redémarrage de samba et winbind

Pour tester si l’intégration est conforme, lancer la commande suivante :

Tableau 31 : test de l'intégration au domaine Windows

Si la réponse est « succeeded », l’intégration du serveur est réussie.


On va demander à winbind de nous afficher les utilisateurs et les groupe contenu dans le
domaine AD
1. Afficher les utilisateurs du domaine
wbinfo -u : affiche les utilisateurs
Tableau 32 : Affichage des utilisateurs

2. Afficher les groupes du domaine


wbinfo -g : affiche les groupes

Tableau 33 : affichage des groupes

Un second essai d’authentification via Active Directory

Tableau 34 : test de l'authentification via AD

L’utilisateur proxy (utilisé par Squid) doit encore être ajouté au groupe winbindd_priv afin de
pouvoir accéder à /var/run/samba/winbindd_privileged
$ sudo gpasswd -a proxy winbindd_priv
Tableau 35 : ajout de l'utilisateur proxy dans le groupe winbindd_priv

Puis ajouter une dernière action dans le crontab pour changer chaque jour le mot de passe du
compte Ordinateur.
Crontab -e

Pour finir on ajoute la BDD de winbind à NSS (Name Service Switch) afin d’ajouter nos
utilisateur/groupes du domaine à notre système. Ce fichier permet d’indiquer le programme
qui s’occupe de la gestion des utilisateurs : il faut simplement ajouter winbind et wins comme
indiquer à la figure ci-dessous
Pour cela on édite le fichier /etc/nsswitch.conf :
Vi /etc/nsswitch.conf

Tableau 36 : Configuration du fichier nsswitch.conf


ETAPE 8 : Configuration d’LDAP
Pour permettre une authentification LDAP, donc une interrogation via le protocole LDAP
il faut installer les « outils LDAP »
$ sudo apt-get install ldap-utils
Ensuite sous AD créer un utilisateur Windows permettant d’interroger AD. Dans cet
exemple, l’utilisateur s’appelle squid :CN=squid,CN=Users,DC=mindcaf,DC=local Le mot
de passe sera sauvegardé dans un fichier accessible par Squid /etc/squid/ldappass.txt
Pour sécuriser ce fichier contenant le mot de passe :
$ sudo chgrp proxy /etc/squid/ldappass.txt ; sudo chmod 640 /etc/squid/ldappass.txt

ETAPE 9:Configuration des options d’authentification dans squid


Lorsque le serveur communique avec Active Directory, on peut continuer la configuration de
Squid pour intégrer ces modes d’authentifications et déterminer ainsi des Access List (ACL)
et des règles d’accès (http_Access) Voici la configuration nécessaire pour activer
l’authentification (Kerberos/LDAP).
a. Kerberos
Pour configurer l’authentification kerberos dans squid on entre ligne suivante
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -r -s
HTTP/proxyserver.mindcaf.local@MINDCAF.LOCAL
auth_param negotiate children 50
auth_param negotiate keep_alive on
external_acl_type ldap_group_infra %LOGIN
/usr/lib/squid/ext_kerberos_ldap_group_acl -a -g InternetUser@ -D MINDCAF.LOCAL
Pour la configuration de SQUID, on utilise l'option negotiate_kerberos_auth qui est ce qu'on
appelle un « authentication helper », c'est-à-dire un petit programme qui détermine si un
couple login/pass est correct : dans ce cas-ci, il communique avec AD afin de voir s'il existe
un utilisateur dont le login et le mot de passe correspondent

Tableau 37 : configuration de kerberos dans squid


b. LDAP
auth_param basic program /usr/lib/squid/basic_ldap_auth -R -b “dc=mindcaf,dc=local”
-D squid@mindcaf.local -W /etc/squid/ldappass.txt sAMAcountName=%s -h
srv01.mindcaf.local auth_param..basic..children5
auth_param basic realm Internet Proxy
auth_param basic credentialsttl 1 min
les parameter utilisé pour basic_ldap_auth sont :
-b dc=mindcaf,dc=local indique la base de l'arborescence de l'annuaire à partir de laquelle on
recherche l'utilisateur qui essaie de s'authentifier
-W indique le mot de passe de l’utilisateur autorisé
-h indique l’adresse du serveur LDAP
auth_param basic credentialsttl 2 hours : la durée au bout de laquelle l'authentification
helper sera relancé. Cela ne veut pas dire que la fenêtre demandant le login/pass va se
réafficher (cela ne dépend pas de SQUID, mais du navigateur utilisé). Concrètement, au bout
du temps indiqué, il y aura de nouveau un échange de paquets LDAP entre Squid et le serveur
LDAP pour authentifier l'utilisateur, et éventuellement lui interdire l'accès.

Tableau 38 : configuration de LDAP dans squid

ETAPE 10 : Configuration des règles d’accès


Il s'agit des options concernant les restrictions d'accès aux ressources. Pour contrôler tout ce
qui passe par notre serveur proxy, nous utilisons ce que l'on appelle les ACL (Access Control
List). Les ACL sont des règles que le serveur applique. Cela permet par exemple d'autoriser
ou d'interdire certaines transactions. On peut autoriser ou interdire en fonction du domaine, du
protocole, de l'adresse IP, du numéro de port, d'un mot et aussi limiter sur des plages horaires
Pour forcer l’authentification, la première des acl (ci-dessous) doit être placée à la suite dans
le fichier de configuration de squid
acl auth proxy_auth REQUIRED
Ensuite créer une acl pour le groupe d’utilisateur autorisé à se connecter à internet
acl standard external memberof InternetUser
Enfin ajouter les ACL standard de squid
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 443 # https
acl CONNECT method CONNECT

Tableau 39 : configuration des ACL

ETAPE 11 : Définition des accès (http_access)


Après avoir défini les acl, il faut configurer ce que le proxy doit faire avec ces acl. Cela se fait
par les http_access.
http_access allow auth all : les utilisateurs authentifiés aurons le droits de naviguer via le
proxy
http_access allow standard auth: les utilisateur du groupe devrons s’authentifier avant de
naviguer via le proxy
http_access allow manager localhost: cela permet à l’ACL « manager » d’avoir accès aux
informations du proxy via l’interface « localhost »
http_access deny all : tout ce qui ne sera pas pris en compte par ces accès sera refusé

Tableau 40 : définition des http_access

ETAPE 12 : Filtrage des accès avec squidguard


SquidGuard est un redirecteur/ filtre d'URL. Il s’appuie sur des blacklists en corrélation avec
Squid.
Pour installer SquidGuard :
apt-get install squidguard
Récupérer les blacklists nécessaires, aller dans le dossier suivant :
cd /var/lib/squidguard/db
Téléchargement des blacklists :
wget ftp://ftp.utcapitole.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
Décompresser le fichier téléchargé :
tar xzvf blacklists.tar.gz

Détail de la commande « tar » :


1. "x" : extraire une archive
2. "z" : permet de décompresser le "gzip"
3. "v" : mode verbeux, permet d'afficher dans le détail les fichiers
décompressés
4. "f" : indication de la donnée à décompresser
Dans le dossier /var/lib/squidguard/db/ doit apparaitre les dossiers suivants :

À chaque lancement, SquidGuard prend les fichiers textes contenu dans ces dossiers, les lit,
puis génère une base de données indexée afin d’augmenter sa rapidité. Au lieu de faire ceci à

Tableau 41 : base de données des blacklist

Chaque lancement de Squidguard (donc à CHAQUE redirecteur lancé) on peut lui préciser, à
l’aide de la commande squidguard -C all de générer ces bases de données une fois pour
toutes. D’abord créer une copie du fichier de configuration de squidGuard :
cp /etc/squidguard/squidGuard.conf /etc/squidguard/squidGuard.conf.old
Création d’un lien symbolique du fichier de configuration squidGuard.conf dans /etc/squid/:
ln –s /etc/squidguard/squidGuard.conf /etc/squid/
Paramétrage des droits sur les dossiers au proxy :
chown –R proxy:proxy /var/log/squid /var/lib/squidguard
Paramétrer et définir les filtres dans le fichier squidGuard.conf :
nano /etc/squid/squidGuard.conf
Modifier et réécrire les lignes comme suis :
dbhome /var/lib/squidguard/db
logdir /var/log/squid
Tableau 42 : configuration de squidGuard

Domainlist => Interdire tout ce qui comporte le terme écrit (par


exemple
games) dans le domaine.
Urllist => Interdire tout ce qui a un lien avec le terme souhaité
(par exemple
games) dans l’URL.
Redirect => Redirige sur une page souhaitée.
Default pass => Bloquer toutes les urls, sites contenus dans les
Ecrire les acl correspondants aux règles de filtrages. L’écriture « ! adult » signifie « interdit »
adult donc on peut le lire autorise tout sauf les « ! ». Génération de la base de données :
squidGuard –C all –d (c’est ici que l’on crée les bases de données, « -d » pour voir ce qui est
en cour de compilation) Cette étape peu prendre du temps, variable selon les blacklists à
importer

ETAPE 13 : Configuration des logs


La dernière partie du fichier de configuration de Squid concerne la gestion des logs. Dans cet
exemple, les logs se situent sous /squid/logs (sur une partition distincte pour éviter de blinder
le cache ou la partition root) Cette partie de configuration doit être placée après la définition
des ACL.
#
# Logging Options
#
access_log /squid/logs/access.log
cache_log /squid/logs/cache.log
cache_store_log /squid/logs/store.log
cache_swap_log /squid/logs/cache_swap.log
icap_log /squid/logs/icap.log
debug_options 1
logfile_rotate 30

Tableau 43 : configuration des logs

access_log : indique le chemin vers le fichier de access.log qui contient tous les accès au
cache. Par défaut c'est le fichier /var/log/squid/access.log
cache_log: idem que pour access_log avec le fichier /var/log/squid/cache.log qui contient
toutes les informations des activités de SQUID.
cache_store_log: idem que pour access_log avec le fichier /var/log/squid/store.log qui
contient toutes les entrées et sorties des objets dans le cache Pour ces trois options
précédentes, si on ne souhaite pas avoir de log, on met le paramètre none à la place du nom de
fichier.
debug_options : c'est le niveau de debug.

ETAPE 14 : Sécurisation du proxy


Il s’agit ici de crypter les échanges entre le proxy et le client en utilisant le protocole HTTPS.
Pour pouvoir utiliser SSL avec squid, il faut y intégrer le support SSL/TLS (TLS : Transport
Layer Security). Il faut aussi au préalable avoir installé OpenSSL. Pour pouvoir utiliser SSL,
il faut créer les certificats, reconfigurer le serveur, et le relancer en lui indiquant d'utiliser
SSL. Pour créer les certificats, on crée d'abord un répertoire accessible par squid puis on les
crée avec les commandes suivantes : 
#création du certificat SSL
cd /etc/squid
mkdir ssl_cert
chmod 700 ssl_cert
cd ssl_cert
openssl req -new -newkey rsa:2048 -sha256 -days 14600 -nodes -x509 -keyout
myCA.pem -out myCA.pem
openssl x509 -in myCA.pem -outform DER -out myCA.der
/usr/lib/squid/ssl_crtd -c -s
/usr/lib/squid/ssl_db
Chown -R proxy /usr/lib/squid/ssl_db
Ensuite modifier le fichier squid.conf comme suit :
http_port 3129
http_port 3128 intercept
https_port 3127 intercept ssl-bump
generate-host-certificates=on
dynamic_cert_mem_cache_size=4MB
cert=/etc/squid/ssl_cert/myCA.pem
always_direct allow all
ssl_bump server-first all
sslcrtd_program
/usr/lib/squid/ssl_crtd-s
/usr/lib/squid/ssl_db -M 4MB
Sslcrtd_children 5

CONCLUSION
Il était question dans ce chapitre de ressortir l’architecture de notre solution, l’adressage
effectué sur les différents équipements et les outils et les différentes configurations effectuer
avant le déploiement de la solution.
CHAPITRE 4 : TEST ET COMMENTAIRE
INTRODUCTION
Après avoir fait les configurations pendant lesquelles nous avons rencontrés quelques
difficultés, nous avons fini par avoir des résultats positifs au bout de multiples recherches. Ici
nous allons vous montrer le résultat final attendu qui était de pouvoir contrôler et filtrer les
accès, améliorer la bande passante du point de vue vitesse, authentifier les utilisateurs du
proxy avant qu’il se connecte sur internet et sécuriser les échanges qui transite entre le réseau
interne et externe (internet) afin d’avoir une meilleure gestion, un bon suivi des connexions et
surtout améliorer la sécurité au sein du domaine du MINDCAF.
5.1. TEST
Test No 1: Test du port d’écoute
Afin de s’assurer que SQUID écoute bien sur le réseau on va tester son port d’écoute soit le
port 3128 définit plus haut, avec la commande netstat -ntlp | grep -i 3128

Tableau 44: test du port d'écoute

Avec la sortie « LISTEN » squid écoute bien sur le port 3128

Test No 2 : Test de squid sur les postes clients


On configure le poste client avec l’adresse du proxy et on essaye de se connecter à internet
pour voir si le proxy laisse bien passer la connexion.
Dans le poste client :
 Panneau de configuration
 Réseau et internet
 Options Internet
 Paramètre réseau
Tableau 45 : configuration du client

Tableau 46 : test de connexion

L’accès à internet est OK ! La configuration du fichier squid.conf est jusque-là fonctionnelle.

Test No 3 : test du cache de squid


Le service cache de squid permet aux l’utilisateurs du proxy de ne plus télécharger le même
objet une seconde fois. Si Paul a téléchargé un objet (image, document…) il sera conservé
dans le cache de squid et si Kebila revient télécharger le mm document il ne le téléchargera
plus il sera simplement redirigé vers l’objet déjà existant dans le cache de squid. Ce qui
améliore la bande passante du point de vue vitesse.
Pour en avoir la preuve, on décide de télécharger deux fois de suite un même fichier sur le
même site et aussi on supprime complètement ce fichier de notre disque dur avant de le
retélécharger.
Tableau 47 : test du cache de squid

On remarque que le téléchargement du fichier de 18,5 Mo a duré pour la première fois


3min43s et que la vitesse de téléchargement a été en moyenne de 85,2 Ko/s. Pour le second
téléchargement, ce temps a beaucoup baissé et est de 1min2s avec une augmentation de la
vitesse moyenne de téléchargement qui est pour cette fois ci de 306 Ko/s. On en déduit alors
que notre proxy fonctionne bien et joue son rôle de cache car pour le second téléchargement
le temps a fortement diminué et la vitesse moyenne qui est de 306 Ko/s nous montre que le
téléchargement s'est effectué depuis notre serveur proxy qui a mis en cache ce fichier lors du
1er téléchargement

Test No 4: Test de l’authentification via LDAP


L’authentification LDAP affiche un Pop-up de connexion et demande les informations à
l’utilisateur si c’est ok l’utilisateur peut surfer sinon le navigateur lui redemande les
informations de connexion.
Tableau 48 authentification via LDAP

Test No 5 : test de l’authentification via Kerberos


Le Protocol d’authentification n’affiche aucun pop-up d’authentification il agit en mode
transparent c’est-à-dire que les informations de connexion de l’utilisateur son collecté en
arrière-plan si l’utilisateur est autorisé à se connecter il pourra surfer sinon la connexion lui
est simplement refusée. Pour que l’authentification Kerberos fonctionne
Test No 6 : test des restrictions
Ici on va essayer de restreindre l’accès au site « Facebook » pour se faire nous irons dans le
fichier de configuration de squidguard et nous créerons les acl pour cette règle d’interdiction.
Si l’utilisateur essaye de se connecte à ce site l’accès lui sera simplement refusé.

On ajoute le domaine à interdire et on crée une acl pour activer la restriction

Tableau 49 : blocage de site par squid

Le test de restriction est bien fonctionel l’accés a la page a été refusé.


Test No 8 :Visionage des logs
Les logs de squid permettent de voir les activités qui se déroule à travers le serveur
notamment les sites visités, les utilisateurs ayant visité ces sites et le protocole utilisé (http ou
https). Les logs affichent le nom du compte « Paul » ayant accédé au site
« detecportal.firefox.com » et son IP. Pour visionner les logs il suffit d’entrer la commande
tail -f /var/log/squid

Tableau 50 : visionnage des logs

Test No 9 :Test de sécurité


En utilisant les protocoles d’authentification comme kerberos les mots de passe utilisateur qui
transitent dans le réseau son masqué ou crypté empêchant ainsi à un utilisateur malveillant d’avoir
accès à ces informations. Pour le test 9 nous allons voir comment cela cette passe. En 2 point, sans et
avec l’utilisation d’un protocole d’authentification ici Kerberos.

a. Sans Protocol d’authentification


Les mots de passe dans ce cas transitent en clair dans le réseau et l’utilisation d’un outils
comme Wireshark va nous permettre de le montrer.
- On se connecte avec l’utilisateur Paul sur notre poste client Windows
Tableau 51: connexion au poste client Windows

- Une fois connecté la machine de Paul communique avec le proxy et son


information transite dans le réseau. Mais ses informations ne sont pas cachées à
l’exemple de son mot de passe et son nom d’utilisateur. On le voit à la figure 50 ci-
dessous dans le wireshark.
1

Tableau 52 : détail wireshark (affichage du mot de passe)

1. Ensemble des paquets qui transite dans le réseau (adresse IP source /adresse IP de
destination, Protocol.
2. Détail sur un paquet sélectionner en « 1 »
3. Détail du paquet en hexadécimal
En « 2 » au niveau du volet « proxy-autorization » sur le titre credential on peut voir le nom
de compte de Paul et son mot de passe.

b. Avec Protocol d’authentification (kerberos)


Ici nous reprenons les mêmes étapes que précédemment sauf que sur wireshark les chose sont
différentes. Le mot de passe et le login de Paul ne s’affiche plus.
Tableau 53 : capture wireshark (mot de passe et login cachés)

Le mot de passe et le login de Paul ne s’affiche plus lorsqu’il se connecte pour surfer sur internet a
partir du proxy.
COMMENTAIRE
Pour être sur du bon fonctionnement de squid la 1 ère des choses à faire est de contrôler si son
port est actif. Les postes client devrons être configuré pour utiliser squid simplement en
entrant l’adresse IP du serveur proxy il est à noter que selon la méthode d’authentification le
poste client doit être configurer en conséquent, pour une authentification kerberos il faudra
non pas entrés l’adresse IP mais la FQDN du serveur pour que l’authentification soit
fonctionnelle. L’authentification LDAP et Kerberos sont deux protocoles d’authentification
différent au niveau sécurité Kerberos lui il crypte les informations que l’utilisateur entre pour
se connecter chose que LDAP fait pas mais on peut toujours installer un certificat ssl pour que
LDAP prenne en compte le cryptage. Concernant la restriction, il Ya deux possibilité soit on
utilise directement le fichier de configuration de squid soit on utilise le plugin squidguard,
squidguard est plus fourni car il possède une base de données de restriction de site. Il sera très
intéressant de visionner les logs de squid pour contrôler les traces de navigation cella facilité
l’audit dans une structure.
CONCLUSION
L’implémentation d’une solution ne suffit pas, il faut s’assurer que son déploiement soit
effectué dans de bonne conditions, que les utilisateurs puissent accéder aux services proposés
sans accros. C’est donc les objectifs que nous avons voulus atteindre dans ce chapitre.
CONCLUSION GENERALE
Nous avons essayé dans ce document de mettre en place un proxy SQUID sécurisé avec une
authentification des utilisateurs via l'annuaire Kerberos et LDAP. De nos jours l'Internet, qui
est un réseau mondial public avec plusieurs menaces, est très utilisé et tout le monde y a
accès. Se trouvant dans un réseau privé et sécurisé, nous devons ainsi mettre en place une
passerelle sécurisée entre notre réseau et Internet. Notre choix de passerelle c'est ainsi porté
sur le proxy SQUID. Nous avons vu dans ce document que son rôle primordial est le cache
c'est-à-dire garder les pages HTTP en local et les restituer aux clients. Il joue aussi le rôle de
filtre et de sécurité.

Nous avons vu que SQUID peut bloquer l'accès à l'Internet à certains utilisateurs selon des
critères bien définis ou même bloquer l'accès à certains sites que l'on juge dangereux ou
inutiles. Nous avons aussi vu que SQUID pouvait être couplé à certain protocole
d’authentification ici Kerberos et LDAP de telle sorte que seuls nos utilisateurs de notre
réseau disposant d'un compte dans l'annuaire avec login et mot de passe peuvent avoir
l'Internet.

Néanmoins, nous tenons à rappeler qu'un proxy n'est pas une solution absolue et complète de
sécurité. Comme on l'a déjà dit, il joue primordialement une fonction de cache et de filtre.
Donc il n'assure pas entièrement la sécurité de notre réseau. Il faut en plus trouver d'autres
moyens de sécurité en mettant par exemple en place un firewall correctement configuré qui
remplit entièrement un rôle de sécurité. Notons aussi qu'en matière de sécurité informatique, il
n'y a ni recette miracle, ni solution définitive.
ANNEXES
BIBLIOGRAPHIE
Joseph Gabay, David Gabay, Généralité sur le proxy
A. Guermouche, Sécurité des réseaux : Authentification avec Kerberos, Editions
Eyrolle,2010.
M.DASSY, Cours Administration Système, IAI-Cameroun 2019 (Non publié) ;
M MBANG, cours Administration système, IAI-Cameroun 2019 (Non publié) ;
Alexandre Durain, SQUID et le protocole LDAP
Joseph Gabay, David Gabay mise en œuvre guidé avec étude de cas MISE EN PLACE
D’UN SERVEUR PROXY
WEBOGRAPHIE
▪ http://www.esp.sn
▪ http://www.esmt.sn
▪ http://www.squidguard.org
▪ http://linux.crdp.ac-caen.fr/Docs/Squid/t1.html
▪ http://christian.caleca.free.fr/squid/squid.htm
▪ http://igm.univ-mlv.fr/dr/XPOSE2003/Squid/ch01s02.html
▪ http://okki6.free.fr
GLOSSAIRE
ACL : Access Control List
DC: Domain Controller
DNS: Domain Name System
FTP: File Transfer Protocol
HTTP: Hypertext Transfer Protocol
HTTPS: Hypertext Transfer Protocol Secure
KDC : key distribution center
LDAP : Lightweight Directory Access Protocol
SGBD : Système de Gestion de Base de Données
SSL: Secure socket Layer
TCP/IP: Transfer Control Protocol / Internet Protocol
NTP : Protocol de temp réseau. (Network Time Protocol)
TABLE DES MATIERES