Squid
Squid
Squid
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
SQ UI D
P r o x y L i b r e p o u r U n i x e t L i n u x
1 . P r s e n t a t i o n : SQUIDestunproxy(serveurmandataireenfranais)cachesouslinux.Decefaitilpermet departagerunaccsInternetentreplusieursutilisateursavecuneseuleconnexion.Unserveur 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. Enfin il permetdepartageruneconnexioninternetl'aideSQUID,maisSQUIDn'estpasunproxy POP,SMTP,NNTP(commeSambaparexemple). SQUID est un logiciel de cette catgorie, qui autorise le proxy, le cache des protocoles HTTP,ftp,Gopher,etc.IlsupportegalementSSL,lescontrlesd'accs,lecachedeDNSet fournit une trace complte (log) de toutes les requtes. SQUID est aussi disponible pour WindowsNT.
Figure1:MiseenplaceduserveurproxySQUIDdanslerseaudentreprise
S E C U R I N E T S
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
2 . P r r e q u i s e t I n s t a l l a t i o n : Une minimale configuration matrielle est requise. Par exemple un Pentium III avec un disquede10GoetuneRAMde128Mo.
**Pourlinstallationonprocdecommesuit: 1 TlchargezladernireversiondeSQUIDdusite:www.squidcache.org. 2 **Sivousavezmaintenantlespackagesrpmilfaudrautilisercettecommande: rpm ivhsquid*.rpm Il place alors les fichiers de log dans /var/log/squid, le fichier de configurationdans/etc/squid/squid.conf. Ce dernier est le seul fichier de configuration de SQUID. Il faut donc ouvrir ce fichier pour effectuer les paramtrages correspondant votre situation. ** En cas dutilisation des tar, il faut les Dcompressezla en utilisant cette commande: tar zxvfsquidx.tar.gz 3 Compilezlaenutilisantcettecommande: ./configureenableerrlanguage=French makeall makeinstall
Unrpertoireseracredans/usr/local/squid,ilcontientunrpertoirebinquicontient luimmelesrpertoirescache,etc,logs.
S E C U R I N E T S
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
3. LesservicesdeSQUID 3.1 Lecache Leprincipedecacheestassezsimple,prenonsparexemplelerseaudelINSAT.Ce dernierestcomposdunedizainedepostesquipsdecartesrseauxEthernet100Mb/s.Ce rseauestreliviaunrouteurinternetenutilisantunelignespcialise.Nousluiavons affectuneplagedadressesIPnonroutable(192.168.1.x). Avant la mise en place de notre proxy, toutes les personnes qui allaient sur internet, rcuprentparlintermdiairedeleursnavigateurslesobjets(html,images,...)quilsavaient consults, mais tous ces objets quiont t tlcharg ntaient pas accessible par les autres navigateurs (c'estdire les autres utilisateurs du rseau), ce qui implique que les autres utilisateursdevraienteuxaussircuprerleurspropresobjets.Cequirduitlaconsommation debandesurnotrelignespcialiseetproduitungaindetempspourlesutilisateursinternet. Biensurleserveurproxyvrifie,avantdedonnerlesobjetsquipossdentsursondisque,sil ny a pas de version plus rcente de lobjet demand sur Internet. Sil y a une version plus rcenteilvalatlchargersinonildonnelutilisateurlobjetquiavaitenregistr. SQUIDestcapablederelayerlesprotocolesHTTP,FTP,SSLetGopher. **Observons,toutd'abord,l'accsunsitewebsanspasserparunproxy: LeclientdemandedirectementauserveurWebdeluienvoyerunepage.Siunautreclient durseaudemandelammepage,leserveurWebestcontactnouveau.
Avecunproxy,touteslesrequtespassentparunintermdiaire.
S E C U R I N E T S Club de la scurit informatique I N S A T www.securinets.com Tel : 20322191
S E C U R I N E T S
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
1. Leclientdemandeunepage. 2.Larequteestintercepteparleproxy.CeluicivrifiesesACLs.Silarequteestinterdite, unmessaged'erreur(nonreprsentsurlafigure)estenvoyauclient. 3.Silarequteestautorise,leproxyvrifiesilapageestdjdanssoncache(autrementdit, si elletdemandercemment).Sic'est lecas,elleestenvoyedirectementauclientsans passerparleserveurweb. 4.Silapagenefigurepasdanslecache,leproxytransmetlarequteauserveurdsir. 5.Leserveurretournelapage. 6.Leproxyintgrecettepagedanssoncache. 7.Leclientreoitlapagedemande. 3.2 Lesupportdesprotocoleslisauxcaches 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 favoriserlesfluxdedonneslesplusprochedusitepluttquedesolliciterunserveurquisera peuttreplusloignetpluslentrpondrequ'unserveurcache.
S E C U R I N E T S
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
3.3 Acclrateurpourleserveurhttp(ModeReversePr oxy) Tout l'intrt de ce service repose sur le cache de SQUID. Effectivement, une fois que celuici aura enregistrtous les objets possibles du serveur http, la plupart des requtes des clientsserontalorstraitesparSQUID.Ainsi, le serveur httpserabeaucoupmoinssollicit. Parcettemthode, leserveurweb ne sertplusalorsqu'traiter lespagesdynamiques,CGI, lenregistrementdeformulaire,etc. Il est possible de multiplier les "Proxy Accelerator" en les faisant communiquer via ICP :(Internet Cache Protocol, protocole de communication intercache). Cela permet encore d'augmenterlarapiditderponseetlebackupdesdonnes. 3.4 Lauthentification : SQUID permet d'authentifier les clients avant qu'ils accdent la ressource qu'ils demandent. L'authentification seffectue pour les modes proxy et "httpd accelerator". Il devientalorsdeplusenplusavantageuxd'utiliserSQUIDenfrontaled'unserveurwebcarce dernier n'aura assumer que les rles primordiaux de service web dynamique. SQUID supporte beaucoup de protocoles lis l'authentification (Basic, Digest, LDAP, NTLM, Radius,Mysql).
S E C U R I N E T S
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
L'authentificationestraliseviadescodesexcutablesexternesSQUID,chaqueprotocole d'authentification ayant son propre code excutable. Ces programmes dauthentification ont un format d'utilisation trs simple : ils lisent sur STDIN les informations d'authentification souslaforme"login,MotDePasse"etretournesurSTDOUT"OK"ou"ERR"enfonctiondes informationsintroduites(correctesounon).
3.5 Lefiltrage:Autorisationdaccsparfiltrage: SQUID offre la possibilit de filtrer les requtes des clients. Ainsi, il est possible de restreindre l'accs aux ressources en fonction de diffrents paramtres. Voici une liste de paramtrepouvantintervenirdanslerejetd'unerequterpondantl'undescritres:
l l l l
L'URLcontientunmotinterdit. L'adresseIPsource/destination estinterdite. Ledomainedesource/destinationestinterditoucontientunmotinterdit. La date de la demande. Par exemple, SQUID peut interdire l'accs Internet durant certainesheures(commelesoirentre20het6hdumatin).
l l l
l l
Letypedunavigateurutilispeutpermettred'empcherl'utilisationd'IEparexemple. Ce filtrageest bassurdes ACL.SQUID n'estcapablede filtrerque lesrequtesde ses clients, pas le contenu de ce qu'il relaye ceuxci (bien qu'un proxy filtrant le contenu de page revient multiplier la charge d'administration par le nombre d'interdictionmalencontreuse).
S E C U R I N E T S
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
Il est possible de rcrire les enttes des requtes des clients. Cela a pour utilit (par exemple)derendrelesdemandesanonymes.Cecisefaittrssimplementenindiquantdansla configuration de SQUID quels sont les champs HTTP autoriss et en prcisant quetous les autresnelesontpas.Ilestaussipossiblederemplacerlecontenud'unchamp. 3.8 LeprotocoleSNMP: SQUIDoffre lapossibilitd'tregrdistanceviaSNMP.Ainsi, lesdonnescollectes viaceprotocolepourrontpermettrel'administrateurdevisualiserl'tatcourantdesonproxy, d'avoir des statistiques d'utilisation, des statistiques sur le cache, sur le temps processeur consomm,... Programmesassocis: WebMin: est une page dadministration au format web, permettant de grer son serveur linux ainsi que tous ses services (SQUID, DHCP, serveur web, utilisateurs etc.) SquidGuard: propose un filtrage puissant d'accs au web, en fonction des groupes d'utilisateurs,deslistesdedomainesetd'URL,desplageshoraires, DansGuardian:estunoutildefiltragedecontenusimilaireSquidGuard. DG sait interdire des sites en fonction du Domaine, URL, Utilisateur, IP client, extension de fichier, mot dans la page, score de mots dans la page, type MIME, RegExp(expressionrgulire),PICS. DGgreaussileslistesblanchesetleslistesgrises.
MRTG:estunoutilpourmonitorer SQUIDdistanceviaSNMP. Prostat: est un outil de statistiques afin d'valuer le taux d'utilisation d'un cache SQUID.
S E C U R I N E T S
C l u b d e l a I s c ur i t i n f o r m at i q ue N S A T
Autresproxy: Delegate:proxy/cachetrssoupleconfigurer grantleprotocoleSocks. Oops : c'est un proxy / cache cris pour la performance et la rapidit de configuration. Privoxy:c'estunproxycritpour"anonymiser"lesurfdesesclients.