Accueil Recherche | Plan Technique | Liens | Actualités | Formation | Emploi | Forums | Base
logo CERIG NOTE TECHNIQUE cerig.efpg.inpg.fr 
Vous êtes ici : Accueil >Technique > Internet et le web > Serveur proxy et firewall
          Juillet 1999
Note précédente Liste des notes     Serveur proxy et firewall     Page technique Note suivante
 
Jean-Claude Sohm (CERIG / EFPG)
(13 juillet 1999)
 
Consultez la note technique récente (février 2002) consacrée au même sujet

Le serveur proxy est un dispositif informatique que l'on interpose entre le réseau de l'entreprise et Internet. Trois rôles lui sont dévolus : mise en mémoire cache, enregistrement des mouvements d'information, filtrage. On évoque aussi parfois la sécurité du système informatique de l'entreprise, rôle qui doit être dévolu à un autre dispositif appelé firewall. L'opinion de l'auteur est que, pour l'entreprise, le serveur proxy est une véritable nuisance, alors que le firewall est un dispositif hautement recommandable.
 

Introduction

En savoir plus sur...

  • le caching , sur un site très complet (voir en particulier les white papers, et la liste des éditeurs)
  • le proxy, grâce à un cours pour débutants
  • le firewall

D'une manière générale, on appelle passerelle le dispositif informatique qui assure la jonction entre un réseau local et un réseau externe ; ce terme est plus particulièrement utilisé quand les deux réseaux fonctionnent sous des protocoles différents. Quand les deux protocoles sont identiques, le dispositif s'appelle un routeur. L'exemple le plus courant est celui d'un réseau local exploité sous le protocole IP, et relié Internet via un routeur. Un tel système, qui a le mérite de la simplicité, fonctionne généralement de manière fort satisfaisante.

Mais pourquoi faire simple et bon marché, quand on peut faire cher et compliqué ? C'est sans doute ce raisonnement qui a guidé le CERN (le Centre Européen de Recherche Nucléaire, créateur du web) lorsqu'il conçut le premier serveur proxy (en anglais : proxy-server) en 1994. Ce dispositif informatique, constitué d'un ordinateur équipé d'un logiciel adéquat, est placé entre le réseau Internet et des stations de travail pourvues d'un navigateur. Le serveur proxy, qui relaye les requêtes des internautes vers les serveurs branchés sur Internet, constitue une passerelle d'un type spécial. Notons en outre qu'un serveur proxy est spécifique d'un service Internet particulier : on trouve des serveurs proxy web, proxy ftp et proxy telnet, pour ne citer que les principaux. Dans la pratique, on rencontre surtout des serveurs proxy web.

Le firewall est un dispositif informatique que l'on place entre un réseau externe et un réseau local, pour protéger ce dernier des agressions venues de l'extérieur. Lorsqu'il est présent, le firewall peut être considéré comme un constituant de la passerelle.

Voici quelques exemples d'implantation de serveur proxy :

    le réseau local d'une entreprise peut être relié à Internet via un serveur proxy
  un prestataire de services Internet peut interposer un serveur proxy entre son réseau et ses clients
  un câble-opérateur, qui diffuse Internet en plus d'un bouquet de chaînes TV, peut placer un serveur proxy en tête de câble
  un groupe d'établissements d'enseignement peut faire relayer ses requêtes vers Internet par un serveur proxy, etc.

Un serveur proxy possède trois fonctions principales, que l'on désigne en anglais sous les noms de caching, tracking et filtering. Voici ce dont il s'agit :

   

Le rôle premier d'un serveur proxy est de servir de cache -- du moins est-ce ainsi que l'on présente généralement les choses. En jargon informatique, une mémoire cache sert à conserver localement des informations qui ont une certaine probabilité de servir à nouveau. Ainsi, on trouve une mémoire cache dans tous les micro-processeurs, et dans tous les navigateurs. Un serveur proxy stocke provisoirement les pages web que les utilisateurs vont chercher sur Internet. Si un internaute requiert une information qui se trouve déjà dans le cache, il sera servi presque immédiatement. Dans le cas contraire, il sera servi plus lentement, car la traversée du serveur proxy représente une étape supplémentaire dans le transport de l'information.
   C'est un non-sens que de se servir d'un proxy pour les services dont l'information peut être mise à jour à tout instant (les news par exemple), à moins que le logiciel ne détecte ces mises à jour -- ce qui est rare. L'information stockée dans le cache du proxy est conservée pendant un temps limité, 24 heures en général. Si le cache déborde, l'information la plus récente chasse la plus ancienne.

 

