dst_2010_mise en place d'un proxy squid sécurisé avec authentification ldap. esmt...
TRANSCRIPT
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
1/45
Prsent par : Encadr par :
Anne universitaire : 20092010
Thme:
MISE EN PLACE D'UN PROXY SQUID SECURISE
AVEC AUTHENTIFICATION LDAP
MEMOIRE DE FIN DE CYCLE
Pour lobtention du :
DIPLOME DE TECHNICIEN SUPERIEUR EN TELEINFORMATIQUE
(DTST)
Lieu de stage : Ecole Suprieure Polytechnique de Dakar
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT GENIE INFORMATIQUE
M. Abdoulaye SallDjiby Thiaw
ECOLE SUPERIEURE MULTINATIONALE
DES TELECOMMUNICATIONS
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
2/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw1
Table des matires ..................................................................................................................... 1
Table des figures ........................................................................................................................ 3
Avant-propos .............................................................................................................................. 4
Introduction ............................................................................................................................... 5
CHAPITRE I : PRESENTATION GENERALE ..................................................................... 6I.1. PRESENTATION DE LESP........................................................................................... 6I.1.1. HISTORIQUE ............................................................................................................. 6I.1.2. ORGANISATION ......................................................................................................... 6I.1.3. OBJ ECTIFS ET MISSIONS........................................................................................... 8I.2. PRESENTATION DE LESMT....................................................................................... 9
I.2.1. Historique............................................................................................................ 9I.2.2. Formations........................................................................................................... 9I.2.3. Organigramme................................................................................................... 10
CHAPITRE I I : PRESENTATION DES OUTILS NECESSAIRES ................................... 11II.1.
LE PROXY SQUID..................................................................................................... 11
I I .1.1. Dfinition ........................................................................................................... 11I I .1.2. Fonctionnement et Rles................................................................................... 11
I I.1.2.1. Fonctionnement ......................................................................................... 11I I.1.2.2. Rle............................................................................................................. 12
II.2. LANNUAIRE LDAP .................................................................................................. 13I I .2.1. Dfinition ........................................................................................................... 13I I .2.2. Fonctions........................................................................................................... 13I I .2.3. Structure............................................................................................................ 14
CHAPITRE II I : MISE EN UVRE.................................................................................... 16III.1. MISE EN PLACE DU PROXY SQUID......................................................................... 16
III.1.1. Configuration matrielle et logicielle ........................................................... 16III.1.2. Installation..................................................................................................... 17
I I I .1.2.1. Installation manuelle................................................................................ 17I I I .1.2.2.
Installation automatique........................................................................... 18
III.1.3. Configuration................................................................................................. 18
Table des matires
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
3/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw2
I I I .1.3.1. Configuration de la section rseau........................................................... 19I I I .1.3.2. Configuration de la taille du cache.......................................................... 19I I I .1.3.3. Chemin daccs aux fichiers de SQUID .................................................. 20I I I .1.3.4. Comportement avec les applications externes.......................................... 21I I I .1.3.5. Les temps dattente.................................................................................... 22
III.1.4. Contrle des accs.......................................................................................... 22III.1.5. Configuration manuelle des clients et test de fonctionnalit....................... 24III.1.6. Forcer le passage par SQUID : proxy transparent..................................... 27
III.2. AUTHENTIFI CATION AVEC LDAP ........................................................................... 28III.2.1. Installation de LDAP ..................................................................................... 29III.2.2. Configuration de LDAP ................................................................................ 29III.2.3. Ajout dentres dans lannuaire LDAP........................................................ 30III.2.4. Configuration de SQUID pour lauthentification ........................................ 32
III.3. SQUID AVEC SQUIDGUARD ................................................................................... 33III.3.1. Dfinition ....................................................................................................... 33III.3.2. Installation et Configuration......................................................................... 34
III.4. SECURISATION DU PROXY ....................................................................................... 38III.4.1. Association avec SSL ..................................................................................... 38
I I I .4.1.1. SSL avec OpenLDAP ................................................................................ 38I I I.4.1.2. SSL avec SQUID....................................................................................... 39
III.4.2. Association avec un antivirus........................................................................ 40Conclusion ............................................................................................................................... 42
Glossaire .................................................................................................................................. 43
Bibliographie / Wbographie ............................................................................................ 44
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
4/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw3
Figures :
Figure 1: Organigramme de lESMT ....................................................................................... 10Figure 2: Principe de fonctionnement ...................................................................................... 12Figure 3: Exemple de DIT ........................................................................................................ 15Figure 4: Configuration manuelle dInternet Explorer............................................................ 25Figure 5: Accs Internet interdit au client ............................................................................. 25Figure 6: Premier tlchargement du fichier ............................................................................ 26Figure 7: Deuxime tlchargement du fichier ........................................................................ 27Figure 8: Installation annuaire LDAP ...................................................................................... 29Figure 9: Fichier ldif des entres .............................................................................................. 31Figure 10: Ajout des entres dans lannuaire ........................................................................... 31Figure 11: Authentification requise par le proxy ..................................................................... 33Figure 12: Configuration minimum de SquidGuard ................................................................ 34Figure 13: Blocage Internet des clients par SquidGuard .......................................................... 35Figure14: Les listes de destination de SquidGuard .................................................................. 36Figure 15: Exemple de configuration de SquidGuard .............................................................. 37Figure 16: Installation de Clamav ............................................................................................ 40
Table des figures
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
5/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw4
Lcole suprieure polytechnique (E.S.P) forme en deux annes dtudes des
techniciens suprieurs, et en cinq ans des ingnieurs dans plusieurs spcialits.
Dans le cadre de leur formation les tudiants de fin de chaque cycle sont tenus
deffectuer un stage pratique au sein dune entreprise ou dun service informatique.
Ce stage est effectu dans le but :
De fournir aux tudiants la possibilit de mettre en uvre les connaissances thoriquesacquises tout au long de leur formation.
Dinitier les futurs techniciens suprieurs aux ralits du milieu professionnel et deleur permettre de se faire la main sur des projets denvergures.
Au terme de ce stage un mmoire doit tre rdig sur un problme qui a t tudi
durant ce stage.
Avant-propos
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
6/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw5
Linformatique est aujourd'hui devenue trs ouverte au monde extrieur du fait de la
dmocratisation de l'ordinateur personnel et l'avnement de l'Internet. Ce dernier est un outil
incontournable et il runit plein dutilisateurs de part le monde. On compte environ 1,73
milliards dutilisateurs (septembre 2009) et daprsNetcraft, socit anglaise spcialise dans
la scurit internet, il y aurait en janvier 2010 plus de 207 millions de sites web dans le
monde. L'internet est alors de plus en plus accessible, mais il recle de nombreux dangers,
souvent ignors par beaucoup dutilisateurs do se pose un problme de scurit.
Les rseaux locaux sont frquemment relis Internet via des passerelles ou routeurs,ils utilisent le plus souvent le protocole TCP/IP. Dans notre tude, nous allons utiliser un
proxy pour relier notre rseau local lInternet. Tous nos utilisateurs vont alors passer par
notre proxy pour lobtention de pages Web. Notre choix de proxy sest port sur SQUID qui ,
en plus dtre libre, est trs souple, lger et facile mettre en place. Le rle initial du serveur
proxy ou serveur mandataire est de relayer des requtes HTTP entre un poste client et un
serveur. En plus de ce rle, il peut jouer une fonction de scurit en constituant une barrire
entre Internet et notre rseau local. Notre serveur proxy SQUID va aussi tre coupl un
annuaire LDAP pour lauthentification des utilisateurs de notre rseau. Nous allons y intgrer
un antivirus et aussi scuriser lauthentification des utilisateurs avec SSL pour plus de
scurit.
Pour mener bien ce travail, nous allons dans un premier temps faire une prsentation
des deux grandes coles lESP et lESMT, ensuite nous prsenterons les diffrentes
technologies et outils ncessaires pour ce travail et nous terminerons par la mise en place dun
proxy SQUID scuris avec une authentification via LDAP.
INTRODUCTION
http://news.netcraft.com/http://news.netcraft.com/http://news.netcraft.com/ -
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
7/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw6
Chapitre I : Prsentation gnraleI .1. Prsentation de lESP
I.1.1.HistoriqueLEcole Suprieure Polytechnique de Dakar (ESP) est un tablissement public caractre
administratif dot de la personnalit juridique et de lautonomie financire. Lcole
Suprieure Polytechnique fait partie intgrante de luniversit Cheikh Anta DIOP de Dakar.
Elle a t cre par la loi n 94-78 du 24 novembre 1994. A lorigine, lESP regroupait en son
sein :
La division industrielle de lEcole Nationale Suprieure Universitaire de Technologie(ENSUT)
LEcole Polytechnique de This (EPT) La section technique industrielle de lEcole Normale Suprieure dEnseignement
Technique et Professionnel (ENSETP)
A la suite de diverses rformes intervenues, notamment la revitalisation de lENSETP, la
cration de lUniversit de This et le rattachement de lInstitut Suprieure de Gestion
lESP, lEcole Suprieure Polytechnique est seulement compose prsentement de la division
tertiaire de lex ENSUT.
I.1.2.OrganisationEtablissement public vocation rgionale, sous la tutelle du Ministre de lEducation,
LEcole Suprieure Polytechnique est rattache lUniversit Cheikh Anta DIOP de Dakar.
Elle assure des formations dans six dpartements qui la composent. Ces formations se font en
cours du soir comme en cours du jour, aussi bien en formation initiale quen formationcontinue pour le compte des entreprises, socits et particuliers. Ces six dpartements sont :
CHAPITRE I
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
8/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw7
Le dpartement Gnie Informatique : Ce dpartement forme des Technicienssuprieurs, Assistants ingnieurs, des Ingnieurs en Informatique, Tl-
Informatique et en Tlcommunication. Les tudiants y mnent des activits de
recherche dans les domaines mentionns ci-dessous visant au perfectionnement
permanent, l'adaptation et la participation l'volution scientifique et
technologique. On y procde des expertises dans le cadre de la formation
l'intention des entreprises publiques et prives. Le dpartement gnie informatique
offre les formations suivantes :
DUT (Diplme Universitaire de Technologie)
Informatique
Tlcoms et rseaux
DIC (Diplme d'Ingnieur de Conception)
Informatique
DST (Diplme Suprieur de Technologie)
Informatique Tlinformatique en partenariat avec lcole Suprieure Multinationale
de Tlcommunication (ESMT)
DIT (Diplme d'Ingnieur Technologue)
Informatique
MP (Master Professionnel) Tlinformatique (en partenariat avec lESMT)
Formation la carte
Logiciels libres Gnie logiciel
Le dpartement gnie Mcanique
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
9/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw8
Le dpartement Gnie Civil Le dpartement Gnie Electrique Le dpartement Gnie Chimique et Biologie Applique
Le dpartement Gestion
I.1.3.Objectifs et missionsLESP a pour objectif et missions de :
Former tant sur le plan thorique que pratique des : Techniciens Suprieurs Ingnieurs Technologues Ingnieurs de Conception Managers en Gestion dEntreprises Docteurs
Dispenser un enseignement suprieur en vue de prparer aux fonctionsd'encadrement dans :
la Production la Recherche Applique les Services
Organiser des enseignements et des activits de recherche visant : au perfectionnement permanent l'adaptation et la participation l'volution scientifique et technologique lvolution conomique et managriale
Procder des expertises l'intention des entreprises publiques et prives Pour plus de dtails, on peut se rfrer au site officiel de lESP (wbographie n1).
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
10/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw9
I .2. Prsentation de lESMTI.2.1.HistoriqueL'Ecole Suprieure Multinationale des Tlcommunications (ESMT) de Dakar a t
cre en 1981 l'initiative de 7 pays d'Afrique de l'Ouest qui sont le Bnin, le Burkina Faso,
le Mali, la Mauritanie, le Niger, le Sngal et le Togo avec le concours de la coopration
internationale. Cette gense s'est faite dans le cadre d'un projet de programmes des nations
unies pour le dveloppement (PNUD). Depuis 1986, l'cole dispose d'un statut diplomatique.
En 1998, la Guine Conakry s'ajoutait comme pays fondateur.
I.2.2.FormationsLESMT dispose des cours en formation initiale ou continue. En formation initiale,
nous avons plusieurs domaines dtudes qui sont :
Le Cycle Prparatoire Intgr (CPI) Le Diplme de Technicien Suprieur (DTS) : avec quatre spcialisations qui sont :
Technique Tlcom, Technico-commercial, Rseau et Donnes, Tlinformatique ( en
partenariat avec LESP)
La Licence Professionnelle (LP) : avec deux spcialisations qui sont la LicenceProfessionnelle en TIC et la Licence Gnrale en Science de lIngnieur
Le Diplme dIngnieur : avec trois spcialisations : Ingnieur des TravauxTlcoms (IGTT), Ingnieur de Conception (INGC), Ingnieur en Tlinformatique
(en partenariat avec lESP)
Le Mastre Spcialis : en Gestion des Tlcoms, Rseaux Tlcoms etTlinformatique (en partenariat avec lESP)
Le Mastre Professionnel : en Politique et Rgulation des TIC et Rseaux et ServicesTIC
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
11/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw10
L'ESMT dveloppe aussi des sessions de formation continue. Sous forme de sminaires et
d'ateliers, elles participent au perfectionnement des techniciens, ingnieurs et cadres des
entreprises et institutions africaines.
I.2.3.OrganigrammeLe schma ci-dessous, tir du site officiel de LESMT (wbographie n2), illustre
lorganisation et la structure de LESMT.
Figure 1: Organigramme de lESMT
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
12/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw11
CHAPITRE II : Prsentation des outils ncessaires
II.1.Le proxy SQUIDI I .1.1. DfinitionUn serveur proxy aussi appel serveur mandataire est l'origine une machine faisant
fonction d'intermdiaire entre les ordinateurs d'un rseau local et internet. La plupart du temps
le serveur proxy est utilis pour le web, il s'agit alors d'un proxy HTTP. Il nous permettra
ainsi de grer laccs internet aux utilisateurs de notre rseau local en fonction des heures
daccs, des ports de destination dun service, dIP sources, etc. Il permet aussi de mettre en
cache les sites les plus visits afin dacclrer le trafic. Comme serveur proxy, nous allons
utiliser le serveur SQUID qui est un logiciel libre distribu selon les termes de la licence GNU
GPL. Son rle initial est de relayer des requtes HTTP entre un poste client de notre rseaulocal et un serveur web se trouvant sur Internet. Il peut aussi assurer dautres fonctions
essentielles.
I I .1.2. Fonctionnement et RlesI I .1.2.1. Fonctionnement
Le principe de fonctionnement basique d'un serveur proxy est assez simple : il s'agit
d'un serveur "mandat" par une application pour effectuer une requte sur Internet sa place.
Ainsi, lorsqu'un utilisateur se connecte internet l'aide d'une application cliente configure
pour utiliser un serveur proxy, celle-ci va se connecter en premier lieu au serveur proxy et lui
donner sa requte. Le serveur proxy va alors se connecter au serveur que l'application cliente
cherche joindre et lui transmettre la requte. Le serveur va ensuite donner sa rponse au
proxy, qui va son tour la transmettre l'application cliente. Les objets consults par les
clients sur internet, sont stocks en cache disque par le serveur. partir du deuxime accs, la
CHAPITRE II
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
13/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw12
lecture se fera en cache, au lieu d'tre ralise sur le serveur d'origine. De ce fait il permet
d'acclrer nos connexions l'internet en plaant en cache les documents les plus consults.
Figure 2:Principe de fonctionnement
I I .1.2.2. RleLe serveur proxy SQUID peut assurer plusieurs rles parmi lesquels :
Le rle de cache : En jargon informatique, une mmoire cache sert conserverlocalement des informations qui ont une certaine probabilit de servir nouveau
court terme. Un serveur proxy stocke provisoirement les pages web que les utilisateurs
vont chercher sur Internet. Si un internaute requiert une information qui se trouve dj
dans le cache, il sera servi plus rapidement.
Le rle denregistrement : Comme tout serveur qui se respecte, un proxy gnre unfichier journal (log file). On y trouve la trace de toutes les requtes effectues par tous
les postes clients dpendant du serveur en question.
Le rle de filtre : On peut configurer un serveur proxy de telle sorte qu'il examine lecontenu des paquets qu'il reoit pour le compte des clients, et qu'il refuse de
transmettre ceux qui ne rpondent pas certains critres.
Le rle de scurit : En y ajoutant certains logiciels de scurit, le serveur proxyassure ainsi des fonctions de scurit pour le rseau local.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
14/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw13
Lauthentification : SQUID permet d'authentifier les clients avant qu'ils accdent laressource qu'ils demandent. Nous utiliserons un serveur LDAP pour authentifier nos
utilisateurs.
II.2.Lannuaire LDAPI I .2.1. DfinitionUn annuaire est un recueil de donnes dont le but est de pouvoir retrouver facilement
des ressources (gnralement des personnes ou des organisations) l'aide d'un nombre limit
de critres. Cette srie d'articles s'intresse tout particulirement un type spcifiqued'annuaires: les annuaires lectroniques. L'implmentation dun annuaire lectronique peut
tre totalement diffrente d'un serveur un autre, c'est pourquoi il a t ncessaire de dfinir
une interface normalise permettant d'accder de faon standard aux diffrents services de
l'annuaire. C'est le rle du protocole LDAP (Lightweight Directory Access Protocol), dont le
rle est uniquement de fournir un moyen unique (standard ouvert) d'effectuer des requtes sur
un annuaire (compatible LDAP). LDAP est un protocole bas sur TCP/IP qui permet de
partager des bases de donnes sur un rseau interne ou externe. Elles peuvent contenir touttype dinformations, des informations sur les personnes, sur des ressources. Dans notre cas,
nous utilisons lannuaire Open Source appel OpenLDAP qui est dvelopp sous licence
GNU GPL. Il nous est possible de faire des recherches dans la base en employant plusieurs
critres et aussi de faire des modifications et suppressions. Mais contrairement un SGBD, un
annuaire est prvu pour tre plus sollicit en lecture qu'en criture. Cela signifie qu'un
annuaire est conu pour tre plus souvent consult que mis jour. En effet, comme un
annuaire est beaucoup plus lu que modifier, il a t optimis en lecture et ne possde pas lesmcanismes de transaction complexe que les SGBD possdent pour traiter de gros volumes de
donnes.
I I .2.2. FonctionsComme l'annuaire tlphonique, la premire fonction de l'annuaire LDAP est de
retrouver facilement les coordonnes d'une personne : son adresse lectronique, son adresseprofessionnelle, son tlphone professionnel en fonction de diffrents critres de recherche.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
15/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw14
De nombreuses applications ncessitant une authentification sont aujourdhui capables
dinterroger un annuaire LDAP pour vrifier lidentit dun utilisateur grce un couple login
et mot de passe. Cest cette fonction qui va le plus nous intresser dans notre tude. Grce
cet annuaire, notre proxy SQUID va pouvoir authentifier ses utilisateurs.
I I .2.3. StructureLes donnes LDAP sont structures dans une arborescence hirarchique qu'on peut
comparer au systme de fichier Unix. Chaque nud de l'arbre correspond une entre de
l'annuaire ou Directory Service Entry (DSE) et au sommet de cette arbre, appel Directory
Information Tree (DIT), se trouve la racine ou suffixe. Ce modle est en fait repris de X500,mais contrairement ce dernier, conu pour rendre un service d'annuaire mondial (ce que le
DNS fait par exemple pour les noms de machines de l'Internet), l'espace de nommage d'un
annuaire LDAP n'est pas inscrit dans un contexte global.
Les entres correspondent des objets abstraits ou issus du monde rel, comme une
personne, une imprimante, ou des paramtres de configuration. Elles contiennent un certain
nombre de champs appels attributs dans lesquelles sont stockes des valeurs. Chaque serveur
possde une entre spciale, appele root Directory Specific Entry (rootDSE) qui contient ladescription de l'arbre et de son contenu.
Un objet est constitu d'un ensemble de paires cls/valeurs appeles attributs
permettant de dfinir de faon unique les caractristiques de l'objet stocker. Par analogie
avec la terminologie objet on parle ainsi de classe d'objet pour dsigner la structure d'un objet,
c'est--dire l'ensemble des attributs qu'il doit comporter. De cette faon un objet est un
ensemble d'attributs avec des valeurs particulires.
LDAP utilise le format LDAP Data Interchange Format (LDIF) qui permet de
reprsenter les donnes LDAP sous format texte standardis, il est utilis pour afficher ou
modifier les donnes de la base.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
16/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw15
Dc : domain componentOu : organizational unitsCn : common nameUid : user identifier
Figure 3:Exemple de DIT
dc=esp, dc=sn
ou=profs ou=etudiants
cn=salluid=100
cn=ouyauid=101
cn=djibyuid=200
cn=fatouuid=201
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
17/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw16
Chapitre III : Mise en uvre
III.1.Mise en place du proxy SQUIDIII.1.1. Configuration matrielle et logicielleAvant dinstaller et dutiliserSQUID, il est recommand de bien choisir son matriel
et le systme dexploitation du serveur. Durant son lancement, SQUID a besoin de faire
beaucoup dactions, notamment en rapport avec les caches, qui seront consommateurs de
CPU. Ainsi, le matriel minimum recommand est un Pentium III 550MHz, la RAM est un
composant vital pour SQUID car il rside en mmoire RAM et y stocke ses composants et les
objets les plus demands par les clients. Lorsque le cache est activ, il faut compter 10Mb de
RAM par GIGA de donnes en cache. On doit alors prvoir de l'espace disque suffisante pour
le stockage des donnes manipules par SQUID notamment le cache disque, les logs etc..
Il faut ainsi noter que le choix de la configuration matrielle du serveur est important.
Le choix dune bonne carte rseau est ncessaire parce quune carte rseau sous dimensionne
par rapport au rseau sur lequel est branch le Proxy provoquerait trs rapidement un
engorgement important et ralentira les demandes des clients. Il est donc conseill dutiliser au
minimum une carte rseau 100Mbps. Il faut aussi bien vrifier auparavant que la machine
redmarre bien toute seule s'il y a coupure d'lectricit en vrifiant dans le BIOS si il y a une
option pour mettre en route la machine au rtablissement du courant, si ce n'est pas le cas
l'utilisation d'une telle machine est proscrire.
Concernant les systmes dexploitation, SQUID est disponible sur beaucoup
darchitectures et systmes, en particulier les diffrentes distributions Linux. Il est prfrable
d'utiliser une version de Linux rcente et stable. Dans notre tude, nous installerons SQUID
sur la dernire version de Ubuntu actuellement disponible qui est la 10.04. Notre rseau local
est le 192.168.2.0et notre proxy va sappelerfirewall_esp.
CHAPITRE III
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
18/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw17
III.1.2. InstallationI I I .1.2.1.Installation manuelle
Avant de commencer, il faut au pralable tlcharger la dernire version stable de
SQUID. On peut l'acqurir sur le site officiel de SQUID qui esthttp://www.squid-cache.org.
La dernire version actuelle stable est la version 2.7.STABLE7. Une fois le logiciel au format
tar.gz (c'est dire compress sous ce format) tlcharg, on pourra alors l'installer et on
suppose que le fichier dcompress sera plac dans le rpertoire /usr/local/src. On le
dcompresse via la commande :
#tar -zxvf squid-2.7.STABLE7.tar.gz --directory=/usr/local/src
On doit obtenir ce rpertoire : /usr/local/src/squid-2.7.STABLE7.
Il convient maintenant de compiler SQUID. On se place dans le rpertoire de SQUID :
#cd /usr/local/src/squid
On passe ensuite la configuration des options de compilation. Squid sera par dfaut install
dans le rpertoire /usr/local/squid mais on peut utiliser un autre rpertoire via
l'option --prefix. Si on souhaite avoir les messages d'erreurs en franais, on ajoute
loption--enable-err-language=Frenchmais 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 procder linstallation avec la commande :
#make install
Le fichier INSTALL situ dans la racine du rpertoire /usr/local/src/squid-
2.7.STABLE7 reprend en partie ce qui vient d'tre expliqu.
A la fin de l'installation, les rpertoires suivants seront crs :
http://www.squid-cache.org/http://www.squid-cache.org/http://www.squid-cache.org/http://www.squid-cache.org/ -
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
19/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw18
/usr/local/squid : rpertoire de base de SQUID
/usr/local/squid/etc : rpertoire contenant la configuration de SQUID
/usr/local/squid/bin : rpertoire contenant les binaires et les scripts
/usr/local/squid/logs : rpertoire contenant les logs
I I I .1.2.2.Installation automatiqueL'installation automatique de SQUID est relativement facile. Il suffit juste de disposer
dune 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 manire, c'est le systme qui se charge de tlcharger tous les fichiers ncessaires
c'est dire la dernire version stable disponible dans les dpts et ventuellement les
dpendances s'il y en a. L'installation automatique est ainsi recommande car cette dernire se
charge d'acqurir notre place tous les fichiers ncessaires et aussi de les placer l'endroit
qu'il faut. Le fichier de configuration de SQUID se trouvera dans le rpertoire /etc/squid
et portera le nom de squid.conf. Les logs se trouveront dans le rpertoire/var/log/squid et le dmon dans le rpertoire /etc/init.d/ sous le nom de squid.
III.1.3. ConfigurationSQUID se configure via un unique fichier de configuration qui
/etc/squid/squid.conf. Celui-ci est charg au lancement de SQUID qui s'efforcera
alors de reflter ce dernier. Chaque ligne du fichier est de la forme suivante :
optionparamtre [paramtre ...]
Les lignes dbutant par un '#' sont des commentaires. Les options non dfinies auront toujours
une valeur par dfaut. Toutes les options de ce fichier sont disperses dans plusieurs parties
distinctes. Nous dtaillerons les options les plus intressantes de ces parties. Notons que le
fichier de base fourni avec les sources est trs largement comment et contient par dfaut
4963 lignes. Pour plus de renseignement et des paramtres plus pousss, il est donc prfrablede consulter la documentation officielle.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
20/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw19
I I I .1.3.1.Configuration de la section rseauCette section concerne toutes les configurations rseau de SQUID ayant trait aux
adresses IP et ports de communication. Ces configurations rseau concernent les
communications entre SQUID et les serveurs distants, les clients et les caches distants.
http_port : dfinit le port d'coute de Squid pour les requtes HTTP. Par dfaut, le port
sera 3128. Pour plus de scurit, nous changeons ce port par dfaut et nous prenons par
exemple le port 8080.
http_port 8080
icp_port : dfinit le port d'mission et d'coute des requtes ICP. Par dfaut, le port est
3130. Ceci nous permet de communiquer avec des proxy parents ou voisins. La valeur 0
permet de ne pas utiliser ce service
visible_hostname : Nous indiquons ici le nom de notre serveur proxy. Nous
lappelons firewall_esp
error_directory : Nous indiquins via cette option le rpertoire o se trouvent les
messages d'erreurs destins l'utilisateur. Par dfaut, on a :
/usr/share/squid/errors/en et pour avoir ces messages en franais, on met le
rpertoire /usr/share/squid/errors/fr la place. Les messages d'erreurs qui
apparaitront sur le navigateur du client seront ainsi en franais.
I I I .1.3.2.Configuration de la taille du cachecache_mem: correspond au cache mmoire, la valeur dpend de votre systme. Par
dfaut SQUID utilise 8 Mo. Cette taille doit tre la plus grande possible afin d'amliorer les
performances. Nous dcidons d'utiliser 100MB.
cache_mem 100 MB
maximum_object_size: permet de spcifier la taille maximale des objets qui seront
stocks dans le cache. La taille par dfaut est de 20480 KB.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
21/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw20
minimum_object_size: permet de spcifier la taille minimale des objets qui seront
stocks dans le cache. La taille par dfaut est de 0 KB ce qui signifie quil ny a pas de
minimum pour les objets.
ipcache_size: permet de spcifier le nombre d'adresses IP qui seront enregistres. Sa
valeur par dfaut est de 1024
I I I .1.3.3.Chemin daccs aux fichiers de SQUIDCache_dir Type RpertoireSource MOctets Level1 Level2 :
permet de dfinir un cache. il est possible de dfinir plusieurs fois cette option afin de
multiplier le nombre de cache. Dtaillons les options de ce paramtre :
Type : le type de stockage qui sera utilis par Squid pour crire ses donnes. Ceparamtre modifie le comportement de SQUID lors de l'criture sur le disque, ses
accs au disque, sa rpartition de donnes sur l'espace qui lui est consacre, etc.. Une
liste des types supports est dtaille dans le fichier de configuration de SQUID. Le
type utilis par dfaut est ufs
RpertoireSource : le rpertoire source de l'arborescence du cache. Le cachede SQUID se prsente sous forme d'une arborescence dans laquelle les objets sont
rpartis
MOctets : la taille en Mo rserver sur le disque pour ce cache ; Level1 : le nombre de rpertoire de niveau 1 dans l'arborescence du cache. Level2 : le nombre de rpertoire de niveau 2 dans l'arborescence du cache.
Par dfaut, on a un cache de 100 MB se trouvant dans le rpertoire /var/spool/squid.
On peut ajouter si on veut un autre cache avec le rpertoire de son choix avec la taille que l'on
veut.
cache_dir ufs /var/spool/squid2 1000 16 256
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
22/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw21
access_log DirectoryPath/filename : cest le chemin vers le fichier de
access.log qui contient tous les accs au cache. Par dfaut c'est le fichier
/var/log/squid/access.log
cache_log DirectoryPath/filename : idem que pour access_log avec le
fichier/var/log/squid/cache.log qui contient toutes les informations des activits
de SQUID.
cache_store_logDirectoryPath/filename : idem que pour access_log
avec le fichier/var/log/squid/store.log qui contient toutes les entres et sorties
des objets dans le cache
Pour ces trois options prcdentes, si on ne souhaite pas avoir de log, on met le paramtre
none la place du nom de fichier.
debug_options : c'est le niveau de debug. Indiquer 9 pour avoir toutes les traces la
place de 1 utilis par dfaut. Attention cela donne de gros fichiers.
I I I .1.3.4.Comportement avec les applications externesCette section dfinit certains paramtres qui modifieront le comportement de SQUID
envers les applications qui lui sont extrieurs comme les serveurs distant ou ses applications
dlgues.
ftp_user: permet de spcifier quel sera le nom d'utilisateur envoy un serveur FTP par
SQUID lors d'une connexion en anonymous
ftp_list_width: permet de dfinir la longueur maximale des noms de fichier dans une
liste. Une fois cette taille dpasse, le nom sera tronqu et des points de suspensions ajouts
ftp_passive on|off: permet de spcifier le mode de connexion FTP utilis
dns_children: le nombre de processus de demande de DNS rsidant en mmoire. Plus
le serveur sera sollicit, plus ce nombre devra tre grand
dns_timeout : permet de spcifier un timeout partir duquel SQUID considrera le
serveur DNS distant comme tant indisponible
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
23/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw22
dns_nameservers : permet de dfinir une liste d'adresse IP de serveur DNS qui
remplacera celle lue par dfaut dans le fichier de configuration /etc/resolv.conf sous
Linux
authenticate_program: permet de spcifier le chemin vers le programme charg de
l'authentification des utilisateurs. En fonction du type d'authentification, un chemin vers le
fichier de profil peut tre ncessaire en deuxime option
authenticate_children : le nombre de processus d'authentification conserver en
mmoire RAM.
I I I .1.3.5.Les temps dattenteCette section permet de configurer les diffrents timeouts de SQUID
connect_timeout : le temps d'attente d'une rponse du serveur distant avant de
retourner une page d'erreur de type "connection timeout" au client ;
request_timeout : le temps d'attente de Squid entre deux requtes HTTP avant de
fermer la connexion ;
client_lifetime : le temps maximum qu'un client a le droit de rester connecter
SQUID
pconn_timeout : le temps d'attente de SQUID avant de fermer une connexion de type
persistante ;
ident_timeout : le temps maximum d'attente d'une authentification.
III.1.4. Contrle des accsIl sagit des options concernant les restrictions daccs aux ressources. Pour contrler
tout ce qui passe par votre serveur proxy, vous pouvez utiliser ce que l'on appelle les ACL
(Access Control List). Les ACL sont des rgles que le serveur applique. Cela permet par
exemple d'autoriser ou d'interdire certaines transactions. On peut autoriser ou interdire en
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
24/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw23
fonction du domaine, du protocole, de l'adresse IP, du numro de port, d'un mot et aussi
limiterlaccs sur des plages horaires. La syntaxe d'une ACL est la suivante :
acl aclname acltype string[string2]
http_access allow|deny aclname
aclname : peut tre n'importe quel nom attribu par l'utilisateur un lment ACL
acltype peut prendre comme valeur :
src (pour la source) : indication de l'adresse IP du client sous la formeadresse/masque. On peut aussi donner une plage d'adresse sous la forme
adresse_IP_debutadresse_IP_fin dst (pour la destination) : idem que pour src, mais on vise l'adresse IP de
l'ordinateur cible.
srcdomain : Le domaine du client dstdomain : Le domaine de destination time : heure du jour et jour de la semaine url_regex : Une chane contenue dans l'URL urlpath_regex : Une chane compare avec le chemin de l'URL proto : Pour le protocole proxy_auth : Procd externe d'authentification d'un utilisateur maxconn : Nombre maximum de connexions pour une adresse IP cliente
string[string2]: paramtres de lACL
Exemple 1:Interdire l'accs un domaine : supposons que nous souhaitions interdire l'accs
un domaine (par exemple le domaine pas_beau.fr). On a donc
acl domaine_bloqu dstdomain pas_beau.fr
http_access deny domaine_bloqu
Exemple 2: interdire l'accs aux pages contenant le mot jeu.
acl bloqu_jeu url_regex jeu
http_access deny bloqu_jeu
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
25/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw24
Attention url_regex est sensible aux majuscules/minuscules. Pour interdire JEU, il faut aussi
ajouter JEU dans votre ACL. Il n'est pas besoin de rcrire toute l'ACL. On peut ajouter JEU
derrire jeu en laissant un blanc comme sparation (cela correspondant l'oprateur logique
OU).
Exemple 3: Interdire les accs pendant les plages horaires 8h12h et 14h18h en semaine.
S Sunday M Monday T Tuesday W Wednesday H Thursday F Friday A Saturday
acl matin time MTWH08:0012:00
acl soir time MTWH14:0018:00
http_access deny matin reseau_esp
http_access deny soir reseau_esp
III.1.5. Configuration manuelle des clients et test de fonctionnalitNous allons procder une configuration manuelle des clients c'est--dire des
utilisateurs de notre proxy. Pour ce faire, il faut indiquer au navigateur du client de passer par
notre proxy pour pouvoir accder linternet. Nous allons faire la configuration sur les deux
navigateurs les plus utiliss au monde qui sont Mozilla Firefox et Internet Explorer
Mozilla Firefox1. Au niveau du menu navigateur, allez dans Outils => Options2. Cliquez sur longlet Avanc3. Slectionner le sous-onglet Rseau4. Cliquer sur le bouton Paramtres5. Et enfin slectionnerConfiguration manuelle du proxy puis remplir les champs
en donnant ladresse IP du proxy et le port
Internet Explorer1. Au niveau du menu navigateur, allez dans Outils => Options Internet2. Cliquez sur longlet Connexions3. Cliquez surParamtres Rseau4. Et enfin slectionner Utilisez un serveur proxy puis remplir les champs en
donnant ladresse IP du proxy et le port
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
26/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw25
Figure 4: Configuration manuelle dInternetExplorer
De cette manire, nos clients sont configurs pour passer par notre proxy avant de pouvoir
accder internet. Mais par dfaut, SQUID bloque toute les connexions vers internet et
limage ci-dessous nous le dmontre.
Figure 5:Accs Internet interdit au client
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
27/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw26
Pour que nos clients puissent bnficier dune connexion Internet, nous devons diter le
fichiersquid.conf en dclarant notre rseau local et permettre la connexion internet. On
y ajoute ces lignes :
acl reseau_esp src 192.168.2.0/255.255.255.0
http_access allow reseau_esp
reseau_esp est le nom ACL et la ligne suivante est la rgle qui s'applique.
192.168.2.0 dsigne l'adresse rseau dont le masque correspond 255.255.255.0. La
ligne suivante autorise laccs internet lacl du nom de reseau_esp c'est--dire la ligne
prcdente.
On quitte le fichier en enregistrant les modifications apportes puis on redmarre le serveur
via la commande :
#/etc/init.d/squid restart
Notre serveur est alors oprationnel pour notre rseau local et joue bien son rle. Pour en
avoir la preuve, on dcide de tlcharger deux fois de suite un mme fichier sur le mme site
et aussi on supprime compltement ce fichier de notre disque dur avant de le retlcharger.
Figure 6:Premier tlchargement du fichier
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
28/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw27
Figure 7:Deuxime tlchargement du fichier
On remarque que le tlchargement du fichier de 18,5 Mo a dur pour la premire fois
3min43s et que la vitesse de tlchargement a t en moyenne de 85,2 Ko/s. Pour le second
tlchargement, ce temps a beaucoup baiss et est de 1min2s avec une augmentation de la
vitesse moyenne de tlchargement qui est pour cette fois ci de 306 Ko/s.
On en dduit alors que notre proxy fonctionne bien et joue son rle de cache car pour
le second tlchargement le temps a fortement diminu et la vitesse moyenne qui est de 306
Ko/s nous montre que le tlchargement sest effectu depuis notre serveur proxy qui a mis en
cache ce fichier lors du 1ertlchargement.
III.1.6. Forcer le passage par SQUID : proxy transparentUtiliser un proxy ncessite normalement quon configure manuellement les
navigateurs de tous nos utilisateurs de manire ce qu'ils interrogent toujours le proxy, quelle
que soit la cible. Cette tche savre alors difficile si nous avons un trs grand nombre
dutilisateurs et aussi nos utilisateurs ont la main sur ce paramtrage, et pourront
probablement passer outre le proxy, s'ils le dcident, contournant par le fait toutes vos
stratgies. Il existe cependant un moyen d'viter ceci en rendant le proxy transparent, ce qui
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
29/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw28
veut dire que configurs ou non, les requtes http passeront quand mme par le proxy. Pour
arriver ce rsultat, il faut raliser deux oprations :
Rediriger en PREROUTING les ports 80 et 43 vers le port proxy sur son port 8080 etceci se fait sans problmes sur notre routeur NAT avec IPtables
Configurer correctement SQUID pour qu'il interprte convenablement les requtesHTTP qu'il reoit
Voici la rgle ajouter sur notre passerelle, en admettant que notre rseau est dans
192.168.2.0 et que notre proxy possde l'adresse 192.168.2.3. Nous supposons que le proxy
est install sur la machine qui assure galement le rle de passerelle :
#iptables -t nat -A PREROUTING -s 192.168.2.0/255.255.255.0 -p
tcp m multiport --dport 80,43 -j REDIRECT --to-ports 8080
Le client HTTP n'agit pas de la mme manire suivant qu'il a affaire un proxy ou non. Ici, le
client ne sait pas qu'il y a un proxy, il agit donc comme s'il interrogeait directement le serveur
cible, alors que ce n'est pas le cas. Ca ne fonctionnera bien entendu pas, si SQUID n'est pas
inform de cette situation. Mais Squid sait contourner la difficult, de faon trs simple depuis
la version 2.6 au moins, en ajoutant simplement le mot transparent sur la ligne dedfinition du port utilis :
http_port 8080 transparent
III.2.Authentification avec LDAPDans la mise en uvre jusqu'ici, nous ne faisions pas de contrle sur les utilisateurs,
seulement sur les IPs des machines clientes. Nous pouvons identifier nos utilisateurs lorsqu'ils
vont surfer sur le Net. Dans ce cas, il nous faudra mettre en place un systme d'identification.
Il y a plusieurs mthodes disponibles pour authentifier nos utilisateurs du proxy. Elles font
toutes appel un programme extrieur, diffrent suivant le moyen choisi. Nous allons utiliser
lannuaire LDAP pour cette authentification.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
30/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw29
III.2.1. Installation de LDAPComme annuaire LDAP, nous allons utiliser le logiciel OpenLDAP qui est un logiciel
libre bas sous la licence GNU GPL. La dernire version actuelle stable est le 2.4.23. Nous
allons procder une installation automatique afin dobtenir toutes les dpendancesncessaires. Linstallation se fait via la commande :
#apt-get install slapd
Figure 8: Installation annuaire LDAP
On remarque ainsi que le paquet slapd est install avec quatre autres paquets supplmentaires
qui participent au bon fonctionnement de lannuaire.
III.2.2. Configuration de LDAPIl faut tout dabord indiquer dans le fichier/etc/default/slapd la localisation
du fichier de configuration de OpenLdap qui est /etc/ldap/slapd.conf. Pour le faire,
on doit ajouter cette ligne dans ce fichier :
SLAPD_CONF="/etc/ldap/slapd.conf"
Il faut par la suite modifier le fichier /etc/ldap/slapd.conf. Il faut autoriser les
clients qui utilisent le protocole LDAPv2 (par dfaut seuls ceux utilisant LDAPv3 sont
autoriss). En effet, SQUID peut utiliser LDAPv2, donc dans ce cas il faut dcommenter cette
ligne qui devient indispensable :
allow bind_v2
On ajoute aussi ces lignes suivantes :
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
31/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw30
suffix "dc=esp,dc=sn"
rootdn "cn=admin,dc=esp,dc=sn"
directory "/var/lib/ldap"
rootpw secret
Pour la dernire ligne, il faut remplacersecret par un vrai mot de passe qui apparait alors
en clair ce qui est dconseill. On peut crypter ce mot de passe via la commande :
#slappasswd
Puis on copie le rsultat de cette commande la place de secret. On modifie enfin le
fichier/etc/ldap/ldap.conf et on ajoute ces deux lignes :
BASE dc=esp,dc=sn
URI ldap://127.0.0.1:389
Pour terminer, on redmarre le serveur :
/etc/init.d/slapd restart
III.2.3. Ajout dentres dans lannuaire LDAPEnsuite, on peut consulter l'annuaire, ajouter, modifier, ou retirer des entres au moyen
des commandes ldapsearch, ldapadd, ldapmodify, ldapdelete (fournis avec
OpenLDAP) et de fichiers LDIF (LDAP Data Interchange Format) ou bien l'aide d'outils
graphiques comme l'interface php phpLDAPadmin.On dfinit par exemple lannuaire ci-
dessous avec ce fichier ldif :
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
32/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw31
Figure 9: Fichier ldif des entres
Puis on ajoute ces informations dans lannuaire de la manire ci-dessous :
Figure 10: Ajout des entres dans lannuaire
On peut aussi ajouter dautres utilisateurs grce aux fichiers ldif ou bien laide doutils
graphiques tel que phpLDAPadmin.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
33/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw32
III.2.4. Configuration de SQUID pour lauthentificationPour la configuration de SQUID, on utilise loption squid_ldap_auth qui est ce
qu'on appelle un authentication helper , c'est--dire un petit programme qui dtermine si
un couple login/pass est correct : dans ce cas-ci, il communique avec un annuaire LDAP afinde voir s'il existe une entre dans l'annuaire ayant le login indiqu dans un champ uid (ou cn
ou autre si on le prcise), et le pass correspondant dans un champ userPassword. Ce
programme doit renvoyer la chane de caractres "OK" en cas de succs et "ERR" en cas
d'chec. On ajoute dans squid.conf les lignes suivantes :
auth_param basic program /usr/lib/squid/ldap_auth -bou=profs,dc=esp,dc=sn -u cn h 127.0.0.1auth_param basic children 5auth_param basic realm Identification requise par firewall_espauth_param basic credentialsttl 2 hours
Les paramtres utiliss poursquid_ldap_auth sont :
-b ou=profs,dc=esp,dc=sn : indique la base de l'arborescence de l'annuaire partir de laquelle on recherche l'utilisateur qui essaie de s'authentifier
-u cn : indique le type du login que l'on tape pour s'authentifier (par exemple cn,uid...)
-h 127.0.0.1 : adresse du serveur LDAP, il est ici sur la mme machine que leproxy
Les trois dernires lignes servent :
auth_param basic children 5 : le nombre de processus d'authentificationqui seront lancs en permanence sur le serveur, chacun ne pouvant servir qu'une
demande la fois auth_param basic realm Identification requise par
firewall_esp : la chane de caractres qui suit realm sera affiche par le
navigateur utilis lors de la demande d'authentification, elle permet donc d'indiquer
l'utilisateur que c'est au proxy qu'il essaie de se connecter
auth_param basic credentialsttl 2 hours : la dure au bout delaquelle lauthentication helper sera relanc. Cela ne veut pas dire que la fentre
demandant le login/pass va se rafficher (cela ne dpend pas de SQUID, mais dunavigateur utilis). Concrtement, au bout du temps indiqu, il y aura de nouveau un
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
34/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw33
change de paquets LDAP entre Squid et le serveur LDAP pour authentifier
l'utilisateur, et ventuellement lui interdire l'accs.
Pour terminer on ajoute ces deux rgles acl et on redmarre le serveur :
acl password proxy_auth REQUIREDhttp_access allow password
Cette rgle indique que tous les utilisateurs authentifis auront un accs http mais suivant sa
position par rapport d'autres rgles d'accs, cet accs sera peut-tre restreint.
La capture ci-dessous illustre bien cette authentification.
Figure 11: Authentification requise par le proxy
III.3.SQUID avec SquidGuardIII.3.1. Dfinition
SquidGuard est un module pour le serveur proxy SQUID. Ce module ajoute desfonctionnalits plus avances en matire de filtrage bas sur une liste noire de sites web
bloquer et une liste blanche de sites ignorer. SquidGuard est ainsi un programme redirecteur
distribu sous licence GPL, cest--dire que toutes les trames HTTP seront rediriges vers
SquidGuardpour tre analyses puis filtres. Il est ncessaire pour cela dindiquer Squid
que les trames devront transites parSquidGuard avant de passer dans le cache du Proxy. La
fonction de filtre de SQUID est alors optimise dans le programme SquidGuard ce qui lui
permet danalyser des listes dURLS en un temps record. Une fois lanc, SquidGuardapparatra comme un processus fils de SQUID.
http://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuardhttp://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuardhttp://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuardhttp://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuardhttp://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuardhttp://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuard -
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
35/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw34
III.3.2. Installation et ConfigurationLinstallation se fait de manire automatique et simple avec la commande :
#apt-get install squidguard
L'installation a cr un rpertoire /var/lib/squidguard/db, mais il est vide. Il
est destin contenir nos listes noires et blanches et deux scripts cgi dont nous verrons l'utilit
plus tard. Elle cre aussi le fichier de configuration /etc/squid/squidGuard.conf.
Nous n'avons pas encore les moyens de travailler efficacement, nous n'avons pas
encore de base de donnes de destinations, mais nous pouvons dj crire un fichier de
configuration pour SquidGuard, pour nous mettre un peu dans le bain.
Figure 12: Configuration minimum de SquidGuard
Les deux premires lignes indiquent SquidGuard o trouver la base de donnes des listes
(que nous navons pas encore) ainsi que lendroit o lon dsire rcuprer les logs.
Les sources sont l pour dfinir des groupes de clients. On les emploie avec des adresses IP de
notre rseau et lorsque lidentification du client est requise, on peut alors dfinir des noms
dutilisateurs dans les sources.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
36/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw35
Enfin, les acl permettent de dfinir quelle source peut aller (ou ne pas aller) vers quelle(s)
destination(s). Dans cette configuration seule la machine 192.168.2.3 (le serveur) peut aller
dans nimporte quel site alors que les autres clients de notre rseau nont accs aucuns sites
comme le montre la figure 13.
Il faut maintenant placer le script cgi sur notre serveur apache :
#gunzip /usr/share/doc/squidguard/examples/squidGuard.cgi.gz
#mv /usr/share/doc/squidguard/examples/squidGuard.cgi
/usr/lib/cgi-bin/
#chmod +x /usr/lib/cgi-bin/squidGuard.cgi
Il faut enfin modifier le fichier de configuration de SQUIDpour quil invoque SquidGuard enajoutant ces dans le fichier et redmarrer le serveur
url_rewrite_program /usr/bin/squidGuard c
/etc/squid/squidGuard.conf
url_rewrite_children 5
Figure 13: Blocage Internet des clients par SquidGuard
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
37/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw36
Nous allons aprs ceci configurer les destinations. Un ensemble de destinations est activement
maintenu jour par le Centre de Ressources Informatiques de lUniversit de Toulouse que
nous trouverons la wbographie n10. Nous allons choisir larchive qui les contient toutes
qui est larchive blacklists.tar.gz.
#cd /var/lib/squidguard/db/
#wget ftp://ftp.univ-tlse1.fr/blacklist/blacklists.tar.gz
#tar -xzvf blacklists.tar.gz
#cd blacklists
Figure14: Les listes de destination de SquidGuard
Nous avons toutes les destinations souhaitables qui sont organises par catgorie par
exemple : audio-video, chat, child, drogue, forums, game, hacking, manga, porn, publicite,
radio, violence etc.. Avant d'oublier ce dtail majeur, tout le contenu de
/var/lib/squidguard/db/blacklists doit tre accessible en lecture et en criture
par l'utilisateur sous l'identit duquel SQUID tourne. Pour nous, c'est l'utilisateur proxy :
#cd /var/lib/squidguard/db/
#chown -R proxy:proxy blacklists
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
38/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw37
Nous allons par exemple bloquer une liste de destination. Notre fichier de configuration de
SquidGuard est ainsi structur :
Figure 15: Exemple de configuration de SquidGuard
Dans cette configuration, comme la figure 12, nous avons la localisation des
blacklists et les logs et la source de ladmin. Nous avons la suite ajout une source users
qui indique les utilisateurs de notre rseau. On a ajout la configuration la destination
video en indiquant les fichiers de la liste. Dans les acl , ladministrateur a accs tous
les sites tandis que les autres utilisateurs nont pas accs aux sites de type audio-vido qui
sont dfinis dans ces listes.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
39/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw38
SquidGuard, pour pouvoir travailler rapidement, n'utilise pas les fichiers texte, mais
des bases de donnes. Nous devons alors construire ces bases avant le dmarrage de SQUID
(et donc de squidGuard) par la commande ci-dessous puis on redmarre le serveur.
#squidGuardC all
Lorsquon teste en entrant par exemple le site de youtube (site de partage de
vido), nous nous rendons compte que laccs ce site est bloqu. Tous les domaines ou URL
de type audio-vido seront ainsi bloqus.
SquidGuard offre ainsi un filtrage trs pouss. SquidGuard permet un filtrage par
URL, par adresses IP, par authentification, par plage horaire etc..
III.4.Scurisation du proxyIII.4.1. Association avec SSLAfin de scuriser les changes d'informations avec les diffrents serveurs LDAP, on
peut utiliser SSL (Secure Sockets Layer), qui est en fait une couche se rajoutant dans les
paquets transmis, et permettant de crypter les donnes transmises. On va ainsi utiliser SSL
avec OpenLDAP et SQUID.
I I I .4.1.1.SSL avec OpenLDAPPour pouvoir utiliser SSL avec OpenLDAP, il faut y intgrer le support SSL/TLS (TLS :
Transport Layer Security). Il faut aussi au pralable avoir install OpenSSL. Pour pouvoir
utiliser SSL, il faut crer les certificats, reconfigurer le serveur, et le relancer en lui indiquant
d'utiliser SSL. Pour crer les certificats, on cre dabord un rpertoire accessible par
OpenLDAP puis on les cre avec les commandes suivantes :
#openssl genrsa out serverkey.pem 1024
#openssl req new key serverkey.pem out servercert.req
#openssl genrsaout cakey.pem 1024
http://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuardhttp://carbone.originet.eu/~bigoud/Joomla/wiki/SquidGuard -
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
40/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw39
#openssl req new x509 key cakey.pem out cacert.pem
#openssl x509 req in servercert.req out servercert.pem CA
cacert.pem Cakey cakey.pem CAcreateserial
De nouveaux fichiers seront ainsi crer. Pour vrifier leur valid, on utilise la commande :
#openssl verify CAfile cacert.pem servercert.pem
Nous avons utilis des cls de 1024 bits pour plus de scurit. Une fois qu'on a les certificats
ncessaires, on configure le serveur OpenLDAP pour quil utilise SSL. Pour le faire, on copie
les fichiers quon gnr la cration des certificats un endroit accessible par OpenLDAP
par exemple /usr/local/etc/openldap puis on modifier le fichier slapd.conf en ajoutant la fin
les lignes suivantes :
TLSCertificateFile /usr/local/etc/openldap/servercert.pem
TLSCertificateKeyFile /usr/local/etc/openldap/serverkey.pem
TLSCACertificateFile /usr/local/etc/openldap/cacert.pem
Notre serveur OpenLDAP est ainsi correctement configur pour grer le SSL. Nous modifions
ensuite le fichier /et c/default/slapd en intgrant dans les services le port scuris de LDAP
SLAPD_SERVICES="ldaps:127.0.0.1:636"
Nous configurons aussi les clients afin de leur indiquer lemplacement du certificat. Il faut
aussi dire aux clients dutiliser le port scuris de LDAP qui est le 636. Pour cela on modifie
le fichier ldap.conf.
ssl on
URI ldaps://127.0.0.1:636
TLS_CACERT /usr/local/etc/openldap/cacert.pem
Dornavant, lorsqu'on s'authentifie auprs du serveur LDAP, le mot de passe ne circule plus
en clair sur le rseau, et on ne peut plus l'intercepter l'aide d'un sniffer.
I I I .4.1.2.SSL avec SQUIDMaintenant que notre annuaire fonctionne correctement avec SSL, on peut passer la
configuration de SQUID. A priori, la seule chose faire pour que SQUID utilise SSL pour
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
41/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw40
communiquer avec le serveur LDAP est de rajouter ldaps:// en tte de l'adresse du serveur
dans lappel de squid_ldap_auth.
auth_param basic program /usr/lib/squid/ldap_auth -b
ou=profs,dc=esp,dc=sn -u cn -h ldaps://127.0.0.1:636
Il ne reste plus qu' relancer le serveur SQUID, et maintenant l'authentification s'effectue de
manire crypte par SSL/TLS et ainsi aucun mot de passe ne circule plus en clair sur le rseau
lors de la demande dauthentification.
III.4.2. Association avec un antivirusIl nous est possible dintgrer un antivirus notre proxy SQUID. Il nous faut alors un
antivirus fonctionnel sur notre systme. Nous dcidons dutiliser lantivirus Clamav qui un
antivirus libre OpenSource. Clamav est un antivirus sous licence GPL, qui fonctionne sur le
principe d'une base de donnes de signatures, comme la plupart des antivirus commerciaux.
Son installation ne pose aucun problme particulier. Il faut juste installer les paquets clamav
et clamav-freshclam. Ce dernier soccupe de la mis jour de la base de donnes de
lantivirus. Cette mis jour est automatique.
Figure 16: Installation de Clamav
Une fois linstallation termine, Clamav tourne par dfaut sous le nom d'un utilisateur
fictif clamav, cr lors de l'installation du paquetage. Le dmarrage de lantivirus est
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
42/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw41
automatique et juste aprs linstallation il commence dj jouer son rle. Pour une
configuration plus approfondie, on peut se rfrer la documentation officielle.
Avec un antivirus install sur la machine o tourne notre serveur SQUID, nos
requtes HTTP destines nos clients seront ainsi scannes. De cette manire, nous nousassurons que notre proxy SQUID nenverra pas de virus nos clients. Ceci nexclut pas non
plus que nos clients peuvent se dispenser dun antivirus install sur leur poste. Une scurit
supplmentaire est toujours la bienvenue.
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
43/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw42
Nous avons essay dans ce document de mettre en place un proxy SQUID scuris
avec une authentification des utilisateurs via lannuaire LDAP. De nos jours lInternet, qui est
un rseau mondial public avec plusieurs menaces, est trs utilis et tout le monde y a accs. Se
trouvant dans un rseau priv et scuris, nous devons ainsi mettre en place une passerelle
scurise entre notre rseau et Internet.
Notre choix de passerelle cest ainsi port sur le proxy SQUID. Nous avons vu dans ce
document que son rle primordial est le cache c'est--dire garder les pages HTTP en local et
les restituer aux clients. Il joue aussi le rle de filtre et de scurit. Nous avons vu que SQUID
peut bloquer laccs lInternet certains utilisateurs selon des critres bien dfinis ou mme
bloquer laccs certains sites que lon juge dangereux ou inutiles. Nous avons aussi vu que
SQUID pouvait tre coupl un annuaire LDAP de telle sorte que seuls nos utilisateurs de
notre rseau disposant dun compte dans lannuaire avec login et mot de passe peuvent avoir
lInternet. Pour plus de scurit, on peut crypter ces changes de login et mot de passe avec
SSL.Nous avons aussi install lantivirus clamav sur la machine serveur
Nanmoins, nous tenons rappeler quun proxy nest pas une solution absolue et
complte de scurit. Comme on la dj dit, il joue primordialement une fonction de cache et
de filtre. Donc il nassure pas entirement la scurit de notre rseau. Il faut en plus trouver
dautres moyens de scurit en mettant par exemple en place un firewall correctement
configur qui remplie entirement un rle de scurit. Notons aussi quen matire de scurit
informatique, il n'y a ni recette miracle, ni solution dfinitive.
CONCLUSION
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
44/45
Mmoire de fin de cycle Promotion 2008-2010
Prsent et soutenu par Djiby Thiaw43
ACL: Access Control List
BIOS: Basic Input Output Unit
CPU: Central Processing Unit
DIT: Directory Information Tree
DNS: Domain Name System
DSE: Directory Service Entry
GNU GPL: GNU General Public License
HTTP: HyperText Transfer Protocol
LDAP: Lightweight Directory Access Protocol
LDIF: LDAP Data Interchange Format
RAM: Random Access Memory
SGBD: Systme de Gestion de Base de Donnes
TCP/IP: Transfer Control Protocol / Internet Protocol
GLOSSAIRE
-
7/30/2019 DST_2010_Mise en place d'un proxy SQUID scuris avec authentification LDAP. ESMT Tlinformatique
45/45
Mmoire de fin de cycle Promotion 2008-2010
1. http://www.esp.sn2. http://www.esmt.sn3. http://www.monassistance.fr/CCM/lan/proxy.php4. http://www.deckle.co.za/squid-users-guide/Main_Page
5.
http://www-igm.univ-mlv.fr/~dr/XPOSE2003/Squid/ch01s02.html
6. http://www.locoche.net/proxy.php7. http://fr.wikipedia.org/wiki/Ldap8. http://www.espace-groupware.com/squid/authentification-ldap/doc.html9. http://irp.nain-t.net/doku.php/220squid:start10.ftp://ftp.univ-tlse1.fr/blacklist/11.http://doc.ubuntu-fr.org/clamav
WEBOGRAPHIE
http://www.esp.sn/http://www.esp.sn/http://www.esmt.sn/http://www.esmt.sn/http://www.monassistance.fr/CCM/lan/proxy.phphttp://www.monassistance.fr/CCM/lan/proxy.phphttp://www.deckle.co.za/squid-users-guide/Main_Pagehttp://www.deckle.co.za/squid-users-guide/Main_Pagehttp://www-igm.univ-mlv.fr/~dr/XPOSE2003/Squid/ch01s02.htmlhttp://www-igm.univ-mlv.fr/~dr/XPOSE2003/Squid/ch01s02.htmlhttp://www.locoche.net/proxy.phphttp://www.locoche.net/proxy.phphttp://fr.wikipedia.org/wiki/Ldaphttp://fr.wikipedia.org/wiki/Ldaphttp://www.espace-groupware.com/squid/authentification-ldap/doc.htmlhttp://www.espace-groupware.com/squid/authentification-ldap/doc.htmlhttp://irp.nain-t.net/doku.php/220squid:starthttp://irp.nain-t.net/doku.php/220squid:startftp://ftp.univ-tlse1.fr/blacklist/ftp://ftp.univ-tlse1.fr/blacklist/ftp://ftp.univ-tlse1.fr/blacklist/http://doc.ubuntu-fr.org/clamavhttp://doc.ubuntu-fr.org/clamavhttp://doc.ubuntu-fr.org/clamavhttp://doc.ubuntu-fr.org/clamavftp://ftp.univ-tlse1.fr/blacklist/http://irp.nain-t.net/doku.php/220squid:starthttp://www.espace-groupware.com/squid/authentification-ldap/doc.htmlhttp://fr.wikipedia.org/wiki/Ldaphttp://www.locoche.net/proxy.phphttp://www-igm.univ-mlv.fr/~dr/XPOSE2003/Squid/ch01s02.htmlhttp://www.deckle.co.za/squid-users-guide/Main_Pagehttp://www.monassistance.fr/CCM/lan/proxy.phphttp://www.esmt.sn/http://www.esp.sn/