ABOUZAID Omama ABIDAR Hamza ALABDALLAOUI Said ELQASMI Mohamed Zakaria
Nom de lencadrant de lEMSI
12/IRT/2013 Soutenu le : 20 /09/ 2013
Ddicace
On ddie ce modeste travail en premier lieu nos parents qui nont rien pargn pour notre ducation, et notre formation et aussi nos frres, surs et nos amis. On le ddie aussi toutes les personnes qui ont particip de prs ou de loin au bon droulement de notre stage. On espre aussi que ce rapport donnera satisfaction toutes ces personnes et tous ceux qui auront loccasion de le lire
Remerciements
Nous avons une grande dette de reconnaissance auprs de toutes les personnes, dont lintervention au cours de ce projet, a favoris son aboutissement. Nos trs chers remerciements vont Monsieur ALABDALLAOUI, et Monsieur ELQASMI nos encadrants, pour nous avoir encadr et encourag tout au long de ce projet, et prodigu leurs directives prcieuses et conseils pertinents qui nous ont t dun appui considrable dans notre dmarche. Que messieurs les membres de jury trouvent ici lexpression de nos reconnaissances pour avoir accept de juger notre travail. Nous tenons galement adresser nos plus sincres remerciements lensemble du corps enseignant de lEMSI , pour avoir port un vif intrt notre formation, et pour nous avoir accord le plus clair de leur temps, leur attention et leur nergie et ce dans un cadre agrable de complicit et de respect. Enfin, que tous ceux et celles qui ont contribu de prs ou de loin Laccomplissement de ce travail trouve lexpression de nos remerciements et de nos considrations
Abstract
Network security consists of the provisions and policies adopted by network administrator to prevent and monitor unauthorized access, misuse, modification, or denial of a computer network and network-accessible resources. Network security involves the authorization of access to data in a network, which is controlled by the network administrator.in this project we used Proxy Squid is a widely-used proxy cache for Linux and UNIX platforms. This means that it stores requested Internet objects, such as data on a Web or FTP server, on a machine that is closer to the requesting workstation than the server. It may be set up in multiple mode such as transparent which can be setup with the protocol wccp this later can allow direct access to the router reject all request before filtering. Additional software like Dansguardian may be used to filter Web contents and share the filtering task with the proxy to assure balancing charge. On the other hand we are going to use IPcop firewall which is for small-office and home-office users. This is a Linux firewall distribution that requires a separate low power PC to run the software. You can configure the firewall rules from a friendly web interface. This is a stateful firewall based on Linux netfilter Users.
Rsum Linformatique est devenue pour l'entreprise un outil incontournable de gestion, d'organisation, de production et de communication. Les donnes mises en uvre par le systme d'information ainsi que les changes internes et externes sont exposs aux actes de malveillance de diffrentes natures. Cest pour cette raison que les entreprises ont tendance de mettre en place une architecture rseau scuris pour pouvoir se protger contre les attaques. Aprs avoir pris pleinement le temps dtudier les solutions existantes sur le march, nous avons opt pour la mise en place dun serveur proxy qui permet lexploitation optimale de la bande passante ainsi lauthentification des utilisateurs et un filtrage basique. Pour viter la surcharge du serveur ce dernier fait appel au dansguardian ce programme offre une possibilit de faire un filtrage de contenu en se basant sur des listes blanches et dautres noires. Notre objectif est de rduire le temps de rponse des requtes web, tout en gardant lanonymat des utilisateurs et protger la confidentialit des donnes. Pour permettre cette dernire nous avons propos la mise en place dun firewall IPcop. La tche finale est dadministrer les serveurs mis en place grce des outils qui nous permettront de garder un contrle permanant, et la possibilit de paramtrages en cas de pannes.
Mots cls: proxy squid, IPcop, Dansguardian, firewall.
Glossaire ADSL: Asymmetric Digital Subscriber Line ACL: access control list CARP: Common Address Redundancy Protocol CGI: Common Gateway Interface CPU: Central Processing Unit DHCP: Dynamic Host Configuration Protocol DMZ: Demilitarized Zone DNS: Domain Name System DOC: Direction operation client EMSI: Ecole Marocaine des Sciences de lIngnieur. EON: Eyes of network FAI: Fournisseurs daccs internet FTP: File Transfer Protocol GRE: Generic Routing Encapsulation GPL: General Public License HTML: Hypertext Markup Language Http: Hypertext Transfer Protocol HTTPS: hypertext Transfer Protocol secure ICP: Internet Cache Protocol IDS: Intrus Logic-ion Detection System IP: Internet Protocol IPS: Intrusion Prevention System LAN: Local Area network LDAP: Lightweight Directory Access Protocol MRTG: Multi Router Traffic Grapher NAT: Network address translation NTLM: NT LAN Manager NTP: Network Time protocol OVF: Open Virtualization Format OSI: Open Systems Interconnection PHP: Personal Home Page POP: Point Of Presence RAM: Random-Access Memory RPM: Red Hat Package Manager RTC: Real-Time Control SAV: service aprs vente SARC: Squid Analyses Report Generator SLA: service level agreement SMTP: Simple Mail Transfer Protocol SNMP: Simple network management protocol SQL: Structured Query Language SSH: Secure Socket Shell SSL: Secure Sockets Layer TCP: Transmission Control Protocol UDP: User Datagram Protocol URL: uniform resource locator UTM: Unified threat management VMware: Virtual Machine VPN: Virtual private network WCCP: Web Cache Communication Protocol
Liste des figures Figure 1.1 : Pyramide de systme de management de la qualit Figure 1.2: Structure des activits de la DOC Figure 1.3 : organigramme SAV Figure 1.4: Diagramme de Gantt Figure 1.5: Diagramme de Gantt figure Figure 2.1 : Le serveur Proxy Figure 2.2: schma de fonctionnement dun serveur proxy Figure 2.3: le cache du serveur proxy Figure 2.4: La journalisation des requtes Figure 2.5: Lauthentification pour laccs au serveur Figure 2.6: le serveur proxy transparent Figure 2.7: Le serveur proxy inverse Figure 2.8 : schma du processus de mise en cache Figure 3.1: Architecture Virtuelle sous VMware Figure3.2 : Lemplacement du serveur sur le rseau LAN Figure3.3 : Lemplacement du serveur proxy comme passerelle Figure3.4:Principe de fonctionement du protocole WCCP Figure3.5: Capture dcran de la configuration manuelle des clients Figure3.6: Capture dcran du message derreur du serveur proxy Figure3.7: Schma de fonctionnement de squid avec dansguardian Figure 3.8: capture dcran de la configuration de Dansguardian Figure 3.9: capture dcran du message de blocage du Dansguardian Figure 3.10: Capture d'cran de l'interface clamav Figure 3.11: Capture d'cran de la page du login Webmin Figure 3.12: Capture d'cran de la page d'administration du serveur proxy Figure 3.13: Capture dcran du rapport de trafic Figure 3.14: Capture dcran du rapport de trafic Figure 3.15: Capture dcran de Vsphre client Figure 3.16: Capture dcran de lenvironnement Vsphr client Figure 3.17: Capture dcran du deploiment de la machine virtuelle Figure 3.18: Capture dcran de fin dexportation 7 7 9 9 10 13 14 14 16 17 18 20 25 35 37 37 38 40 41 42 43 44 45 46 46 47 47 48 49 50 50 Figure 4.1: schma dun firewall Figure 4.2: les zones Ipcop sont schmatises par des couleurs Figure 4.3:installation IPcop Figure 4.4: configuration de la zone verte Figure 4.5: linterface web dIpcop Figure 4.6: configuration Ipcop Figure 4.7 : activer SSH Figure A.1: capture dcran de la configuration du cache Figure A.2: Capture dcran de la configuration des droits d'accs sur Acl Figure A.3: Capture dcran de la configuration des Acl bass sur le temps Figure A.4 : Capture dcran de directives configures pour activer l'authentification Figure A.5: Capture dcran de la demande dauthenfication Figure A.6 : Principe de fonctionnement du lissage de trafic Figure A.7: Capture dcran de la configuration pour limiter le dbit Figure A.8: Capture dcran de la configuration de la mise jour du cache Figure A.9: Capture d'cran de la configuration SNMP Figure A.10: capture d'cran de la configuration du protocole WCCP sur le serveur proxy
Glossaire Liste de figure Liste des tableaux Introduction Gnrale ............................................................................................................... 1 Chapitre 1 : ............................................................................................................................... 3 Introduction .............................................................................................................................. 4 1.1 Historique ........................................................................................................................ 4 1.2 Ralisation de Mditel ..................................................................................................... 5 1.3 Les valeurs de Mditel ..................................................................................................... 5 1.4 Prsentation de la Direction Opration Clients ................................................................. 7 1.5 Planification du projet ...................................................................................................... 8 Conclusion ............................................................................................................................. 10 Chapitre 2 : ............................................................................................................................. 11 INTRODUCTION .................................................................................................................. 12 2.1 Le serveur proxy ........................................................................................................... 12 2.2 Fonctionnement et rles dun proxy ............................................................................... 13 2.2.1 Fonctionnement ...................................................................................................... 13 2.2.2 Rles ...................................................................................................................... 14 2.3 Les types de proxy ......................................................................................................... 18 2.3.1 Proxy transparent .................................................................................................... 18 2.3.2 Le serveur proxy inverse ......................................................................................... 19 2.4 Etude benchmarking ...................................................................................................... 21 2.4.1 Introduction ............................................................................................................ 21 2.4.2 Dfinition ............................................................................................................... 21 2.4.3 Lutilit du Benchmarking ...................................................................................... 22 2.4.4 Les Serveurs proxy sur le march ............................................................................ 22 2.5 Le serveur proxy Squid ............................................................................................ 24 2.5.1 Prsentation ............................................................................................................ 24 2.5.2 Les protocoles supports ......................................................................................... 25 2.6 Les services du serveur Squid ................................................................................... 25 2.6.1 Le cache ................................................................................................................. 25 2.6.2 Le support des protocoles lis aux caches................................................................ 26 2.6.3 Acclrateur pour le serveur http (Mode Reverse Proxy) ......................................... 26 2.6.4 Lauthentification ................................................................................................... 27 2.6.5 Le filtrage ............................................................................................................... 27 2.6.5.1 Autorisation d'accs par filtrage ....................................................................... 27 2.6.6 La supervision du serveur proxy ............................................................................. 28 2.6.7 Limitations ............................................................................................................. 29 Conclusion : ........................................................................................................................... 29 Chapitre 3 : ............................................................................................................................. 30 Introduction ............................................................................................................................ 31 3.1 Principe de la virtualisation ............................................................................................ 31 3.1.1 Historique : ............................................................................................................. 32 3.1.2 La scurit : ............................................................................................................ 33 3.1.3 Les risques potentiels de la virtualisation ................................................................ 34 3.1.4 L'exploitation des failles ......................................................................................... 34 3.1.5 La rpartition des machines (grille de consolidation) ............................................... 34 3.1.6 La scurit des accs et la formation du personnel .................................................. 34 3.1.7 Le suivi des performances et du service .................................................................. 34 3.1.8 Lhyperviseur VMware Vsphre : ........................................................................... 35 3.2 Conception sous VMware .............................................................................................. 35 3.3 Le paramtrage du serveur proxy ................................................................................... 36 3.3.1 Le serveur proxy en mode transparent ..................................................................... 36 3.3.2 Le protocole WCCP (Web Cache Coordination protocole) ...................................... 38 3.3.3 Iptables : ................................................................................................................. 39 3.3.4 Ajouter un serveur DNS .......................................................................................... 40 3.3.5 Le serveur proxy Squid en mode non transparent .............................................. 40 3.4 Dansguardian et le serveur proxy Squid ................................................................... 41 3.4.1 Dfinition : ............................................................................................................. 41 3.4.2 Historique ............................................................................................................... 41 3.4.3 Fonctionnalit ......................................................................................................... 42 3.4.4 Installation .............................................................................................................. 43 3.4.5 Configuration Dansguardian ................................................................................... 43 3.4.6 Clamav antivirus .................................................................................................... 44 3.5 Outils dadministration .................................................................................................. 45 3.5.1 Webmin : ................................................................................................................ 45 3.5.2 SARG ..................................................................................................................... 47 3.6 Mise en production sur le rseau de lentreprise ............................................................. 48 3.6.1 Installation de Vsphre client .................................................................................. 48 3.6.2 Dploiement du serveur proxy ................................................................................ 49 3.6.3 La mise en service .................................................................................................. 50 Conclusion ............................................................................................................................. 51 4.1 Lutilit dun firewall ..................................................................................................... 53 4.1.1 Protection firewall se fait contre ................................................................................. 54 4.1.2 Critres de choix dun firewall ................................................................................... 54 4.2 Les diffrentes catgories de firewall ............................................................................. 55 4.3 Firewall sans tats (stateless) ......................................................................................... 55 4.4 Firewall tats (stateful) ................................................................................................ 56 4.5 Firewall IPCOP.............................................................................................................. 57 4.6 Fonctionnement du firewall IPCOP ................................................................................ 57 4.7 Les services offerts par IPCOP ....................................................................................... 59 4.8 Installation IPcop ........................................................................................................... 59 4.9 Configuration de lIPcop ................................................................................................ 60 4.10 Les diffrents menus de configuration ........................................................................ 63 4.10.1 Menu systme : ................................................................................................... 63 4.10.2 Menu tat : .......................................................................................................... 64 4.10.3 Menu rseau ........................................................................................................ 64 4.10.4 Menu service ....................................................................................................... 64 4.10.5 Menu pare-feu ..................................................................................................... 65 4.10.6 Menu VPN .......................................................................................................... 65 4.10.7 Menu journaux .................................................................................................... 65 Conclusion gnrale......................................................................................................... .......66 Bibliographie 68 Webographie 68 Annexe
1
Introduction Gnrale
La scurit d'un rseau est un niveau de garantie que l'ensemble des machines du rseau fonctionnent de faon optimale et que les utilisateurs des machines possdent uniquement les droits qui leur ont t octroys. Il peut s'agir :d'empcher les utilisateurs d'effectuer des oprations involontaires capables de nuire au systme et aussi d'empcher des personnes non autorises d'agir sur le systme de faon malveillante.de scuriser les donnes en prvoyant les pannes de garantir la non-interruption d'un service. De point de vue technique, la scurit recouvre la fois l'accs aux informations sur les postes de travail, sur les serveurs ainsi que le rseau de transport des donnes. De nos jours, toutes les entreprises possdant un rseau local exploitent aussi un accs internet. Cette ouverture vers lextrieur est indispensable et dangereuse en mme temps. Cela laissera place ouverte aux trangers pour essayer de pntrer le rseau local de lentreprise, et y accomplir des actions douteuses : comme destruction ou bien vol dinformation confidentielle,. Pour parer ces attaques, une architecture scurise est ncessaire, deux solutions sont proposes un proxy et un firewall IPCOP, nous allons utiliser un proxy qui est un composant logiciel qui joue le rle dintermdiaire en se plaant entre lutilisateur et le web. Tous les utilisateurs vont alors passer travers le proxy pour accder aux pages Web soumises certaines restrictions du serveur proxy utilis. Notre choix s'est port sur Squid comme serveur proxy. Ce dernier est trs complet et propose une multitude d'options et de services qui lui ont permis d'tre trs largement adopt dans le monde professionnel, ce serveur supporte une multitude de protocoles et cest un serveur open source. Scuriser les donnes, c'est garantir : L'authentification rciproque des correspondants pour tre sr de son interlocuteur L'intgrit des donnes transmises pour tre sr quelles n'ont pas t modifies accidentellement ou intentionnellement. 2
La confidentialit pour viter que les donnes soient lues par des systmes ou des personnes non autorises Le non rpudiation pour viter la contestation par l'metteur de l'envoi de donnes Le premier chapitre de ce rapport prsentera le contexte gnral du projet. Il contient toutes Les informations ncessaires sur lentreprise et la planification du projet. Le deuxime chapitre est consacr ltude du serveur proxy ses fonctionnalits et rles au sein du rseau, et consacr aussi la comparaison entre les solutions en fonction des besoins grce a une tude benchmarking pour faire le choix convenable du serveur proxy. Le troisime chapitre est ddi la mise en place du serveur proxy squid. Il contient non seulement larchitecture virtuelle mais aussi les tapes dinstallation et de configuration du squid et dansguardian et la mise en production de la solution. Le quatrime chapitre rsume ltude et la mise en place dun firewall IPCOP. Contient aussi des gnralits sur ce dernier et ses principales fonctionnalits.
.
3
Chapitre 1 :
Contexte gnral du projet
Prsentation Mditel Prsentation du service S.A.V Planification du projet
4
Introduction Cr en 1999 par lalliance de la CDG, du Groupe Finance Com et de deux gants europens des tlcommunications, Portugal Tlcom et Tlefonica, Mditel est devenue un acteur cl des tlcommunications au Maroc. 1.1 Historique En 2000 : Fin de lre de la monopolisation des tlcoms : Mditel arrive sur ce march et apporte avec elle un arsenal dides de produits et de services novateurs. En 2001 : Le consommateur Marocain dcouvre une panoplie de services tlcoms qui rvolutionnent sa manire de communiquer. En 2002 : La famille Mditel sagrandit et compte prs de 700 Mditeliens. En 2003 : Mditel tend son rseau Mobile et atteint un taux de couverture rseau de 89%. En 2004 : 3 000 000 de clients font confiance Meditel, lvolution du parc clientle a fait un bond de + 42%. En 2005 : les rsultats financiers suivent le succs rencontr par Meditel au bout de seulement cinq ans dexistence. Cette anne marque aussi lobtention de la licence fixe multiservices. En 2006 : Mditel restructure sa dette. Lopration est une premire du genre dans le milieu financier. En 2007 : Meditel dpasse le seuil des 6 millions de clients et se lance dans loffre de lInternet mobile 3G. En 2008 : 4.2 milliards de dirhams, cest linvestissement consenti par lentreprise lhorizon 2010 pour consolider ses rsultats. En 2009 : 10 ans aprs sa cration, Mditel devient une entreprise 100% marocaine. En 2010 : 10 millions de clients, Ce cap franchit, Mditel se place incontestablement comme un acteur cl de la tlphonie et des services Internet. Cette anne marque laccueil dun nouvel actionnaire, le leader franais France Tlcom et sa marque phare Orange en lui cdant 40 % de son capital. En 2011 : Emission d'un emprunt obligataire pour accompagner lvolution de son parc Mobile et Fixe.
5
1.2 Ralisation de Mditel
Les chiffres cls de son activit : Oprateur global et multiservices de rfrence au Maroc, Mditel confre son activit une dimension conomique, sociale, socitale et financire. Dtails des principaux chiffres qui illustrent lempreinte de lentreprise sur le secteur des tlcommunications. Impact conomique et social : Lune des forces est son capital humain. Des collaborateurs et des partenaires qui construisent de jour en jour la marque Mditel. Au 31 dcembre 2009, lentreprise comptait 1048 collaborateurs directs et 20.000 collaborateurs indirects. Ecosystme Mditel : La proximit client et la disponibilit de son produit sont deux conditions essentielles pour son dveloppement. Au 31 dcembre 2009, son cosystme slevait 1100 points de vente, 3593 Mditlboutiques et 8000 sites publics. Rseau Mditel : Le renforcement dun rseau performant et couvrant lensemble de la population constitue le socle de son dveloppement. Au 31 dcembre 2009, elle compote un parc clients qui slve 9.5 millions de personnes, une couverture de 99% de la population et un parc technique de .014 antennes BTS 2G-3G et Wimax. Indicateurs financiers : Mditel est une entreprise qui ralise des rsultats satisfaisants et qui construit son dveloppement sur la base dun investissement rgulier. Au 31 dcembre 2009, elle a atteint des revenus nets de 5 238 milliards de DH et des investissements cumuls de 22.8 milliards de DH. 1.3 Les valeurs de Mditel
Une charte de valeurs engageante : Quatre principes cls dterminent la ligne de conduite de ces affaires. Ces valeurs fortes et collectives reprsentent autant dengagements que chacun dentre ces employs adopte dans lexercice de son mtier.
6
Innovation: Cre en continu des concepts novateurs .Cest son esprit visionnaire et novateur qui a permis, ds la cration de cet entreprise, de conqurir dimportantes parts du march. Ethique : Agit dune manire responsable et professionnelle. Elle adopte un comportement thique et responsable dans toutes ces relations, en interne comme en externe. Cette exigence professionnelle et humaine laide crer et prserver un environnement de travail sain et transparent, dans lequel chacun de ses employs se sent en scurit. Cette rigueur gnre la confiance de ces partenaires qui retournent le respect quelle leur tmoigne. Energie : Associe ces nergies pour prparer lavenir. Tourne vers lavenir, elle insuffle de lnergie son march et ces partenaires en crant de la valeur de manire continue. Engagement : Sinvestir pour le bien-tre de ces employs. cur sain et bienveillant au sein de lentreprise et lextrieur, avec tous les membres de ces communauts. La politique Ressources Humaines ouverte a pour vocation de garantir le bien-tre et lpanouissement de tous les collaborateurs. Systme de management et de la qualit : Le Systme de Management de la Qualit est l'ensemble des directives de prise en compte et de mise en uvre de la politique et des objectifs qualit ncessaires la matrise et l'amlioration des divers processus d'une organisation. Ceci gnre l'amlioration continue des rsultats et des performances. Pour assurer le contrle et lefficacit du Systme de Management de la Qualit, Mditel a tabli une structure documentaire qui respecte la pyramide suivante :
7
Figure 6.1 : Pyramide de systme de management de la qualit [3] 1.4 Prsentation de la Direction Opration Clients La Direction des oprations Clients est une des trois directions qui appartiennent la directions centrales entreprises, elle permet doffrir des services aux clients Fixe. Cette dernire est constitue dune quarantaine de personnel. Elle assure le dploiement via les deux entits : Gestion de projet et Service Delivry, lexploitation via lentit Service aprs-vente, Le support technique et logistique est assur par la Cellule Veille Techno, Labo & Logistique, et le support transverse est assur par lentit Gestion des Prestataires & Contrle Qualit.
Figure 1.7: Structure des activits de la DOC [3]
Prsentation du dpartement SAV
Le service aprs-vente de Mditel permet de raliser les services suivants : Garantir la satisfaction du client via une supervision et maintenance proactive sur les infra clients. 8
Assurer les interventions distance sur les quipements clients pour la maintenance et la rsolution dincidents. . Assurer les interventions sur site et la fermeture des incidents. Assurer le respect des engagements SLA et GTR des clients. Assurer une bonne prsence support nationale et internationale (via ces partenaires) Assurer une astreinte et le 24/24 7/7 Elaborer des profils clients pour la supervision Produire et assurer la cohrence des indicateurs et tableaux de bord au Service Manager Installer, administrer et maintient niveau les infrastructures de supervision (serveurs, systme d'exploitation, sauvegardes, stockage
Figure 1.8 : organigramme SAV [3]
1.5 Planification du projet
La planification du projet consiste tablir un planning des tches effectuer pour observer et contrler lavancement des diffrentes tches, ainsi que dassurer le bon droulement des actions requises afin de pouvoir conduire avec succs le projet et son organisation. 9
En vue de russir ce projet, nous avons t amen passer par plusieurs tapes importantes et ncessaires : Ltude des diffrents proxys existant sur le march. Linstallation et la configuration du proxy squid. Ltude des firewalls. Linstallation et la configuration du firewall IPcop. Le stage a dbut le 08 avril, et a pris fin le 08 Aot, soit une dure totale de 16 semaines dont les tches seront rparties selon le planning suivant :
Figure 1.9: Diagramme de Gantt
10
Figure 1.10: Diagramme de Gantt Figure
Conclusion
Aprs avoir dvoil lorganisme daccueil, nous avons ensuite dfini la dmarche de travail en prcisant les objectifs atteindre. Pour cela, nous nous sommes bas sur la planification des tapes pour la ralisation de notre projet.
11
Chapitre 2 :
Etude sur le serveur proxy
Le serveur proxy Fonctionnement et rles Les types de serveur proxy Etude benchmarking Le choix du proxy Squid
12
INTRODUCTION A l'origine, le serveur proxy a t conu pour relayer vers internet les requtes des navigateurs. Aujourd'hui, ce rle ancien a disparu au profit de nouvelles fonctionnalits : cache enregistrement filtre navigation anonyme scurit du rseau local Le but dans ce chapitre est dtudier les fonctionnalits dun serveur proxy, dfinir les types de serveurs existants, faire une tude benchmarking pour choisir le serveur proxy convenable afin de rsoudre les problmes et remplir le besoin de lentreprise. La dernire partie de ce chapitre se consacre au serveur proxy choisi, son historique, les versions existantes, et les services offerts par le serveur. 2.1 Le serveur proxy Dfinition Un serveur mandataire (intermdiaire) ou proxy est un serveur informatique qui a pour fonction de relayer des requtes entre un poste client et un serveur. La liaison entre le client et le serveur n'est pas toujours directe, il peut exister des machines intermdiaires servant de relais qui sont : Un proxy (ou serveur mandataire) peut modifier les rponses et requtes qu'il reoit et peut grer un cache des ressources demandes. Une passerelle (ou Gateway) est un intermdiaire modifiant le protocole utilis. Un tunnel transmet les requtes et les rponses sans aucune modification, ni mise en cache.
13
Figure 2.1 : Le serveur Proxy
2.2 Fonctionnement et rles dun proxy 2.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 relier une requte sur Internet. 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 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. 14
Figure 2.2: schma de fonctionnement dun serveur proxy
2.2.2 Rles Les rles d'un serveur proxy web sont trs divers : 2.2.2.1 Le rle du cache
Une mmoire cache sert conserver localement des informations qui ont une certaine probabilit de servir nouveau court terme. Ainsi, on trouve une mmoire cache dans les micro-processeurs, dans les contrleurs de disque dur, dans les navigateurs, dans les serveurs web, etc...
Figure 2.3: le cache du serveur proxy [4] 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. Dans le cas contraire, il sera servi un peu plus lentement, car la traverse du serveur proxy reprsente une tape supplmentaire dans le transport de l'information.
15
L'information cache En fait, tout dpend de la manire dont est configur le serveur proxy. Plusieurs points doivent tre respects lors de la configuration d'un tel dispositif : Le serveur doit lire l'en-tte du paquet pour dcider si ce dernier doit tre mis en cache ou non. Par exemple, on ne doit pas stocker un paquet dont la dure de validit est nulle. on ne doit pas stocker des paquets dont le contenu est trs spcifique, comme par exemple une page gnre par un script ct serveur en rponse la question prcise d'un client. on ne doit pas stocker des paquets qui ne contiennent pas d'information tangible, comme par exemple ceux qui ne contiennent qu'un code HTTP particulier (un code d'erreur par exemple). le proxy ne doit pas mettre en cache les paquets authentifis ou scuriss, sauf indication contraire dans l'en-tte du paquet. le proxy doit appliquer des rgles claires pour dterminer si l'information contenue dans un paquet cach est encore valide ou si elle est prime (out-of-date), et en cas de doute, le proxy doit interroger le serveur web qui a fourni le paquet pour savoir si l'information a chang. 2.2.2.2 Le rle de filtrage On peut configurer un serveur proxy de telle sorte qu'il examine le contenu des paquets qu'il reoit pour le compte des clients, et qu'il refuse de transmettre ceux qui ne rpondent pas certains critres. On notera que l'on peut faire la mme chose avec un navigateur tel que Internet Explorer, et que l'on peut protger les niveaux dfinis (pour la langue, la nudit, la violence) l'aide d'un mot de passe. Le serveur proxy peut galement tre utilis pour dfinir les droits de chaque client en ce qui concerne le web : personnes autorises, heures permises, sites accessibles ou dfendus, etc. Les gestionnaires de systme informatique adorent ce genre de chose, et nul doute qu'un proxy bien dot en matire de gestion des droits leur plaise particulirement.
16
2.2.2.3 Le rle d'enregistrement Comme tout serveur qui se respecte, un proxy gnre un fichier journal (log file).
Figure 2.4: La journalisation des requtes [4]
On y trouve la trace de toutes les requtes effectues par tous les postes clients dpendant du serveur en question. Contrairement ce qui se passe pour les serveurs web, il n'existe pas de format normalis pour le fichier journal des serveurs proxy. Cependant, quelle que soit sa prsentation, ce fichier journal contient pratiquement toujours :
La date et l'heure. Lidentification du client, sous une forme qui dpend de la manire dont est gr le rseau local. Il peut s'agir d'un numro ou d'un nom de machine, d'un nom d'utilisateur, etc. Les personnes qui utilisent un ordinateur portable (lequel reoit un numro IP la vole lorsqu'on le branche) peuvent tre difficiles identifier. LURL de la ressource demande. Le temps de tlchargement. La taille de la ressource. Le rsultat de l'opration, etc
2.2.2.4 Le rle d'anonymiseur Il existe sur internet des sites web "bidons", monts dans le seul but de savoir qui s'intresse un sujet donn. Cela va du sondage d'opinion l'espionnage industriel. Bien sr, une adresse internet n'est pas lie un nom de personne, mais elle est lie un nom d'organisme. Quand on parcourt le web, les serveurs des sites quon visite ont connaissance des numros IP de nos machines. A l'aide d'un annuaire DNS inverse (les administrateurs de ces serveurs peuvent savoir 17
que ma machine appartient au rseau de Mditelecom. De cette faon, on peut essayer de savoir quelles sont les entreprises qui s'intressent tel ou tel procd, par exemple. Pour cette raison ou pour une autre (respect de la vie prive, par exemple), il peut tre intressant de rechercher de l'information sur le web de manire anonyme. Pour ce faire, on peut utiliser un poste client qui ne possde pas d'adresse Internet, mais qui reoit une adresse la vole du DHCP d'un fournisseur d'accs. Si je parcours le web via un oprateur par exemple, l'administrateur du serveur qui relve mon numro IP et l'introduit dans un DNS inverse apprend que ce numro appartient loprateur, et rien de plus (en fait, il n'a mme pas besoin d'utiliser cette procdure, car le nom de loprateur s'inscrit dans le fichier journal du serveur). Remarque : pour plus de sret, il faut aussi configurer son navigateur de telle sorte qu'il n'accepte pas les cookies. Une autre solution consiste utiliser un serveur proxy public dnomm "anonymizer" cest quil doit remplir les trois conditions suivantes : Ne pas retransmettre l'adresse IP du client. Supprimer tous les cookies. Ne pas enregistrer de fichier journal, ou le dtruire dans les dlais lgaux sans l'avoir utilis. 2.2.2.5 Le rle de scurit Pour permettre aux utilisateurs dtre plus protgs lors dutilisation dun serveur proxy, ce dernier utilise le NAT, la translation des adresses rseaux pour garder les adresses IP des utilisateurs privs lors dune connexion au monde extrieur.
Figure 2.5: Lauthentification pour laccs au serveur [4] 18
Au sein dun rseau local, lauthentification au prt dun serveur de control de domaine permet au serveur proxy de grer les utilisateurs, une connexion internet ncessite login et mot de passe pour y accder. 2.2.2.6 La balance de charge Un proxy peut aiguiller certains clients, sur certains serveurs, en fonction de la ressource demande. C'est assez rare, d'autres solutions plus adaptes et jouant avec les couches basses du modle OSI existent. 2.2.2.7 Le prchargement Charger des donnes avant mme qu'un client ne les demande, en supposant qu'il va les demander dans le futur. Le cas classique des images d'une page HTML est trs explicite : le proxy tlcharge en avance les images sur le serveur original, la seconde mme ou le client lui a demand la page HTML les comportant. 2.2.2.8 Le transcodage: Le serveur proxy peut traduire ou transcoder les caractres d'une page, en fonction des prfrences linguistiques du client et de la rponse du serveur 2.3 Les types de proxy
2.3.1 Proxy transparent Un serveur proxy transparent, aussi connu comme un serveur proxy d'interception ou d'un serveur proxy forc, cest un serveur qui intercepte les informations sortantes sur un rseau avant qu'il n'atteigne l'Internet, sans ncessiter aucune configuration sur le navigateur du client.
Figure 2.6: le serveur proxy transparent 19
Un serveur proxy transparent ncessite uniquement la configuration ct serveur, ce qui signifie qu'ils peuvent tre utiliss sur un rseau l'insu de l'utilisateur final. Ces serveurs sont souvent utiliss pour optimiser l'quilibrage de charge ou filtre de contenu. De nombreuses coles et lieux de travail utilisent ce type de serveur proxy. Un proxy transparent ne ncessite aucune configuration sur chaque ordinateur client, les administrateurs rseau lutilisent souvent comme un moyen pour gagner du temps sur des configurations de systme individuel. Mme si un proxy transparent offre les mmes avantages de mise en cache et de filtrage que la plupart des procurations explicites, il n'offre aucune fonctionnalit de masquage adresse de protocole Internet (IP). Par consquent, un proxy transparent ne convient pas pour la plupart des fins de scurit en ligne souvent associs aux serveurs proxy web. Avantages Forcer lutilisateur du rseau utiliser le serveur proxy ; et cela ne ncessitera aucune configuration ; toutes les requtes seront rediriger vers le proxy qui jouera le rle de passerelle vers linternet. Mettre en cache les pages les plus visites, afin dviter de recharger une page qui a dj t visite. L'utilisateur occasionnel (visiteur par exemple), n'aura pas configurer son client HTTP en entrant et en sortant de votre rseau. Mme si pour lui, cette opration est triviale, elle reste tout de mme contraignante.
Inconvnients La fonction dauthentification ne peut pas tre configure. Un proxy transparent ne peut fonctionner que sur un seul port et uniquement pour HTTP Les clients qui visent des serveurs sur le port 81 par exemple, passeront directement (ou ne pourront pas passer du tout si le firewall le leur interdit) pas de proxy transparent pour FTP pas de proxy pour HTTPS 2.3.2 Le serveur proxy inverse Un serveur proxy inverse (reverse proxy) est un mode de fonctionnement particulier d'un proxy- cache. Il s'agit d'une utilisation l'envers. Un serveur proxy inverse sert classiquement protger une batterie de serveurs appels (cluster). Le proxy-inverse se fait passer pour le serveur Web, intercepte les requtes en provenance des clients, et les retransmet vers le serveur Web adquat en ouvrant une nouvelle connexion. Le reverse-proxy joue aussi le rle de cache, de sorte que 20
lorsqu'il dispose dj d'une page demande par un client, il n'met pas de requte vers le serveur Web et renvoie directement la page en cache. Un reverse proxy peut galement assurer des fonctions de scurit fondamentale: l'authentification et le chiffrement. On dcharge ainsi les serveurs Web de ces fonctionnalits. Le reverse proxy peut galement effectuer du partage de charge en rpartissant, suivant des algorithmes particuliers (ex.: round trip, round robin...), les requtes clientes vers diffrents serveurs Web.
Ce systme reoit le trafic HTTP et HTTPS venant de l'extrieur. Il le traite non pas comme un serveur Web classique en rpondant par des donnes stockes sur disque ou gnres dynamiquement mais en transmettant la requte un autre serveur et en renvoyant la rponse de ce dernier au client. Nous insrons donc un systme entre l'internaute et le serveur Web rel. L'installation d'un reverse-proxy permet de mettre en place de tout ou partie des mesures de protection suivantes : Couper tout accs direct depuis Internet vers les serveurs d'applications Web (adresss en RFC 1918 par exemple) et Inversement Couper tout accs direct entre le bastion, connect Internet, et les serveurs de donnes LDAP et SQL surveiller et auditer le trafic aprs dchiffrement du trafic HTTPS Suivant les fonctionnalits offertes par l'implmentation, le mandataire peut aussi : Prvenir les dnis de service et autres attaques de mots de passe par force brute dtecter les requtes malicieuses voire les bloquer (dtection et prvention d'intrusions) assurer l'authentification des accs certaines parties d'un site rpartir la charge entre plusieurs systmes Figure 2.7: Le serveur proxy inverse 21
2.4 Etude benchmarking 2.4.1 Introduction Le march open source regorge plusieurs solution offrant diverses fonctionnalits et ncessitant une palette diffrente de prrequis et garantissant des niveaux de performances trs rapprochs. Notre projet consiste faire une tude comparative et un Benchmarking de ces solutions. Pour ce faire, on va dcrire les fonctionnalits importantes devant tre fournies par chaque solution afin de choisir la plus adapte notre besoin. 2.4.2 Dfinition
La notion du benchmarking appel aussi talonnage est une pratique rcente qui sest avre trs bnfique pour les entreprises dsirant saligner ou devancer la concurrence. Cette pratique est devenue indispensable dans un contexte de mondialisation caractris par une concurrence acharne. Dans lanalyse tymologique du terme Benchmarking on distingue quil est compar de deux mots : Bench = Banc dessai, Marking = Notation Il existe plusieurs types du benchmarking : 1. Le Benchmarking interne : Le plus facile raliser, il consiste analyser et comparer les oprations et les services entre eux lintrieur de lentreprise. Son avantage rside dans le fait quil peut rapidement seffectuer tant donn la facilit et la rapidit de linformation recherche. 2. Le Benchmarking externe (ou de concurrence) : Mme processus que le Benchmarking interne. Ici, lentreprise comparera ses produits, services, modle ce type de Benchmarking est plus performant que celui du benchmarking interne tant donn quil met en vidence les diffrentiations de vos produits, services, processus avec ceux de la concurrence. 3. Le Benchmarking fonctionnel : le Benchmarking fonctionnel suppose la comparaison de ses propres fonctions avec des fonctions similaires dans ses propres domaines dactivit ou dans le fait que le Benchmarking fonctionnel identifie et documente les processus relis aux performances. 22
4. Le Benchmarking gnrique : il suppose la comparaison des mthodes de travail ou des processus dans des secteurs dactivit diffrents. La mthode du Benchmarking gnrique est non seulement la plus productive et la plus crative, mais cest galement la plus efficace. 2.4.3 Lutilit du Benchmarking La dmarche vers lexcellence veut quune organisation compare rgulirement ses rsultats et ses pratiques ceux des bonnes pratiques. Le Benchmarking nest pas seulement faire des comparaisons entre ses propres rsultats et ceux des autres, cest surtout tre capable danalyser et de transposer la meilleure pratique dans sa propre organisation. Les entreprises de rfrence ont dans ce domaine dvelopp, adapt et affin une mthodologie pour raliser des perces dans leurs propres organisations. Le Benchmarking prsente plusieurs avantages pour lentreprise, cette dmarche permet de : - Reconnaitre lexcellence de certain services et fonctions, - Mieux connaitre son environnement conomique, - Rduire les cots, - Rduire les temps de retour Les besoins de lentreprise
La gestion de bande passante Interdire le tlchargement (vidos, films, fichiers volumineux) interdire laccs dinternet certains sites (Facebook, YouTube,) Protger le rseau local Un partage de ressource quitable entre utilisateurs Pour pouvoir raliser une tude benchmarking, on se basera sur les besoins de lentreprise pour choisir le serveur qui sera appropri la solution envisage.
2.4.4 Les Serveurs proxy sur le march Les serveurs proxy existant sur la march et qui sont trs utiliss sont : Microsoft Proxy Server v.2.0 : Microsoft Internet Security and Acclration Server (ISA Server) est dcrit par Microsoft comme une passerelle de scurit priphrique intgre. Appel prcdemment Microsoft Proxy Server. ISA est un produit de type scurit bas sur Microsoft Windows. 23
Netscape Proxy Server v.3.5 : dfinit comment les navigateurs Web et autres agents utilisateurs peuvent choisir automatiquement le cas chant serveur proxy (mthode d'accs) pour aller chercher une donne URL . Websence :est une entreprise qui se spcialise dans les logiciels de scurit informatique ,qui est utilis par les clients, y compris les entreprises, les coles et les bibliothques, pour protger leurs rseaux contre les logiciels malveillants, arrter le vol de donnes, empcher les tudiants de regarder du contenu inappropri. Squid : Squid est un serveur proxy et cache libre trs connu du monde Open source. On dpartagera entre ces diffrents serveurs en se basant sur les critres du tableau 2.1
Tableau 2.2: les critres des serveurs proxy
24
Pour lentreprise une bonne solution est celle qui est la moins couteuse et qui remplit les besoins de lentreprise ; en tenant en compte du cout on est oblig de nous orienter vers une solution open source ,cest--dire non payante .le serveur proxy Squid et Netscape sont les deux solutions gratuites qui se placent le mieux sur le march ,daprs le tableau 2.1 on constate que le serveur Netscape ne permet pas le NAT , donc il nest pas en mesure de faire la translation dadresse ,ce qui exposera ladresse IP des clients sur internet. Concernant les protocoles supports le serveur Netscape est limit puisquil ne supporte ni le protocole SNMP concernant la supervision ni le protocole ICP pour interroger les caches voisins en cas de non rponse du cache principale. Le serveur Squid rempli largement les besoins, puisquon peut limplmenter sur un systme dexploitation UNIX, et permettre plusieurs fonctionnalits de filtrages (ACL, http), linterfaage avec lannuaire LDAP, ainsi la rsolution de nom domaine DNS inclus dans le cache. Le serveur Squid peut tre supervis et administr distance en utilisant le protocole SNMP. Suivant ltude de comparaison entre les deux serveurs proxy Netscape et Squid , on dduit que le serveur qui remplira nos besoins sans le moindre cout est le serveur Squid , on dtaillera dans la suite du chapitre toutes les informations et fonctionnalits du serveur Squid . 2.5 Le serveur proxy Squid
2.5.1 Prsentation Le serveur Squid est un proxy cache sous linux. De ce fait il permet de partager un accs internet entre plusieurs utilisateurs avec une seule connexion. Un serveur proxy propose galement un mcanisme de cache des requtes, qui permet d'accder aux donnes en utilisant les ressources locales au lieu du web, rduisant les temps d'accs et la bande passante consomme, il est possible aussi deffectuer des contrles de sites. Le serveur proxy Squid autorise le cache des protocoles HTTP, ftp, Gopher, etcIl supporte galement SSL, les contrles d'accs, le cache de DNS et fournit une trace complte (log) de toutes les requtes. Le serveur Squid est aussi disponible pour Windows NT. Le serveur proxy Squid n'est pas un proxy POP, SMTP, NNTP (comme Samba par exemple).
25
2.5.2 Les protocoles supports Squid supporte une multitude de protocole parmi ces protocoles on trouve les suivants : HTTP/HTTPS : les protocoles Web FTP : le protocole de transfert de fichiers Gopher : un protocole proche de http SSL : utilis pour les transactions scurises ICP : un protocole gnraliste permettant la communication entre serveurs de cache HCTP : un protocole de cache orient http 2.6 Les services du serveur Squid 2.6.1 Le cache Le cache est bien plus qu'un service rendu par Squid vrai dire. Il fait partie intgrante de Squid et justifie lui seul l'utilisation de Squid pour un rseau partageant un mme accs Internet. Le rle d'un serveur cache est de stocker les objets demand par les utilisateurs pour la premire fois via les protocoles HTTP, FTP et Gopher. Ainsi, lors des demandes futures sur un objet prsent en cache, le serveur de cache n'aura pas besoin d'aller chercher cet objet sur internet et retournera directement celui qu'il a en mmoire. Les objets stocks peuvent tre de tout type : texte, image, vido
Figure 2.8 : schma du processus de mise en cache
26
Les tapes de mises en cache par le serveur proxy sont : 1. Le client demande une page. 2. La requte est intercepte par le proxy. Celui-ci vrifie ses Acl. Si la requte est interdite, un message d'erreur (non reprsent sur la figure) est envoy au client. 3. Si la requte est autorise, le proxy vrifie si la page est dj dans son cache (autrement dit, si elle t demande rcemment). Si c'est le cas, elle est envoye directement au client sans passer par le serveur web. 4. Si la page ne figure pas dans le cache, le proxy transmet la requte au serveur dsir. 5. Le serveur retourne la page. 6. Le proxy intgre cette page dans son cache. 7. Le client reoit la page demande. Le mcanisme procure deux grands avantages non ngligeables : Une conomie de bande passante d'autant plus grande que le volume de donnes reprsente par l'objet. Le nombre de requte qui pourront tre dtournes vers le cache dpend de plusieurs paramtres comme la dure d'activit du cache, la dure de vie des objets dans le cache, le nombre de clients et de requtes sur le rseau, .
Un gain de temps pour les utilisateurs internet. Effectivement lorsque le cache prend en charge une requte, le dlai d'accs un objet devient celui de la recherche de cet objet dans le cache plus les temps d'accs rseau
2.6.2 Le support des protocoles lis aux caches Le serveur Squid supporte beaucoup de protocoles lis aux caches: ICP, HTCP, CARP, Cache Digests, WCCP. Ces protocoles permettent les changes entre les diffrents caches et ainsi favoriser les flux de donnes les plus proche du site plutt que de solliciter un serveur qui sera peut-tre plus loign et plus lent rpondre qu'un serveur cache.
2.6.3 Acclrateur pour le serveur http (Mode Reverse Proxy) Tout l'intrt de ce service repose sur le cache du serveur Squid . Effectivement, une fois que celui-ci aura enregistr tous les objets possibles du serveur http, la plupart des requtes des clients seront alors traites par le serveur Squid . Ainsi, le serveur http sera beaucoup moins sollicit. Par cette mthode, le serveur web ne sert plus alors qu' traiter les pages dynamiques. Il 27
est possible de multiplier les "Proxy Accelerator" en les faisant communiquer via ICP : (Internet Cache Protocol, protocole de communication inter cache). Cela permet encore d'augmenter la rapidit de rponse et le backup des donnes.
2.6.4 Lauthentification Le serveur proxy Squid permet d'authentifier les clients avant qu'ils accdent la ressource qu'ils demandent. L'authentification marche pour les modes proxy et "httpd accelerator". Il devient alors de plus en plus avantageux d'utiliser Squid en frontale d'un serveur web car ce dernier n'aura assumer que les rles primordiaux de service web dynamique. Voici une liste non exhaustive des quelques principaux protocoles supports par Squid : Basic : Les associations profiles/mots de passe sont stocks dans un fichier. Les mots de passe sont crypts par la fonction crypt dans le fichier. L'authentification circule en clair sur le rseau, les mots de passe tant cod en base64. Digest : Identique la premire mthode, mais les mots de passe sont crypt par la mthode digest avant d'tre mis sur le rseau. LDAP : Permet d'utiliser un serveur LDAP pour authentifier les utilisateurs. NTLM : Permet d'authentifier l'utilisateur en utilisant le protocole de Microsoft NTLM. Les serveurs supports sont samba, Windows NT et Windows 2000. L'authentification est ralise via des excutables externes Squid, chaque protocole d'authentification ayant son propre excutable. Ces programmes authentifiant ont un format d'utilisation trs 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.
2.6.5 Le filtrage 2.6.5.1 Autorisation d'accs par filtrage Le serveur proxy Squid offre la possibilit de filtrer les requtes des clients. Ainsi, il est possible de restreindre l'accs aux ressources en fonction de plusieurs paramtres diffrents. 28
Voici une liste de paramtre pouvant intervenir dans le rejet d'une requte rpondant l'un des critres : L'URL contient un mot interdit. Cela permet de rejeter toute url contenant "Facebook" par exemple. L'adresse IP source/destinataire est interdite. Le domaine de source/destination est interdit ou contient un mot interdit. La date de la demande. Par exemple, Squid peut interdire l'accs Internet durant certaines heures (comme le soir entre 20h et 6h du matin). Le port de destination. Le protocole utilis. Peut permettre de bloquer les transferts FTP par exemple. La mthode utilise. Peut permettre d'empcher les mthodes HTTP comme POST par exemple. Le type du navigateur utilis. Peut permettre d'empcher l'utilisation d'IE par exemple. Ce filtrage est bas sur des ACL. Nous verrons plus loin plusieurs exemples d'utilisation des ACL. Squid n'est capable de filtrer que les requtes de ses clients, pas le contenu de ce qu'il relaye ceux-ci. Attention, le filtrage peut consommer beaucoup de ressource si le proxy est fortement sollicit. Dansguardian est un logiciel libre externe Squid qui permet aussi de restreindre l'accs aux ressources demande par Squid .
2.6.6 La supervision du serveur proxy
Le serveur Squid offre la possibilit d'tre supervis distance via le protocole SNMP. Ainsi, les donnes collectes via ce protocole pourront permettre l'administrateur de visualiser l'tat courant de son proxy, davoir des statistiques d'utilisation, des statistiques sur le cache, sur le temps du processeur consomm, etc... MRTG est un outil bien connus aussi qui peut permettre l'administrateur de construire des pages web sur les statistiques qu'il dsire voir. MRTG est un logiciel libre et puissant. C'est l'outil idal associer avec Squid.
29
2.6.7 Limitations Le serveur proxy Squid n'est pas un Firewall. Il peut limiter les possibilits des clients mais il ne protge pas l'accs aux personnes extrieures au rseau. La gestion du pare feu sous Linux est ralise par Iptables pour les noyaux 2.4.le serveur Squid ne supporte pas tous les protocoles. Il est ainsi incapable de grer les protocoles de news, real audio et de vido confrences. Il est ncessaire d'utiliser d'autres caches applicatifs.
Conclusion : Le serveur proxy peut jouer un rle de cache efficace pour amliorer les dlais de traitements des requtes, et la bonne gestion de bande passante, en plus il peut interdire laccs et rorganiser le trafic qui transite dans les navigateurs. Le serveur proxy Squid donne la possibilit de mettre en place une solution gratuite, avec toutes les fonctionnalits offertes sur les serveurs proxy payants. Dans le chapitre suivant on mettra le point sur les tapes dinstallation de configuration pour un fonctionnement optimale du serveur et les outils dadministration permettant le contrle du serveur et sa maintenance ;ainsi que la mise en production du serveur dans lenvironnement rel de lentreprise .
30
Chapitre 3 :
La mise en place du serveur proxy
Principe de la virtualisation Larchitecture virtuelle Le paramtrage du serveur proxy Squid & Dansguardian Outils dadministration Mise en production
31
Introduction Limplmentation du serveur proxy au rseau local de lentreprise savre trs utile surtout avec la monte grandissante des requtes web, alors pour renforcer lusage des serveurs web et garder plus de rapidit dans la navigation et le traitement de requtes nous allons procder dans ce chapitre limplmentation du serveur proxy Squid , aprs avoir pris pleinement le temps tudier les diffrentes solutions non payantes existantes sur le march. Ce chapitre va reflter la partie pratique voquant en premire tape la conception dune architecture virtuelle comportant le serveur proxy et les diffrents clients ; pour but de configurer et tester les fonctionnalits (partage de bande passante, authentification, contrle daccs) du serveur proxy, par la suite on effectuera le paramtrage du serveur sur le mode adquat (mode transparent) en tenant compte du besoin interne de lentreprise voir le nombres dutilisateur pouvant s y connecter et distinguer les priorits dun groupe par apport lautre pour rpartition de la bande passante et cest le but de notre travail. Pour renforcer la fonction du filtrage, Le serveur proxy Squid fait appel Dansguardian ce programme va nous permettre dutiliser la notion de filtrage de contenu ainsi que le filtrage par groupe ; aprs avoir fini les configurations ncessaires on va entamer les tests de fonctionnements et faire appel certains outils dadministration pour diagnostiquer les performances du serveur proxy Squid et dautres services existant sur la machine . La dernire partie de ce chapitre donnera un aperu sur les tapes de mise en production du serveur proxy dans le rseau local de lentreprise.
3.1 Principe de la virtualisation
Grce la virtualisation, lefficacit et la disponibilit des ressources et applications informatiques sest amlior ; ce qui a permis de minimiser le budget consacr la mise en place des serveurs et dallger la tche des administrateurs qui passent plus de temps grer les serveurs qu innover. Un Datacenter automatis, reposant sur la plate-forme de virtualisation VMware, prouve en production, permet de rpondre de faon plus efficace et plus rapide lvolution du march. 32
Lexploitation de lenvironnement virtuel pour mettre en place un serveur proxy, est un avantage puisquil nous permet de garder le contrle permanent du serveur en augmentant les tests sur les configurations effectues.
3.1.1 Historique :
Historiquement une grande partie des travaux de recherche ont t faites par IBM dans les annes 1960 au centre de recherche de Grenoble aujourdhui ferm. Ils dvelopprent un systme exprimental faisant partie du projet System/360appel VM/CMS (Virtual Machine / Conversation Monitor System). CMS est le systme dutilisation qui sappuie sur VM. Une caractristique de ce premier systme de virtualisation tait le fait que chaque CMS tait attribu un seul utilisateur, sachant que plusieurs CMS fonctionnaient sur la VM. Nous pouvons faire une analogie par rapport la terminologie actuelle entre VM et hyperviseur ainsi quentre CMS et environnement logiciel invit. Le System/360 tait dj capable de grer de la virtualisation rcursive. La finalit de ce produit dIBM tait de pouvoir consolider les postes de travail lis entre eux. La dernire implmentation par IBM de VM est z/VM qui fonctionnait sur les zSeries. Entre la fin des annes 80 et le milieu des annes 90, Commodore International commercialise lAmiga qui est un ordinateur personnel trs populaire lpoque. Il tait aussi bien capable de lancer des pc X386, des Macintoshs 6800 et des solutions X11 en multitches. Suite lAmiga, on trouve des systmes Unix bass sur larchitecture NUMA, qui est une architecture mmoire de systmes multiprocesseurs. Cette architecture consiste cloisonner et partitionner la mmoire, les accs se faisant via de multiples bus, un par processeur. En 1999 VMware proposa un systme propritaire de virtualisation de systmes x86 base de systmes htes x86. Dautres projets libres ont suivi VMware, tels que QEMU, Xen, Bochs, kvm, VirtualBox ainsi que des logiciels gratuits mais propritaires tels que VirtualPC, VMware Server, Virtual Server. Dans les annes 2000 afin damliorer les capacits des solutions de virtualisation, les fabricants de processeurs Intel et AMD ont implment des fonctions de virtualisation dans leurs processeurs permettant la prise en charge de systmes dexploitation non modifis plus efficacement.
33
3.1.2 La scurit :
Les bnfices de la Virtualisation des serveurs en termes de scurit Parmi les bnfices immdiats de la virtualisation des serveurs on peut, entre-autre, identifier les points suivants : isolation, retour arrire et portabilit. La possibilit de configurer des rseaux ddis, permet aux administrateurs de rduire les risques lis la propagation d'une infection virale. Si un programme malicieux est install dans une machine virtuelle, il est relativement facile de la restaurer un tat prcdemment sain. Mme si cela n'est pas toujours possible, ceci est particulirement utile dans le cas de machine virtuelle hbergeant des donnes statiques comme les serveurs web. La relative isolation qui existe entre une machine virtuelle et le serveur hte permet de limiter significativement les dgts causs par des programmes malicieux destins corrompre les donnes d'un systme. Mme si le disque virtuel est totalement corrompu, le disque physique sur lequel il est hberg reste intact. La portabilit des machines virtuelles offre la possibilit de mettre en uvre des processus de restauration et de PRA (plan de reprise dactivit) moindres cots et rduit considrablement le temps ncessaire la remise en route d'un serveur. Elle permet entre autre, de dplacer facilement la charge de travail d'un serveur physique un autre. De nombreuses solutions permettent de dplacer cette charge de travail dans toutes les directions indpendamment des configurations matrielles : Physique vers Virtuelle (P2V) Virtuelle vers Virtuelle (V2V) Virtuelle vers Physique (V2P) Les nouvelles fonctions offertes par la virtualisation permettent de concevoir des systmes capables de basculer automatiquement en cas de dfaillance. Enfin, en consolidant des infrastructures complexes dans des environnements et des rseaux virtuels spars, les administrateurs peuvent configurer des rgles spcifiques chaque environnement et maximiser la scurit. (Environnements de tests, ou de dveloppement, environnements de production).
34
3.1.3 Les risques potentiels de la virtualisation
Comme toute nouvelle technologie, la virtualisation rpond de nombreux besoins et fait apparaitre de nouveaux problmes. Ces risques sont parfois inhrents l'architecture mme de la virtualisation. 3.1.4 L'exploitation des failles L'isolation de la machine virtuelle et du systme hte est remise en cause par certains spcialistes de la scurit. Ces derniers ont en effet dcouverts des problmes d'tanchit entres les machines virtuelles et la machine hte rendant possible dans certain cas l'accs au systme physique. Encore extrmement marginales, ces menaces sont cependant prisent trs au srieux par les diteurs qui n'hsitent pas commander des tudes indpendantes pour amliorer leurs produits. 3.1.5 La rpartition des machines (grille de consolidation) Un des risques les plus importants de la virtualisation vient en partie dans sa raison d'tre, la consolidation. En consolidant la charge de travail de diffrents serveurs sur une mme machine, on augmente la criticit de cette machine. L'impact d'une panne matrielle d'un serveur hte est maximis car elle entrane l'arrt de l'ensemble des services consolid sur cette machine. Mme dans le cas ou des services non critiques ont ts choisis pour la consolidation, leur arrt brutal et simultan peut avoir un impact conjugu important. 3.1.6 La scurit des accs et la formation du personnel D'une manire gnrale, il ne faut pas ngliger l'aspect critique des serveurs de virtualisation. Si une personne non autorise obtient l'accs au serveur, il lui est alors possible de copier lensemble des machines hberges vers une autre destination et ainsi d'obtenir l'ensemble des informations sensibles d'une infrastructure. Imaginons par exemple ce que signifierai la rcupration du disque virtuel d'un des contrleurs de domaine dune organisation. Enfin, des utilisateurs mal intentionns ou maladroits peuvent significativement perturber ou interrompre le service en rebootant le serveur, ou en modifiant des paramtres de configuration. 3.1.7 Le suivi des performances et du service D'un point de vue rpartition des ressources, bien qu'isoles les unes des autres, il est possible pour un programme malicieux d'affecter significativement la charge d'une machine virtuelle et donc d'impacter l'ensemble des performances des machines consolides sur ce serveur. Ceci peut alors provoquer des problmes de performances ou des phnomnes de ping-pong sur les systmes bnficiant d'une rpartition dynamique des ressources paramtres. 35
3.1.8 Lhyperviseur VMware Vsphre : Lhyperviseur VMware Vsphre reprsente le moyen le plus facile pour se familiariser avec la virtualisation et cela gratuitement. Il permet de virtualiss les serveurs et excuter plusieurs applications dans des machines virtuelles, en quelques minutes. La fiabilit, les performances ou encore la comptabilit avec un grand nombre de plates-formes de son architecture constituent un standard du fait sur le march. Lhyperviseur VMware Vsphre offre les avantages suivants : Excution de plusieurs applications sur un mme serveur Gestion dun data center plus respectueux de lenvironnement et baisses des couts gnrales Sauvegarde et restauration simplifies des applications Notre objectif cest dexploiter une machine virtuelle sur VMware pour installer et configurer le serveur proxy, puis exporter cette machine virtuelle comportant le serveur proxy sur lenvironnement Vsphre lenvironnement virtuel existant sur le serveur physique. On dtaillera les tapes dexportation dans la partie de mise en production la fin de ce chapitre. 3.2 Conception sous VMware
Avant de procder linstallation et configuration du serveur proxy, on a fait la conception dune architecture virtuelle permettant de placer le serveur proxy, pour nous permettre dtudier son comportement dans lenvironnement virtuel tout en testant ses fonctionnalits, et danalyser les tests derreurs.
Figure 3.1: Architecture Virtuelle sous VMware 36
Le but de cette architecture est de placer le serveur en passerelle figure 3.1 ; toutes les requtes web seront intercepts par le serveur proxy Squid qui fera le traitement et appliquer les restrictions ncessaires pour le filtrage ,plusieurs types de directives sont configures (voir Annexe) pour mettre les pages en cache afin de diminuer les dlais de rponses, et rpartir la bande passante entre utilisateurs ; dautres fonctionnalits supplmentaire (cache voisin ,cache DNS ) sont configurs pour un fonctionnement optimale du serveur. 3.3 Le paramtrage du serveur proxy
Le serveur proxy squid peut oprer sous deux modes ; le mode transparent et le mode non transparent. Lors de la mise en place, le paramtrage du serveur sur chaque mode part sera trs utile afin de conclure lequel des deux modes sera fonctionnelle au sein du rseau local de lentreprise. 3.3.1 Le serveur proxy en mode transparent On a choisi de paramtrer le serveur proxy en mode transparent puisquil permet de : Mettre en cache les pages les plus visites, afin d'viter de recharger une page qui a dj t visite Forcer les utilisateurs du rseau utiliser un proxy, qu'ils le veuillent ou non. Faire utiliser un proxy a toutes les machines d'un rseau sans avoir configurer chaque application. Bloquer des applications internet (comme les utilitaires de chat) scuriser un rseau qui accde internet en limitant l'accs certaines pages. La figure 3.2 prsente larchitecture rseau du dpartement SAV; savoir quaucun serveur proxy nexistait auparavant les utilisateurs se connecte directement vers internet ; donc ils ne sont soumis aucune rgle de filtrage.
37
Il ya une autre possibilit est de mettre le serveur proxy cette fois-ci comme passerelle pour relier les requtes vers internet, lavantage lors dune panne du serveur il ny aura aucune possibilit daccder internet ; mais le seul inconvnient cest que les utilisateurs du rseau ont besoin de se connecter en permanence, une panne du serveur peut bloquer tout le trafic internet figure 3.3. Pour cette raison on va se baser sur lemplacement du serveur Squid sur le rseau LAN.
Figure 3.3 : Lemplacement du serveur proxy comme passerelle
Le principe du mode transparent est relativement simple : Le rseau est configur avec une passerelle par dfaut et un serveur DNS. Lorsqu'une machine tente d'accder une page internet elle envoie une requte vers le serveur sur le port 80. Cette requte est automatiquement, et de manire invisible intercepte par le proxy. Le serveur proxy relaye la requte sur le serveur de la page internet et stocke la page sur son disque dur. La machine du visiteur croit donc dialoguer avec le serveur internet, mais en ralit, elle ne dialogue qu'avec le serveur proxy. Si une autre machine a dj demand la mme page internet, le proxy va pouvoir lui fournir depuis son disque dur (aprs avoir tout de mme vrifi que la page internet n'a pas subi de modification), vitant ainsi toute attente, et sans que l'utilisateur ne s'aperoive de quelque chose. Les requtes sont interceptes par le routeur laide du protocole WCCP. Figure 3.2 : L emplacement du serveur sur le rseau LAN 38
3.3.2 Le protocole WCCP (Web Cache Coordination protocole) Cest un protocole de routage de contenue dvelopp par Cisco, il fournit un mcanisme de redirection de flux en temps rel, il a des fonctionnalits intgres de rpartition de charge, dvolutivit, de tolrance de panne et de garantie de service (failsafe).La figure 3.4 illustre le principe de fonctionnement.
Figure 3.4 : principe de fonctionnement du protocole WCCP
Le serveur proxy Squid envoi des paquets WCCP vers le routeur toutes les 10 secondes pour prvenir le routeur que le proxy fonctionne et prt pour recevoir des requtes Web, savoir que le routeur Cisco peut supporter plusieurs serveur proxy la fois. Le client envois une requte pour charger une page web, la requte est directement rediriger vers le routeur qui prend en charge la requte (1), lencapsule dans un paquet GRE et la transmet au serveur proxy sur le port 2048 en utilisant le protocole UDP (2). Le system dexploitation Centos ds-encapsule le paquet GRE et envois la requte directement au serveur proxy Squid en appliquant lopration NAT sur le paquet, il faut prendre en considration que le serveur proxy reoit le paquet avec ladresse original source et destination (2). Le serveur proxy Squid accde la page web depuis le serveur web (3) en utilisant son adresse IP comme source et ladresse IP original pour la destination. 39
Le moment ou le serveur proxy Squid chargera la page depuis le serveur web, il mettra la page en mmoire cache, et rpond aux requtes clients directement sur le rseau locale (4) Donc, lactivation du protocole WCCP ncessite la configuration du routeur Cisco (voir Annexe) qui supporte cette fonctionnalit et le serveur proxy Squid sera configur par la suite pour activer ce protocole. Par la suite on doit intervenir au niveau pare-feu sous linux pour mettre un ensemble de rgles. 3.3.3 Iptables :
Le rle dIptables est conu pour mettre les rgles dans le pare-feu, un ensemble de table qui contient une chaine de caractre compose dun ensemble de rgles. Le serveur proxy Squid et Iptables sur la mme machine Cette mthode est la plus simple mettre en uvre : elle tient en une ligne, par contre, elle est moins scurise car le serveur proxy est accessible directement via le port TCP 3128. Un petit malin peut parfaitement utiliser un tunnel http pour utiliser ses applications favorites Pour activer le proxy transparent il suffit de taper la ligne suivante : Iptables t Nat A PREROUTING i eth0 s 192.168.1.0/24 p tcp dport 80 j REDIRECT to-port 3128 Afin d'viter les problmes si un serveur web accessible depuis internet tourne sur la machine en question d'utiliser la ligne suivante (le rseau est en 192.168.1.x) Cette ligne provoque le mme effet que la ligne prcdente, la diffrence qu'elle restreint son action uniquement au rseau local et cela permet dviter les problmes si un serveur web est accessible. Avec la ligne cite prcdemment, les machines clientes de notre rseau local qui tentent d'accder par exemple www.google.com sur le port 80 seront tout simplement rediriges sur le serveur proxy http. Mais par contre, des programmes comme Ping, Telnet, ou autres SSH ne fonctionnent pas, et donc par consquent, toutes les applications de type peer2peer sont galement bloques. Par dfaut, Squid ne permet pas de faire du proxy transparent avec du ftp.
40
3.3.4 Ajouter un serveur DNS Le serveur DNS (relayant les requtes DNS locales sur internet) est ncessaire sur le rseau local afin que les machines visiteuses connaissent le chemin emprunter, et qu'elles passent donc par le routeur par dfaut, qui le serveur proxy Squid . Ce serveur DNS peut tre le mme que le proxy pour simplifier les choses. Une configuration rapide de dnsmasq permet de monter un relai DNS en un rien de temps, il suffit dajouter la directive dnsmasq avec les adresses IP des serveurs DNS sur le fichier de configuration /etc/Squid/Squid.conf.
3.3.5 Le serveur proxy Squid en mode non transparent La configuration du serveur proxy Squid en mode non transparent permet aux clients daccder au serveur proxy et cela en configurant leurs navigateurs figure 3.5.
Figure 3.5 : Capture dcran de la configuration manuelle des clients Il faut spcifier ladresse du serveur proxy et le port pour sy connecter, la configuration du fichier /etc/Squid/Squid.conf est la mme (Voir Annexe) sauf dans ce mode on ne spcifie pas transparent avec le numro de port. Lors du passage par le serveur proxy Squid , ce dernier bloque par default tous les accs comme le montre la figure 3.6
41
Figure 3.6 : Capture d'cran du message d'erreur du serveur proxy Le serveur proxy Squid est en mesure de faire du filtrage dans les deux modes ; mais pour lentreprise le mode transparent reste le meilleur choix. Pour forcer la fonction de filtrage le serveur proxy fait appel un programme appel Dansguardian qui permettra un filtrage de contenu ou par groupe. 3.4 Dansguardian et le serveur proxy Squid 3.4.1 Dfinition : Dansguardian est une extension pour Squid, puissante destine filtrer le contenu transitant entre l'Internet et la machine du client. Dansguardian se base sur plusieurs mthodes paramtrables pour dterminer si une page doit tre bloque parmi elles, un systme de pondration dtecte des mots interdits dans une page, et lui assigne un score en fonction de la gravit et du nombre de mots dtects. Dansguardian bloque alors les pages dont le score dpasse un certain seuil. Dansguardian peut galement se fier des listes noires d'URL . 3.4.2 Historique Dansguardian est un script crit en C++ compatible avec la plupart des distributions Linux. Dvelopp principalement par Daniel Barron qui est galement le crateur de Dansguardian, la communaut s'est agrandit avec l'adhsion de plusieurs personnes venant soutenir activement le dveloppement du logiciel. Ainsi une premire version de Dansguardian (v.0.5.0) dite alpha, c'est- -dire stabilise au niveau de la scurit mais pouvant comporter quelques bogues mineures, est apparue le 14 janvier 2001. Ds lors, des correctifs ont t publis 42
au quotidien afin de corriger quelques bogues sur la version de base - modifier le code - ajouter de nouvelles fonctionnalits 3.4.3 Fonctionnalit Dansguardian peut tre utilis seul ou coupl avec un serveur proxy cache tel que Squid . Le but de Dansguardian est d'analyser le contenu qui lui est soumis par les stations clientes afin d'en autoriser et refuser l'accs
Figure 3.7 : Schma de fonctionnement de Squid avec Dansguardian [10]
(1) Le client envois la requte vers internet via le serveur proxy configur (lauthentification nexiste pas sur un serveur proxy transparent) (2) Le serveur proxy Squid authentifie lutilisateur (3) Le serveur communique lutilisateur authentifi et la requte Dansguardian sur le port 8081. Dansguardian analyse la requte en se rfrant sa liste pour voir sil sagit dune adresse URL autoris si cest le cas il renvois la requte vers Squid sur le port 3128 ou 3129 (4) Le serveur proxy interroge le serveur web (5) Le serveur proxy Squid transmet les rponses du serveur web directement Dansguardian sur le port 8081.Dansguardian renvois le rsultat au serveur proxy aprs avoir fait lanalyse (6) Le serveur proxy envoi la rponse lutilisateur.
43
3.4.4 Installation
Pour pouvoir installer et utiliser correctement Dansguardian le serveur doit obligatoirement fonctionn sous Linux, FreeBSD, Open BSD, Net BSD, Mac OS X, Solaris, 3 MOctets suffit pour lancer le program .il faut prendre en considration que le fonctionnement de Dansguardian ncessite un serveur proxy pour sactiver . Sous Ubuntu : #Apt-get Install Dansguardian Sous Centos RedHat : #Yum Install Dansguardian 3.4.5 Configuration Dansguardian La premire tape consiste configurer le fichier de configuration de base /etc/dansguardian.conf
Figure 3.8: Capture dcran de la configuration de Dansguardian
A savoir que Dansguardian coute sur le port 8080, toutes les requtes vont tre redirig vers ce port en premier niveau, pour lenvoyer par la suite au port du serveur proxy, ladresse du serveur proxy Squid est ncessaire pour dmarrer Dansguardian , ce dernier permet aussi de faire les journalisations de requtes gnrs par les utilisateurs. Aprs la configuration de toutes les restrictions, on dmarre Dansguardian par la commande suivante : #Service Dansguardian Start 44
Figure 3.9: Capture d'cran du message de blocage de "Dansguardian"
Le serveur Web Apache est la rfrence sur le march des serveurs Web (environ 54%) et fonctionne sur un large ventail de plates-formes (Windows, Mac, Linux...). De plus, les logs sont trs complets et facilement configurables, Apache est aussi capable de faire tourner pratiquement n'importe quel langage de script dynamique. 3.4.6 Clamav antivirus Clamav est un antivirus ddi pour UNIX.la principale qualit de cet antivirus est quil permet de balayer les courriers envoys et reus, le but est de lassocier avec le serveur proxy Squid et Dansguardian pour dfinir les virus susceptible de sinfiltrer sur les machines du rseau. Installation : On lance linstallation par la commande suivante : #Yum Install clamav Pour lutilisation dune interface graphique de lantivirus : #Yum Install clamtk Aprs linstallation, on peut disposer de linterface: figure 3.10
45
Figure 3.10: Capture d'cran de l'interface clamav
Editer le fichier /etc/freshclamv : La configuration de ce fichier nous permettra dassocier lantivirus au serveur proxy : #httpproxyport 3128 (port du serveur proxy) Mise jour automatique Pour que a se mette jour automatiquement, on cre une nouvelle tche quotidienne #gedit /etc/cron.daily/clamav Une fois lditeur de texte lanc, on y met les lignes suivantes avant de sauvegarder le fichier : /usr/bin/freshclamv >> /var/log/resul_freshclam.txt Ensuite, nouveau dans le terminal, on y met les droits dexcution. Pour les tests et lancement de serveurs (voir Annexe). 3.5 Outils dadministration
3.5.1 Webmin : Webmin est une interface web, qui permet d'administrer distance tous les serveurs (Squid, apache, Dansguardian) et les services existant sur la machine. Certains modules devant tre ajouts pour activer ladministration et le contrle des serveurs. Pour accder linterface il suffit daccder lurl http://localhost:10000 ou bien http://192.168.1.9:10000 ladresse ip de la machine. La figure 3.11 donne un aperu sur la page daccueil de Webmin . 46
Figure 3.11 : Capture d'cran de la page du login Webmin
Aprs authentification on accde aux diffrents modules et serveurs prise en charge par Webmin, la figure 3.11 prsente les diffrents modules concernant le serveur proxy Squid quon peut grer et configurer la fois.
Figure 3.12 : Capture d'cran de la page d'administration du serveur proxy
Afin de permettre un contrle permanent du serveur proxy, voir ltat du cache et le trafic transitant par le serveur ; il faut consulter les statistiques concernant le cache et cela est prise en charge par le rapport dannalyse de squid.
47
3.5.2 SARG
SARG (Squid Analyses Report Generator) est un module pour Webmin qui gnre des rapports sur les logs de navigation internet des utilisateurs et qui permet de les retrouver facilement. Il va nous permettre ainsi de vrifier les vnements de connexion des clients en analysant les logs partir du fichier /Etc/Squid/acces.log.
Figure 3.13 : Capture dcran du rapport de trafic La journalisation des activits effectues par les utilisateurs est enregistre ce qui permet didentifier quels types de traffics est gnrs par et les donnes mises en cache, le dbit de connexion. Voir figure 3.14
Figure 3.14 : Capture dcran des sites consults par un utilisateur 48
3.6 Mise en production sur le rseau de lentreprise
On a procd lors de la mise en production lexportation de la machine virtuelle sur laquelle on a configur et test le serveur proxy pour limplmenter dans lenvironnement virtuel existant sur le serveur physique du rseau local et cela suivant trois tapes :
3.6.1 Installation de Vsphre client
VMware Vsphre Client est l'outil de VMware pour administrer et grer VMware Vsphre ainsi que tous les serveurs de virtualisation (ESX et ESXi). On va installer cet outil pour pouvoir accder au serveur distant, une fois linstallation termin on aura une fentre qui apparait figure 3.16, pour accder par la suite au serveur de lentreprise il suffit de mettre ladresse IP du serveur suivi du mot de passe.
Figure 3.15: Capture dcran de Vsphre client Une fois authentifi, on accdera lenvironnement Vsphre et on pourra voir toutes les machines virtuelles existantes, lespace disque occup par ses machines ainsi que les capacits CPU quutilisent chaque machine virtuelle figure 3.17. 49
Figure 3.16 : Capture dcran de lenvironnement Vsphre
3.6.2 Dploiement du serveur proxy
Avant dexporter la machine virtuelle du serveur proxy, on doit tout dabord connaitre les ressources disponibles (espace disque et RAM) pour ne pas avoir de contrainte ou bien non disponibilit de ressource au moment de la migration. On va ddier au serveur proxy 4 GB de mmoire, elle sera exploiter par le cache mmoire donc elle sera suffisante puisque tous les objets du cache non utiliss seront supprim lors des mises jour .Un espace disque de 15 GB sera utilis pour stocker les fichiers systmes et les bases donnes des utilisateurs. Pour exporter la machine virtuelle, il faut dployer un modle OVF comme le montre la figure3.18, puis exporter la machine virtuelle.
50
Figure 3.17 : Capture dcran du dploiement de la machine virtuelle Lors du dploiement il se peut de rencontrer des erreurs de non compatibilit du matriel, dans ce cas il faut convertir la machine virtuel laide de loutil VMware Converter Standalone. Une fois exporter sans erreur le dploiement se fait avec succs figure 3.19.
Figure 3.18 : Capture dcran de la fin dexportation
3.6.3 La mise en service Cette dernire tape consiste dmarrer le serveur proxy Squid sur le serveur ainsi que tous les services existant sur la machine virtuelle (Apache, Dansguardian, Webmin ) et par la suite des tests seront effectus par les utilisateurs du rseau local, et confirmer Pour assurer le bon fonctionnement du serveur, on clonera la machine virtuelle contenant le serveur proxy comme solution de backup et dclencher son dmarrage lorsquil y a interruption ou panne de la machine virtuelle en cours.
51
Conclusion Le serveur proxy Squid rempli parfaitement le besoin de lentreprise concernant la rpartition de bande passante entre utilisateurs et le filtrage de contenu, la mise en cache des pages ,le serveur proxy peut parfaitement tre configurs dans les deux modes transparent ou non transparent pour relayer les requtes sur internet ,ce quil faut bien tenir en compte disposer de plus de mmoire RAM pour garantir un fonctionnement optimale du serveur . A savoir le serveur proxy seule dans un rseau local nassure pas totalement la scurit puisque le risque dintrusion et dtournement reste toujours valable, donc pour renforcer et augmenter le niveau de scurit du rseau local de lentreprise un dispositif hautement recommandable appel Firewall jouera le rle de passerelle ou bien mur entre le rseau local et le rseau externe .le chapitre prochain sera consacr ltude et la mise en place de ce dispositif.
52
Chapitre 4 :
Etude et mise en place dun firewall IPCOP
Introduction Gnralit sur les firewalls Les fonctionnalits dun firewall Firewall Ipcop Conclusion
53
Introduction Les attaques informatiques constituent aujourdhui lun des flaux de notre civilisation moderne. Il ne se passe plus une semaine sans que lon apprenne que telle entreprise ou tel institut a essuy de lourdes pertes financires en raison dune dficience de la scurit de son systme dinformation. La scurit informatique est l'ensemble des moyens techniques, organisationnels, juridiques et humains ncessaires et mis en place pour conserver, rtablir, et garantir la scurit des systmes informatiques. La scurit informatique vise gnralement cinq principaux objectifs : -Disponibilit : permettant de maintenir le bon fonctionnement du systme d'information. -Confidentialit : consistant assurer que seules les personnes autorises aient accs aux ressources changes. -Intgrit : c'est--dire garantir que les donnes sont bien celles que l'on croit tre. -Authentification : consistant assurer que seules les personnes autorises aient accs aux ressources.
4.1 Lutilit dun firewall De nos jours, la plus part des entreprises possdent de nombreux postes informatiques qui sont en gnral relis entre eux par un rseau local. Ce rseau permet d'changer des donnes entre les divers collaborateurs internes l'entreprise et ainsi de travailler en quipe sur des projets communs. La possibilit de travail collaboratif apporte par un rseau local constitue un premier pas. L'tape suivante concerne le besoin d'ouverture du rseau local vers le monde extrieur, c'est dire internet. En effet, une entreprise n'est jamais compltement ferme sur elle- mme. Il est par exemple ncessaire de pouvoir partager des informations avec les clients de l'entreprise. Ouvrir l'entreprise vers le monde extrieur signifie aussi laisser une porte ouverte divers acteurs trangers. Cette porte peut tre utilise pour des actions qui, si elles ne sont pas contrles, peuvent nuire l'entreprise (piratage de donnes, destruction,...). Les mobiles pour effectuer de telles actions sont nombreux et varis : attaque visant le vol de donnes, passe- temps, ... Pour parer ces attaques, une architecture de rseau scurise est ncessaire. L'architecture devant tre mise en place doit comporter un composant essentiel qui est le firewall. Cet outil a 54
pour but de scuriser au maximum le rseau local de l'entreprise, de dtecter les tentatives d'intrusion et d'y parer au mieux possible. Cela permet de rendre le rseau ouvert sur Internet beaucoup sr. De plus, il peut galement permettre de restreindre l'accs interne vers l'extrieur. En effet, des employs peuvent s'adonner des activits que l'entreprise ne cautionne pas, comme par exemple le partage de fichiers. En plaant un firewall limitant ou interdisant l'accs ces services, l'entreprise peut donc avoir un contrle sur les activits se droulant dans son enceinte. Le firewall propose donc un vritable contrle sur le trafic rseau de l'entreprise. Permet d'analyser, de scuriser et de grer le trafic rseau, et ainsi d'utiliser le rseau de la faon pour laquelle il a t prvu. Tout ceci sans l'encombrer avec des activits inutiles, et d'empcher une personne sans autorisation d'accder ce rseau de donnes. 4.1.1 Protection firewall se fait contre On utilise les firewalls pour pouvoir se protger contre : -les curieux -les vandales -les espions -Restreindre le nombre des machines surveiller et administrer sur le bout des doigts -Avoir la possibilit de mettre en uvre des outils spcifiques que l'on ne pourrait pas activer sur tous les systmes -Avoir un point de passage oblig pour : vrifier si les rgles de scurit spcifies dans la politique de scurit de ltablissement sont rellement celles qui sont applique -contrler le trafic entre le rseau interne et externe -auditer/tracer de faon "centrale" ce trafic et aider prvoir les volutions du rseau (statistiques possibles). 4.1.2 Critres de choix dun firewall Afin de choisir la meilleure solution ou bien le meilleur firewall on se base sur les critres suivants : -Moyens dadministration (interface, accs distants, ...). -Niveau de dtails des rgles de filtrage. -Audit des rgles de filtrage et des journaux (consistance des rgles, vrification des sauvegardes et de leur intgrit, ...). 55
-Ractions en cas de problmes (perte dun lien de connexion, intgrit de la base des rgles de filtrage...). -Interfaage possible avec dautres quipements de scurit (IDS, anti-virus, authentification dutilisateur, ...). -Vulnrabilits et mise jour des correctifs. -Certifications de scurit.
Figure 4.1 : schma dun firewall [15]
4.2 Les diffrentes catgories de firewall Depuis leur cration, les firewalls ont grandement volu. Ils sont effectivement la premire solution technologique utilise pour la scurisation des rseaux. De ce fait, il existe maintenant diffrentes catgories de firewall. Chacune d'entre-elles disposent d'avantages et d'inconvnients qui lui sont propre. Le choix du type d'un type de firewall plutt qu'un autre dpendra de l'utilisation que l'on souhaite en faire, mais aussi des diffrentes contraintes imposes par le rseau devant tre protg. 4.3 Firewall sans tats (stateless) Ce sont les firewalls les plus anciens mais surtout les plus basiques qui existent. Ils font un contrle de chaque paquets indpendamment des autres en se basant sur les rgles prdfinies par l'administrateur (gnralement appeles ACL, Access Control Lists). Ces firewalls interviennent sur les couches rseau et transport. Les rgles de filtrages s'appliquent alors par rapport une d'adresses IP sources ou destination, mais aussi par rapport un port source ou destination. Les limites : Lors de la cration des rgles de filtrage, il est d'usage de commencer spcifier que le firewall ne doit laisser passer aucun paquet. Ensuite, il faut ajouter les rgles permettant de 56
choisir les flux que nous souhaitons laisser passer. Il suffit alors autoriser l'ouverture des ports des serveurs doivent tre accessible depuis l'extrieur. Mais les connexions des postes vers l'extrieur poseront problmes. Effectivement, il faudrait autoriser les ports utiliss par les postes clients lors des connexions vers les serveurs, ceci implique donc d'ouvrir tous les ports suprieurs 1024. Ceci pose donc un rel problme de scurit. Il n'est pas possible non plus de se prserver des attaques de type ip-spoofing (technique consistant se faire passer pour une machine de confiance) ou SYN Flood (surcharge de demande de connexion sans attente de la rponse). Les rgles de filtrage de ces firewalls sont bases que sur des adresses IP, il suffit donc au pirate de trouver les rgles de ce firewall pour pouvoir utiliser cette technique de piratage. Une solution pour se protger des attaques de type ip-spoofing est de mettre en place une rgle interdisant les paquets provenant du rseau extrieur dont l'adresse IP source correspond une adresse valide du rseau local. 4.4 Firewall tats (stateful) Les firewalls tats sont une volution des firewalls sans tats. La diffrence entre ces deux types de firewall rside dans la manire dont les paquets sont contrls. Les firewalls tats prennent en compte la validit des paquets qui transitent par rapport aux paquets prcdemment reus. Ils gardent alors en mmoire les diffrents attributs de chaque connexion, de leur commencement jusqu' leur fin, c'est le mcanisme de stateful inspection. De ce fait, ils seront capables de traiter les paquets non plus uniquement suivant les rgles dfinies par l'administrateur, mais galement par rapport l'tat de la session : NEW : Un client envoie sa premire requte. ESTABLISHED : Connexion dj initie. Elle suit une connexion NEW. RELATED : Peut-tre une nouvelle connexion, mais elle prsente un rapport direct avec une connexion dj connue. INVALID : Correspond un paquet qui n'est pas valide. Les attributs gards en mmoires sont les adresses IP, numros de port et numros de squence des paquets qui ont travers le firewall. Les firewalls tats sont alors capables de dceler une anomalie protocolaire de TCP. De plus, les connexions actives sont sauvegardes dans une table des tats de connexions. L'application des rgles est alors possible sans lire les ACL chaque fois, car l'ensemble des paquets appartenant une connexion active seront accepts. Un autre avantage de ce type de firewall, se trouve au niveau de la protection contre certaines attaques DoS comme par exemple le Syn Flood. Cette attaque trs courante consiste envoyer en masse des paquets de demande de connexion (SYN) sans en attendre la rponse (c'est 57
ce que l'on appel flood). Ceci provoque la surcharge de la table des connexions des serveurs ce qui les rend incapable d'accepter de nouvelles connexions. Les firewalls stateful tant capables de vrifier l'tat des sessions, ils sont capables de dtecter les tentatives excessives de demande de connexion. Il est possible, en autre, ne pas accepter plus d'une demande de connexion par seconde pour un client donn. Un autre atout de ces firewalls est l'acceptation d'tablissement de connexions la demande. C'est dire qu'il n'est plus ncessaire d'ouvrir l'ensemble des ports suprieurs 1024. Pour cette fonctionnalit, il existe un comportement diffrent suivant si le protocole utilis est de type orient connexion ou non. Pour les protocoles sans connexion (comme par exemple UDP), les paquets de rponses lgitimes aux paquets envoys sont accepts pendant un temps donn. Par contre, pour les protocoles fonctionnant de manire similaire FTP, il faut grer l'tat de deux connexions (donne et contrle). Ceci implique donc que le firewall connaisse le fonctionnement du protocole FTP (et des protocoles analogues), afin qu'il laisse pass le flux de donnes tabli par le serveur. Les limites : La premire limite de ce type de firewall ce situe au niveau du contrle de la validit des protocoles. Effectivement, les protocoles maisons utilisant plusieurs flux de donnes ne passeront pas, puisque le systme de filtrage dynamique n'aura pas connaissance du fonctionnement de ces protocoles particuliers. Ensuite, il existe un cot supplmentaire lors de la modification des rgles du firewall. Il faut que les firewalls rinitialisent leurs tables tat. Pour finir, ce type de firewall ne protge pas contre l'exploitation des failles applicatives, qui reprsentent la part la plus importante des risques en termes de scurit. 4.5 Firewall IPCOP IPCOP est distribu sous la licence GPL, ce qui signifie en dautres termes que le logiciel est distribuable gratuitement. IPCOP est une passerelle qui intgre un pare-feu. Cest une distribution linux faite pour protger un rseau des menaces dInternet et surveiller son fonctionnement. IPCOP est gratuit, il est tlchargeable sous forme dun fichier image graver sur cd. 4.6 Fonctionnement du firewall IPCOP IPCOP permet de fonctionner sous plusieurs configurations possibles : Partage dune connexion Internet : IPCOP sert alors de passerelle entre Internet et le rseau interne. 58
Partage dune connexion Internet avec une DMZ (zone dmilitarise) : IPCOP sert de passerelle et gre une DMZ (il faut donc 3 interfaces rseau). Les serveurs dans la DMZ doivent tre en IP fixes, il suffit ensuite de configurer IPCOP pour quil route les demandes venant dInternet vers les serveurs adapts selon les ports. Partage dune connexion Internet + DMZ + point daccs wifi: IPCOP peut grer des clients wifi, ils sont spars du rseau interne. Dans la philosophie IPCOP, les zones sont schmatises par des couleurs : Interfaces rseau : Quatre interfaces rseau sont dfinies par IP Cop : ROUGE, VERTE, BLEUE et ORANGE. Interface rseau ROUGE : Ce rseau correspond l'Internet ou tout autre rseau considr non sr. Le but premier d'IPCop est de protger les autres rseaux (VERT, BLEU et ORANGE) et les ordinateurs qui leurs sont rattachs du trafic provenant de ce rseau ROUGE. Votre mthode de connexion et votre matriel actuel serviront la connexion ce rseau. Interface rseau VERTE : Cette interface est relie aux ordinateurs qu'IPCop doit protger. Il s'agit en rgle gnrale d'un rseau local. Cette interface utilise une carte rseau Ethernet dans la machine IPCop. Interface rseau BLEUE : Ce rseau optionnel vous permet de regrouper vos priphriques sans fil sur un rseau spar. Les ordinateurs de ce rseau ne peuvent accder au rseau VERT sauf par le biais d'illetons ( pinholes ) volontairement tablis, ou par le biais d'un VPN. Cette interface utilise une carte rseau Ethernet dans la machine IPCop. Interface rseau ORANGE : Ce rseau optionnel vous permet d'isoler sur un rseau spar vos serveurs accessibles au public. Les ordinateurs relis ce rseau ne peuvent accder aux rseaux VERT ou BLEU, moins que vous n'tablissiez volontairement un illeton ( DMZ pinholes ). Cette interface utilise une carte rseau Ethernet dans la machine IPCop.
59
Figure 4.2 : les zones Ipcop sont schmatises par des couleurs [2] 4.7 Les services offerts par IPCOP Le firewall IPCOP offre plusieurs services Interface web pour l'administration et la configuration dIPCOP en franais. Affichage de l'tat du systme et graphiques CPU/Mmoire/Disque/trafic sur priode journalire/semaine/mois/anne. Accs aux logs par interface web : du systme, de la connexion vers Internet, du proxy, du firewall, de la dtection des tentatives d'intrusion. Mise jour d'IPCOP par l'interface web. Possibilit d'utiliser une DMZ avec gestion des accs. Arrt/Redmarrage distance. Systme de dtection d'intrusion (interne et externe). Support VPN pour relier des rseaux distants entre eux ou se connecter distance avec un poste. Possibilit de scuriser un rseau sans fil Sauvegarde de la configuration du systme sur disquette. Arrt/Redmarrage distance.
4.8 Installation IPcop IPCOP est disponible en tlchargement dans la section download du site www.IPCOP.org. IPCOP est disponible sous forme de fichier source compiler et sous forme dune image graver sur un cd. Pour installer IPCOP, le plus simple est de tlcharger limage de sa version la plus rcente puis de la graver sur un cd. Le cd, une fois grav, est un cd bootable. Dabord il faut sassurer que le disque dur ne contient aucune information importante car IPCop va tout supprimer. une fois le cd insr lcran suivant apparait aprs le dmarrage Il faut cliquer sur entrer pour commencer linstallation. 60
Ensuite, il faut simplement suivre les instructions. Dans notre cas on va configurer IPcop avec seulement deux interfaces une verte qui est lie au rseau interne et une autre interface rouge qui sera lie au routeur videment rseau internet.
Figure 4.3 :installation IPcop [16]
Aprs linstallation dIPcop on doit par la suite configurer les zones, puisquon a deux zones colores une verte et une rouge on doit configurer les deux. 4.9 Configuration de lIPcop Il existe plusieurs architectures et on peut choisir celle qui nous convient par exemple : Allez dans Type de configuration rseau pour choisir larchitecture du rseau. Voici les possibilits proposes : - GREEN (RED is modem/ISDN) - GREEN + ORANGE (RED is modem/ISDN) - GREEN + RED - GREEN + ORANGE + RED - GREEN + BLUE (RED is modem / ISDN) - GREEN + ORANGE + BLUE (RED is modem/ISDN) - GREEN + BLUE + RED Comment [u1]: 61
- GREEN + ORANGE +BLUE + RED Dans notre cas on va configurer et la zone verte et la zone rouge commenant tout dabord par la zone verte ou bien appele green
Figure 4.4 : configuration de la zone verte [2]
On choisit loption GREEN + RED Ensuite on passe la configuration de ladressage IP pour la zone verte + rouge Interface RED : IP : 192.168.1.2/255.255.255.0 Passerelle : 192.168.1.254 Serveur DNS : 8.8.8.8 Linterface Green est configure auparavant : 192.168.1.1/255.255.255.0 Les mots de passe des comptes root et admin vous seront ensuite demands, le compte root a la possibilit de se connecter en local ou en SSH lIPCop tandis que le compte admin permet daccder linterface web dadministration de celui-ci.
Administration dIpcop : Afin dadministrer Ipcop On peut dsormais accder linterface web dIPCop en entrant lune des adresses suivantes partir de nimporte quel poste prsent sur linterface GREEN : 192.168.1.1:81 192.168.1.1:445
On clique sur Connexion dans linterface web pour activer le trafic internet :
62
Figure 4.5 : linterface web dIpcop [2]
Juste aprs cette tape un nom dutilisateur et un mot de passe seront alors demands, le nom dutilisateur est ici admin et le mot de passe correspond celui quon a dfini pendant linstallation.
Figure 4.6: configuration Ipcop [2] Nous allons maintenant activer laccs SSH. Pour le faire on va sur onglet systme puis accs SSH et on coche le reste des cases de cette fentre puis on enregistre. Comme le montre la figure 4.7. 63
Figure 4.7 : activer SSH [2] 4.10 Les diffrents menus de configuration Dans linterface Ipcop il existe sept menus : menu systme, rseau, tat, service, pare-feu et VPN et journaux.
4.10.1 Menu systme : Le menu systme contient des sections pour configurer IPCOP, et linterface web : Section Accueil : Cest la premire page affich lorsquon accde linterface dIPCOP. Cette page permet principalement de connecter/de connecter la passerelle dInternet. Section Mise jour : permet de savoir si une mise jour est disponible. Si une mise jour est disponible, il suffit de la tlcharger et de la transfrer IPCOP grce cette mme Section. Section Mot de passe : permet de changer le mot de passe de lutilisateur admin (qui est ladministrateur dIPCOP) et le mot de passe de lutilisateur Dial (utilisateur qui a Simplement le droit de connecter/dconnecter Internet dans le cas dune connexion par modem. Section Accs SSH : permet dactiver ou de dsactiver le serveur SSH sur la passerelle. Le serveur SSH peut tre utile pour faire des choses quon ne peut pas faire directement sur le site web dIPCOP (ex : changer une ladresse IP dune interface). 64
Section Interface graphique : permet de choisir la langue des pages web et dactiver/dsactiver les menu droulant pour les navigateurs non compatibles avec JavaScript. Section Sauvegarde : permet de sauvegarder ou de restaurer sa configuration dIPCOP. Il est aussi possible deffectuer une sauvegarde sur disquette pour restaurer cette configuration lors dune rinstallation complte dIPCOP. Section Arrter : permet darrter et de redmarrer la passerelle. Section Crdits : pour contacter les auteurs dIPCOP.
4.10.2 Menu tat :
On trouve dans ce menu des informations sur ltat du systme : Section Etat du systme : permet de connatre ltat de tous les services ainsi que lutilisation de la mmoire et disque. Section Etat du rseau : permet de visualiser ladresse IP des interfaces rseau, de voir les clients DHCP et les tables de routages. Section Graphiques systme : permet de visualiser sous forme de graphique lutilisation du processeur, de la mmoire et du disque dur sur les dernires 24 heures, le dernier mois, la dernire semaine, le dernier mois ou la dernire anne. Section Courbes de trafics : permet de visualiser sous forme de courbes le trafic sur chaque interface (sur chaque zone) sur les dernires 24 heures, le dernier mois, la dernire semaine, le dernier mois ou la dernire anne. Section Graphes du proxy : donne des graphiques sur lutilisation du serveur mandataires. Section Connexion : permet de visualiser le connections en cours sur la passerelle. 4.10.3 Menu rseau Ce menu est ddi la configuration du modem RTC ou ADSL (si vous avez un routeur, ce menu nest pas utile) : Section Chargement : permet de tlcharger les drivers pour faire fonctionner certains modems. Section Modem : permet de modifier les commandes pour les modems RTC. 4.10.4 Menu service Cest ici quon configure tous les services de la passerelle : Section Serveur Mandataire (proxy) : permet de configurer le serveur mandataire (qui correspond au proxy web et au cache DNS). 65
Section Serveur DHCP : permet de configurer le service DHCP de la zone verte (et bleu si il y en a une). Section DNS Dynamique : permet de mettre en place un client pour mettre jour udns dynamique (type dyndns.org, no-ip.com, ). Section Htes statiques : permet dajouter des htes avec ip statiques. Section Serveur de temps : permet la passerelle dtre un client NTP dun part et dtre un serveur NTP pour le rseau interne dautre part (attention : le serveur NTP met quelques heures avant de fonctionner). Section Lissage de trafic : permet de limiter les dbits montant et descendant des clients qui vont sur internet. On peut aussi, donner des priorits diffrentes selon les services pour faire de la qualit de service. Section Dtection dintrusion : permet dactiver ou de dsactiver les sondes de dtection dintrusion sur toutes les zones.
4.10.5 Menu pare-feu Ce menu permet de configurer le pare-feu : Section Transferts de port : permet de dfinir des rgles de transfert de port pour donner accs des services dinternet tant sur le rseau interne ou sur la DMZ si il y en a une. Section Accs Externes : permet douvrir des ports pour accder la passerelle dInternet tant. Section Accs la DMZ : (menu qui existe si la zone orange existe) permet douvrir des accs direct entre la DMZ et le rseau interne (dans le sens DMZ -> Lan).
4.10.6 Menu VPN On cre ici les Rseaux Privs Virtuel Section VPNs : permet de crer des vpn (rseau rseau, ou postes rseau).
4.10.7 Menu journaux Ce menu permet daccder tous les journaux gnrs par IPCOP et ses services : 66
Section Configuration des journaux : permet de choisir si les journaux doivent tre affichs dans lordre chronologique et chronologique inverse. On peut aussi choisir denvoyer les journaux sur un serveur syslog et changer le niveau de verbosit. Section Rsum des journaux : cour rsum des journaux du serveur mandataire, du systme, du serveur sshd et de lutilisation du disque. Section Journaux du serveur mandataires : permet de visualiser les journaux du proxy web (la section existe seulement si la journalisation a t active). Section Journaux du pare-feu : permet de visualiser les journaux daccs au pare-feu. Section Journaux IDS : permet de visualiser les tentatives dintrusion dtecte par les sondes du dtecteur dintrusion. Section Journaux systme : permet de visualiser les journaux systmes (systems, dns DHCP, ssh, ntp, )
Conclusion IPCop est un firewall trs puissant capable de rivaliser en performance et en efficacit avec de nombreux firewalls commerciaux. Nous avons vu dans ce document linstallation, la configuration et ladministration en mode graphique trs conviviale et simple utiliser. Il est donc ncessaire de protger les donnes de lentreprise de toute menace venant de lextrieur avec un firewall.
67
CONCLUSION GENERALE
Nous avons prsent dans ce rapport le travail et le projet de fin dtude effectu au sein de Meditel. Ce travail se rsume en la mise en place dune architecture scurise. Nous avons particip dans le cadre de cette monte plusieurs phases essentiellement la phase dtude globale pour avoir une vision panoramique sur la nature de notre projet. Ensuite nous avons entam la partie tude Benchmarking qui nous a permis de faire le choix convenable de la solution propose. Aprs avoir fait une synthse sur le proxy et ses diffrentes fonctionnalits comme le filtrage, le cache, lauthentification. ainsi que le firewall Ipcop qui va nous permettre dinterdire toute menace venant de lextrieur et pouvoir protger le rseau de lentreprise. Nous avons configur notre proxy et firewall selon ce qui a t demand de la part de Mditel. Daprs les statistiques fournies par lquipe de supervision avant de mettre en place la solution on a constat que le taux de tlchargement tait lev ce qui engendre par la suite une saturation de la bande passante. La solution quon a propose a limit lusage de la bande passante en appliquant des rgles de filtrage pour interdire tout type de navigation qui impactera le droulement du travail. La ralisation de notre projet de fin dtudes a t trs enrichissante aussi bien au niveau technique quau niveau humain et relationnel. Durant notre priode de stage nous avons acquis une exprience professionnelle importante ainsi quune aisance relationnelle, deux atouts indispensables pour affronter le monde du travail avec plus de facilit et de confiance. Enfin malgr certaines contraintes, les objectifs fixs au dbut de cette priode de stage ont t atteints. Comme perspectives, il existent dautres nouvelles fonctionnalits pouvant tre ajouts comme lauto-back up et la restriction des pages web en fonction du profil de lutilisateur lors de lauthentification.
Installation & configuration du serveur Proxy Squid
70
1. Installation du serveur proxy
Pour installer le serveur proxy Squid , on a choisi doprer sous le system dexploitation Centos dvelopp par le groupe Centos sortie en 2004, bas sur la distribution RedHat entreprise Linux (RHEL). Chaque Systme dexploitation a ses qualits et ses dfauts. Il faut tout simplement les distinguer et faire ensuite son propre choix par rapport ses besoins et attentes. Voici donc les avantages qui nous ont fait porter notre choix sur cette distribution : Support gratuit. Mises jour applicatives et les patchs de scurit rguliers. Stabilit quasi-quivalente la distribution RedHat utilis dans de gros environnements de production. Cycle de dveloppement suivant celui de RedHat utilis dans de gros environnements de production. Loutil YUM facilitant lexploitation et la gestion des paquets au format RPM. Les sources du serveur Squid sont disponibles sur le site www.Squid-cache.org. .on a choisi dinstaller la version 3.1 cest une version ou plusieurs corrections ont t rapports. Une fois le fichier rapatri du site, il faut tapez les commandes suivantes :
tar zxvf Squid-3.1.tar.gz Cd Squid-3.1 . /configure Make Make Install
71
2. Configuration du serveur
Lobjectif de la configuration est de tester les fonctionnalits et optimiser le fonctionnement du serveur en tenant compte des besoins de lentreprise (Acclrer la navigation, partage de bande passante, mise en cache des pages, limiter laccs certains sites). Le serveur proxy Squid se configure via un unique fichier /etc/Squid/Squid.conf celui-ci est charg au lancement du serveur. Problmatique : Le dpartement SAV de Mditelecom rclame que les navigations sur les pages web sont trs lentes, le serveur proxy nexiste pas dans le rseau local donc aucune gestion de bande passante nest mise en disposition, il ya une surcharge du serveur web ce qui rend le traitement des requtes lentes. Solution : On va mettre en place le serveur proxy Squid au sein du rseau local pour permettre le filtrage et ajouter laspect scurit (NAT, Iptables). Il faut prvoir un sondage par la suite pour voir le comportement des utilisateurs vis--vis limplmentation du nouveau serveur proxy dans le rseau local.
a) Configuration de la section rseau
Cette section concerne toutes les configurations rseaux du serveur proxy 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. 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 proxys 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 l'appelons SAV server proxy. 72
Error_directory : Nous indiquions 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.
b) Configuration du proxy-cache
Les directives configurer pour optimiser lutilisation du cache : Cache_mem : correspond au cache mmoire, la valeur dpend du systme. Par dfaut Squid utilise 8 Mo. Cette taille doit tre la plus grande possible afin d'amliorer les performances. Nous dcidons d'utiliser 100 MB. 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. Maximum_object_size : permet de spcifier la taille minimale des objets qui seront stocks dans le cache. Ipcache_size : permet de spcifier le nombre d'adresses IP qui seront enregistres. Sa valeur par dfaut est de 1024. Cache_dir (Type Rpertoire Source 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. Ce paramtre 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. Rpertoire Source : le rpertoire source de l'arborescence du cache. Le cache de 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. 73
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/Squid 5000 16 256 Pour la configuration des directives du cache concernant notre serveur proxy, voir la figure A.1.
Figure A.1 : capture dcran de la configuration du cache
c) Contrle des accs Il s'agit des options concernant les restrictions d'accs aux ressources. Pour contrler tout ce qui passe par le serveur proxy, on peut 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 fonction du domaine, du protocole, de l'adresse IP, du numro de port, d'un mot et sur des plages horaires. La syntaxe d'une ACL est la suivante : Acl aclname acltype string [string2] Http_access allow, deny aclname 74
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 forme adresse/masque. On peut aussi donner une plage dadresse. 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 La figure A.2 illustre la configuration des Acl dans notre fichier de configuration /Etc/Squid/Squid.conf :
Autorisation daccs sur ACL : Http_access est une directive qui applique les droits daccs sur les ACL, la figure A.2 prsente une partie du fichier de configuration sur les dclarations lors de la configuration
Figure A.2 : Capture dcran de la configuration des droits d'accs sur Acl Les ACL font office de firewall mais s'appliquant uniquement aux protocoles grs par le proxy (HTTP, FTP).
ACL bass sur le temps : 75
Pour rendre le contrle daccs sur certains sites automatiss, cest--dire que le blocage des sites dpendra du temps, on a configur une ACL base sur un fichier contenant un ensemble de sites bloquer pendant les heures de travail, et faire le dblocage automatique pendant les heures de pauses. La figure x illustre le blocage appliqu sur certains sites sociaux (Facebook, Twitter, YouTube) qui occupe une partie importante de la bande passante
Figure A.3 : Capture dcran de la configuration des Acl bass sur le temps
On peut mettre un fichier /Etc/Squid/sitesbloker.txt comme dans la figure A.3, et dfinir plusieurs sites bloquer, cela va nous permettre dallger le fichier de configuration en rduisant le nombre de lignes ACL.
d) Lauthentification
Pour la configuration de lauthentification, le serveur proxy doit tre non transparent, les tapes suivre pour le fonctionnement de lauthentification sur le serveur sont :
76
cration des utilisateurs avec leurs mots de passe. Pour crer l'utilisateur avec le mot de passe, on utilise la commande: htpasswd -cb /etc/Squid/users username/passwrd Testez le fichier de mot de passe en tapant la commande: /Usr/lib/Squid/ncsa_auth /etc/Squid/users Pour demander l'utilisateur d'tre authentifi pour pouvoir utiliser le Proxy, on doit rajouter une Acl dans /etc/Squid.conf voir la figure A.4 :
Figure A.4 : Capture dcran de directives configures pour activer l'authentification
Par la suite on relance le serveur par la commande suivante : #service Squid reload ou bien #/etc/init.d/Squid reload Le serveur proxy Squid rechargera les nouvelles configurations, on procde au lancement du navigateur, il naura pas daccs au serveur avant davoir pass par lauthentification figure 3.6 77
Figure A.5 : Capture dcran de la demande dauthenfication
e) Comportement avec les applications externes Cette section dfinit certains paramtres qui modifieront le comportement de Squid en vers 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 anonyme. 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. 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. 78
Authenticate_children : le nombre de processus d'authentification conserver en mmoire RAM. f) La rpartition de bande passante
Le serveur proxy Squid permet de faire la rpartition de bande passante en utilisant la directive Delay_pool, cette directive permet de limiter le dbit pour un groupe dutilisateur. Le but est dallouer plus de ressource pour un groupe qui dpend plus dinternet pour le droulement du travail au sein de lentreprise. La classe de Delay_pool dtermine comment les dlais seraient appliqus, si les utilisateurs taient traits sparment ou bien en groupe.il existe quatre types de classes : Classe 1 : la directive Delay_pool contient un seul saut (bucket) unifier, qui sera utiliser pour toutes les requtes provenant des machines soumises au lissage du trafic. Classe 2 : la directive contient un saut unifi et 255 sauts, chaque saut par machine sur 8 bits (IPV4 classe C). Classe 3 : Contient 255 sauts pour le sous-rseau sur 16 bits, et un saut individuel pour chaque machine sur le rseau (IPV4 classe B) Classe 4 : Identique la classe 3, mais pouvant faire de lauthentification Pour configurer la directive dans le fichier de configuration il faut : Dfinir une ACL concernant Delay Pool Dfinir le numro du Delay Pool Dfinir la class de Delay pool Faire le paramtrage pour la capacit et dbit: delay_paramtre 1 restore_rate/max_size, lorsque la requte excde le max_size le serveur Squid met la bande passante sur la valeur donn en bits au restore_rate. Activer Delay Access
79
Figure A.6 : Principe de fonctionnement du lissage de trafic
La figure A.6 donne un aperu sur le fonctionnement du serveur en se basant sur le principe de saut, la bande passante est valable lorsque le saut est rempli, les rponses de requtes vont tre traits par le dbit dfinit par la directive :
Figure A.7 : Capture dcran de la configuration pour limiter le dbit
On va rpartir le dbit sur deux groupes, le premier groupe nomm users1 on va lui attribu un dbit limiter 64 kbits, le deuxime groupe nomm users2 son dbit sera illimit la valeur - 1/-1 indiqu sur la figure A.7.
80
g) La mise jour du cache
Refresh_pattern : permet de configurer la dure de mise jour du cache. Utiliser -i pour ne pas tenir compte des minuscules ou des majuscules. Voir le fichier de configuration figure A.8 Les valeurs Min et Max sont indiques en minutes. Exemple :
Figure A.8: Capture dcran de la configuration de la mise jour du cache La mise jour du cache sappliquera sur chaque protocole passant par le cache, on traitera les mises jour diffremment entre protocoles, bien sur les objets occupant plus despace et qui ne sont pas utiliss pendant un certain moment seront supprims pour librer lespace, comme le montre la figure A.8 on peut dfinir une valeur minimum 0 en minute et une valeur maximale qui dterminera le temps de vie dun objet sur le cache.
h) Le serveur Proxy et SNMP
Le serveur proxy Squid peut tre supervis distance laide des outils de supervision (Eyes of network, Cacti ), pour activer cette fonctionnalit, il suffit de mettre les directives prsentent sur la figure x dans le fichier de configuration /etc/Squid/Squid.conf
81
Figure A.9: Capture d'cran de la configuration
i) Cisco configuration : Dans notre cas en dispose dun seule serveur proxy dont ladresse IP est 192.168.1.9, dans le rseau interne (192.168.1.0/24), la premire tape consiste dfinir une access-list contenant ladresse IP du serveur proxy, et la dsigner comme list du protocole WCCP : Access-list 10 permit 192.168.1.9 Ip wccp web-cache group-list 10 Aprs dfinir une autre access-list pour permettre au routeur de rediriger le trafic provenant des adresses IP du rseau 192.168.1.0/24 vers le serveur proxy Squid . Access-list 120 remark ACL for WCCP proxy access Access-list 120 remark Squid proxies bypass WCCP Access-list 120 deny ip host 192.168.1.253 any Access-list 120 deny ip host 192.168.1.252 any Access-list 120 remark LAN clients proxy port 80 only Access-list 120 permit tcp 192.168.1.0 0.0.0.255 any eq 80 Access-list 120 remark all others bypass WCCP Access-list 120 deny ip any any ! Assign ACL to WCCP Ip wccp web-cache redirect-list 120 Pour lactivation du protocole WCCP entre le routeur et le serveur proxy, on doit activer le protocole sur le serveur proxy en configurant le fichier /etc/Squid/Squid.conf : 82
Figure A.10: capture d'cran de la configuration du protocole WCCP sur le serveur proxy
Sur la machine virtuelle les Iptables prendront le relais pour faire la redirection de requtes.
Kali linux pour les hackers : Le guide étape par étape du débutant pour apprendre le système d’exploitation des hackers éthiques et comment attaquer et défendre les systémes
Le coté obscur d’Internet: explorez ce que 99% des internautes ignorent sur les ténèbres d’Internet et apprenez à visiter le dark net en toute sécurité