Un serveur proxy garde une trace de tous les échanges d'information qui le traversent : l'adresse de l'internaute, l'heure, le site web demandé, et les pages consultées -- tout est noté. C'est la fonction d'enregistrement.

 

On peut configurer un serveur web de telle sorte qu'il examine l'information qui le traverse, et qu'il refuse de délivrer les fichiers contenant une chaîne de caractères donnée. C'est la fonction de filtrage.

 
Le rôle de cache du serveur proxy

Le rôle de cache sert d'argument commercial aux éditeurs de logiciel de serveur proxy, mais un calcul simple montre que cet argument ne vaut rien, sauf dans des cas très particuliers. Il existe en effet, de par le monde, au moins six millions de sites web régulièrement maintenus. Chacun possède en moyenne plusieurs dizaines de pages -- admettons 50 pour prendre un chiffre raisonnable. Il y aurait ainsi 300 millions de pages consultables sur le web -- certains auteurs avancent même un chiffre deux fois plus élevé. La probabilité pour que deux internautes, dont les besoins en information sont indépendants, demandent la même page vaut donc 3x10-9. Si le proxy dessert cent utilisateurs, et si chacun d'eux télécharge 3 pages web, il existe une chance sur un million pour que le proxy joue son rôle de cache, et ce pour une seule page ! Si les décideurs qui signent les bons de commande connaissaient mieux Internet et le calcul des probabilités, on ne vendrait pas beaucoup de serveurs proxy.

Ces chiffres montrent que la fonction cache d'un serveur proxy n'est utile que si deux conditions sont remplies :

    le proxy dessert un grand nombre d'utilisateurs,
  et ces utilisateurs ont des besoins en information fortement corrélés.

La première condition n'est pas à elle seule suffisante. Si un proxy dessert mille utilisateurs, et si chacun d'eux décharge cent pages, il y a moins d'une chance sur mille pour que le cache fonctionne, et ce pour une page seulement. La deuxième condition, par contre, est essentielle. Si un proxy dessert mille utilisateurs déchargeant chacun cent pages, et si dix pour cent d'entre eux ont les mêmes besoins, le cache va resservir environ dix mille pages.

Le rôle de cache

Dans l'entreprise, le rôle de cache du serveur proxy est plus nuisible qu'utile. Ce rôle ne se justifie guère que pour les fournisseurs d'accès et les portails du web.

  

Ou trouve-t-on des populations ayant des besoins communs en information ? Dans le grand public, dont les goûts ont été modelés et uniformisés par la publicité et les grands media. Si un fournisseur d'accès à Internet utilise un serveur proxy, son cache servira de nombreuses fois pour la météo, les nouvelles du jour, l'horoscope, ou la photo de la dernière actrice à la mode. Mais si ce fournisseur d'accès est astucieux, il a déjà pensé à la chose, et il s'est transformé en "portail du web", proposant sur son site toutes les informations que le public consulte couramment. Il n'a donc plus besoin de proxy... si ce n'est pour conserver la trace de ce que font ses clients.

Dans une entreprise bien gérée, on ne trouve pas deux personnes faisant exactement la même chose. Les besoins en information des divers membres du personnel se recoupent donc assez peu. Chronomètre en main, l'expérience montre que, en moyenne, un serveur proxy ralentit les recherches sur le web, au lieu de les accélérer comme on le prétend trop souvent. Hélas ! lorsque cette constatation s'impose, il est trop tard : le serveur proxy est acheté, installé et mis en service. Le département informatique ne voulant pas se déjuger, il devient impossible de faire enlever ce coûteux et pénible gêneur. Conclusion :  dans une entreprise, et contrairement à tous les mensonges que nous racontent les vendeurs de logiciel, le rôle de cache du serveur proxy est certainement plus nuisible qu'utile. Le rôle de cache sert en fait de mauvais prétexte pour imposer le serveur proxy aux utilisateurs d'Internet qui n'en peuvent mais.

Les établissements d'enseignement sont l'une des cibles préférées des éditeurs de logiciel proxy. Par exemple, si vous animez une session de formation utilisant Internet, vous avez de bonnes chances de faire faire à peu près la même chose à tous les participants -- un cas de figure qui risque de se reproduire souvent. Un serveur proxy parait tout indiqué dans ce cas : on appelle une seule fois le serveur web, ensuite l'information se trouve dans le cache, et tous les autres participants vont y accéder rapidement. Voilà pour la théorie... mais si vous tentez l'expérience, je vous souhaite bien du plaisir ! Apparemment les serveurs proxy n'aiment pas recevoir plusieurs requêtes identiques simultanées, et ils vous le font vertement savoir. Les choses commencent à s'arranger si vous étalez vos requêtes, ou lorsqu'on vous donne la possibilité... de ne plus passer à travers le proxy !

Si l'on élimine le "hype" et les mensonges des représentants, le rôle de cache d'un serveur proxy ne peut être utile que dans le cas très particuliers des ISP qui ne jouent pas le rôle de portail du web. Certains câble-opérateurs, qui distribuent Internet en plus de la TV, en installent un en tête de câble.
 

Le serveur proxy est un espion

Dans le rôle d'espion de ce que chacun fait sur Internet dans l'entreprise, le serveur proxy est parfait : il enregistre tout ce qu'on lui demande. Le sachant, le personnel évite de surfer pour des motifs autres que professionnels : le serveur proxy engendre l'autocensure. Il y a là de quoi séduire un chef d'entreprise qui craint que son personnel ne s'égare dans des sites n'ayant que de lointains rapports avec ses besoins en information. Gageons que c'est là un argument que les éditeurs de logiciel manient avec beaucoup de délicatesse...

Si l'entreprise a le droit de savoir ce que font ses salariés (il y a l'art et la manière, tout de même !), il n'en est pas de même d'un câble-opérateur vis à vis de ses abonnés. Enregistrer ce que ces derniers font sur Internet est une atteinte à la vie privée. Tous les opérateurs jurent qu'ils désactivent la fonction "tracking" quand ils installent un serveur proxy en tête de câble, et l'on est bien obligé de les croire sur parole.
 

Le serveur proxy est un censeur minable

Le logiciel de serveur proxy permet en général de dresser une liste de mots qui doivent être absents de l'information entrant dans l'entreprise. Officiellement, on parle d'éliminer la violence, le racisme... mais en pratique, c'est le vocabulaire du sexe qui est toujours visé. Dans les exemples dont nous avons eu connaissance, l'installation d'un serveur proxy a toujours trouvé sa source dans la pudibonderie d'un chef d'entreprise, outré que quelques membres du personnel visitent des sites pour adultes en utilisant les postes de travail informatique de la maison.

  

Le rôle de filtre du serveur proxy

Le serveur proxy est un censeur totalement dénué d'intelligence. Utilisant la même chaîne de caractères, il peut tout aussi bien arrêter un pilote d'imprimante qu'une page pour adultes.

Mais si le serveur proxy est un bon espion, c'est par contre un piètre censeur. Via le code ASCII, le proxy transforme la chaîne de caractère en une suite de chiffres binaires, puis recherche si cette suite est présente dans l'information qui le traverse. Il ne fait pas la distinction entre un fichier texte, un exécutable, un pilote, ou une image. Comme les termes du vocabulaire du sexe sont en général assez courts, la probabilité pour que la suite de chiffres binaires se trouve dans un fichier quelconque est loin d'être négligeable (5 % dans l'exemple mentionné ci-dessous). Le proxy rejette donc pèle-mêle les fichiers utiles et les textes licencieux. En pratique, si l'on veut vraiment utiliser le rôle de filtre du proxy en lui confiant une longue liste de termes défendus, on empêche tout bonnement le personnel de l'entreprise d'utiliser Internet correctement.

A titre d'exemple, utilisons la fonction "Rechercher" de Windows 98, et demandons tous les fichiers du dossier C:\WINDOWS qui contiennent le mot "sex" : la machine ronronne quelques instants, et en trouve... 224 ! Il y en a pour tous les goûts : on trouve le mot précité dans des fichiers ".exe" (application), ".dll" (extension d'application), ".hlp" (aide en ligne), ".txt" (texte, ahah !), ".inf" (configuration), ".vxd" (pilote virtuel), etc. Vous n'auriez jamais cru le système d'exploitation de Microsoft aussi teinté d'érotisme, n'est-ce pas ? Et bien, vous pouvez toujours faire un procès à l'éditeur, et lui réclamer un milliard de dollars de dommages et intérêts : c'est la mode actuellement.

En fait, pour l'ordinateur, le mot "sex" s'écrit :

011100110110010101111000

ce qui n'est pas particulièrement excitant. Dans l'exemple précité, cette suite de chiffres binaires apparaît en moyenne tous les 1,2 Mo d'information, soit dans un fichier sur 18 environ. Bien entendu, le mot "sex" n'est pas présent une seule fois en tant que tel dans Windows 98. Rassurez-vous : vous pouvez laisser les enfants jouer avec l'ordinateur équipé de ce système d'exploitation. Mais cet exemple montre que, pour peu que vous dressiez une liste d'une vingtaine de mots censurés à l'intention de votre proxy, il n'entrera pratiquement plus d'information dans l'entreprise en provenance d'Internet. Vous serez alors obligé d'instaurer une procédure "exceptionnelle" pour permettre à votre personnel de contourner le proxy... procédure que tout le monde connaîtra et utilisera au bout de quelques semaines (exemple vécu).

Outre son principe odieux, la censure a toujours des aspects ridicules, comme le montre l'exemple suivant. On raconte qu'un chef d'entreprise excédé donna un jour à son service informatique l'ordre d'empêcher le personnel de rechercher des images de femmes nues sur Internet. Comme on ne pouvait pas mettre le mot "femme" dans la liste noire du proxy (à la fin du 20ème siècle, n'est-ce pas, cela fait un peu trop macho), et que ledit filtre fonctionne par unitermes, on se contenta du mot "nue". On tarit ainsi l'essentiel du flux d'information en provenance d'Internet, car le filtre fonctionne par chaîne de caractère. Or beaucoup de mots français contiennent la chaîne "nue" : contenue, maintenue, entretenue, retenue, parvenue, etc. Nous ne garantissons pas l'authenticité de cette histoire, mais comme dit le proverbe italien : "se non è vero, è ben trovato".

Je ne résiste pas au plaisir de vous en raconter une autre, qui elle est véridique. Le professeur de littérature latine d'une université américaine avait, pour aider ses étudiants, enregistré des textes latins sur son site web. Ledit site fut immédiatement bloqué par le proxy de l'université, car il contenait de multiples fois la préposition latine qui s'écrit avec un C, un U et un M -- un terme qui fait aussi partie de l'argot du sexe anglo-américain. Un professeur de ladite université, en tournée de conférences en France, ne manquait pas de raconter partout cette petite histoire, à la grande joie de son auditoire. Qui dira que les français ne sont pas cultivés, et qu'ils ont oublié leur latin ?
 

Les mauvais tours du serveur proxy

Les avatars causés par le proxy ne s'arrêtent pas au niveau de la plaisanterie, et les entreprises qui en installent un doivent s'attendre à rencontrer bien des déboires. Si les navigateurs, aujourd'hui, fonctionnent à peu près bien avec la majorité des proxys, on ne peut pas en dire autant des autres logiciels concernés, de près ou de loin, par Internet. Par exemple, il y a incompatibilité d'humeur profonde entre le logiciel de création de site web FrontPage et certains logiciels de proxy : il est impossible d'ouvrir une page web dans l'éditeur, même si l'adresse du proxy a été correctement introduite dans la rubrique "Options" de l'explorateur. On trouvera toute une collection d'exemples du même genre sur le web :

    l'information demandée parvient parfois tronquée à l'utilisateur ;
  les sites dont l'accès est contrôlé par mot de passe ne sont plus accessibles ;
  le proxy peut vous empêcher d'obtenir des informations qui sont générées par un script côté serveur ;
  d'une manière générale, le proxy est toujours en retard d'une génération sur les nouveautés qui apparaissent sur le "net", et il bloque souvent l'information correspondante. Si vous dépendez d'un proxy, vous pouvez dire adieu à toutes les techniques nouvelles qui fleurissent sur Internet ;
  le proxy coûte cher à installer, et plus encore à maintenir.

Hélas, ce n'est pas tout. Les proxys sont généralement réglés pour que l'information séjourne 24 heures dans le cache avant d'être effacée. Malheur à celui qui s'intéresse à des données régulièrement mises à jour : cours de la bourse, communiqués de presse, nouvelles, etc. Si je vous donne la météo d'hier, ou le cours des métaux de la veille, vous êtes satisfait, n'est-ce pas ? Certes, certains logiciels prévoient de shunter le proxy pour accéder à certains sites, mais cette possibilité est rapidement supprimée par le service informatique : si l'on peut échapper au proxy comme on le veut, à quoi bon installer ce coûteux dispositif ?

Si un serveur proxy doit surveiller tout le trafic échangé dans les deux sens entre l'entreprise et Internet, il doit être dimensionné en conséquence. Mais, pour des raisons d'économies, les proxys sont souvent sous-dimensionnés d'une part, et surchargés de tâches diverses d'autre part. Pour traverser le proxy, les trames font la queue, et il n'est pas rare que l'information mette plusieurs secondes pour passer dans chaque sens (à titre de comparaison, les spécialistes s'inquiètent quand la traversée d'un routeur dure plus de quelques dixièmes de seconde). Tous ceux qui souffrent de la lenteur d'Internet apprécieront que l'on rajoute les délais d'un proxy à leur peine.
 

Le serveur proxy et la sécurité

Le serveur proxy et la sécurité

Le firewall, et non le proxy, est le dispositif à utiliser pour protéger un réseau local contre les intrusions.

  

Pour faire avaler la pilule amère que constitue l'installation d'un serveur proxy, il est d'usage dans les entreprises de mentir au personnel en invoquant la sécurité du système informatique et des données qu'il renferme. Comme il ne serait pas de bon ton, à notre époque de dire que l'on est contre la sécurité, chacun se tait et prend un air entendu. Certes, la présence du proxy rajoute un obstacle sur la route du hacker qui veut pénétrer dans le système informatique de l'entreprise. Mais l'efficacité de cet obstacle est fort variable suivant la façon dont le proxy est monté (avec une ou deux cartes réseau, en particulier) et configuré. Assurer la sécurité constitue une quatrième tâche pour le serveur proxy qui doit déjà en assurer trois autres, et devient ainsi une "bonne à tout faire" aux résultats incertains. Comme dit le proverbe : "qui trop embrasse mal étreint".

Le dispositif ad hoc pour assurer la sécurité du réseau local de l'entreprise lorsqu'il est raccordé à Internet, c'est le firewall. Comme le proxy, le firewall est un ordinateur interposé entre le réseau local de l'entreprise et Internet, mais il est équipé d'un logiciel très différent. Dans sa version la plus récente, le logiciel de firewall a pour fonction de refuser l'entrée à toute information qui ne constitue pas une réponse à une question issue de l'entreprise ; le taux de sécurité est alors très élevé.

Attention ! certains documents, et même certains "experts", font joyeusement la confusion entre serveur proxy et firewall. C'est se moquer du monde, car le proxy fonctionne au niveau le plus élevé du modèle OSI (couche "application"), alors que le firewall fonctionne au niveau 3 (couche "réseau"). Il est vrai que certains éditeurs vendent les deux logiciels groupés dans le même "package", ce qui peut prêter à confusion -- d'autant que les revendeurs d'informatique qui connaissent bien leurs produits sont plutôt rares. Lorsqu'on veut les utiliser conjointement, proxy et firewall peuvent être installés sur la même machine, ou sur deux machines séparées.
 

Conclusion et épilogue

Le serveur proxy est, pour les entreprises, un dispositif coûteux et nuisible, qu'il importe de ne pas installer. Le serveur proxy peut jouer un rôle de cache efficace pour les ISP. Le firewall, par contre, est un dispositif de sécurité recommandable à toute entreprise qui veut protéger son réseau local.

Comme vous avez pu le deviner, le serveur proxy ne fait pas partie des dispositifs informatiques que j'adore le plus. Mais vous n'êtes pas le seul à être aussi perspicace. Au cours d'une séance de formation, comme les choses ne tournaient pas comme prévu, une petite voie pointue s'éleva du fond de la salle pour me lancer, narquoise : "C'est la faute du proxy !". Comme vous le constatez vous-même, le serveur proxy, dans l'entreprise, c'est le mal absolu.

Note précédente Liste des notes Page technique  Note suivante 
 
Accueil | Technique | Liens | Actualités | Formation | Emploi | Forums | Base
 
Copyright © CERIG/EFPG 1996-2002
Mise en page : J.C. Sohm