Comment Ca Marche l'informatique ?
Accueil
Forum
Aide
bordure
Page d'accueil
Ajouter aux favoris
Signalez une erreur
Ecrire à Jean-Francois Pillou
Présentation
Interconnexion
Interconnexion
Répéteurs
Concentrateurs (hub)
Ponts (bridges)
Commutateurs (switch)
Passerelles (gateways)
Routeurs
B-routeurs
Proxy
Protection
Firewall
Version 2.0.3
Proxy Page précédente Retour à la page d'accueil

Introduction à la notion de proxy

Un serveur proxy (traduction française de proxy server, appelé aussi serveur mandataire) est à l'origine une machine faisant fonction d'intermédiaire entre les ordinateurs d'un réseau local (utilisant parfois des protocoles autres que le protocole TCP/IP) et internet.

La plupart du temps le serveur proxy est utilisé pour le web, il s'agit alors d'un proxy HTTP. Toutefois il peut exister des serveurs proxy pour chaque protocole applicatif (FTP, ...).

schéma d'un intranet avec proxy

Le principe de fonctionnement d'un proxy

Le principe de fonctionnement basique d'un serveur proxy est assez simple : il s'agit d'un serveur "mandaté" par une application pour effectuer une requête sur Internet à sa place. Ainsi, lorsqu'un utilisateur se connecte à internet à l'aide d'une application cliente configurée pour utiliser un serveur proxy, celle-ci va se connecter en premier lieu au serveur proxy et lui donner sa requête. Le serveur proxy va alors se connecter au serveur que l'application cliente cherche à joindre et lui transmettre la requête. Le serveur va ensuite donner sa réponse au proxy, qui va à son tour la transmettre à l'application cliente.

fonctionnement d'un serveur proxy

Les fonctionnalités d'un serveur proxy

Désormais, avec l'utilisation de TCP/IP au sein des réseaux locaux, le rôle de relais du serveur proxy est directement assuré par les passerelles et les routeurs. Pour autant, les serveurs proxy sont toujours d'actualité grâce à un certain nombre d'autres fonctionnalités.

La fonction de cache

La plupart des proxys assurent ainsi une fonction de cache (en anglais caching), c'est-à-dire la capacité à garder en mémoire (en "cache") les pages les plus souvent visitées par les utilisateurs du réseau local afin de pouvoir les leur fournir le plus rapidement possible. En effet, en informatique, le terme de "cache" désigne un espace de stockage temporaire de données (le terme de "tampon" est également parfois utilisé).

Un serveur proxy ayant la possibilité de cacher (néologisme signifiant "mettre en mémoire cache") les informations est généralement appelé "serveur proxy-cache".

Cette fonctionnalité implémentée dans certains serveurs proxy permet d'une part de réduire l'utilisation de la bande passante vers internet ainsi que de réduire le temps d'accès aux documents pour les utilisateurs.

Toutefois, pour mener à bien cette mission, il est nécessaire que le proxy compare régulièrement les données qu'il stocke en mémoire cache avec les données distantes afin de s'assurer que les données en cache sont toujours valides.

Le filtrage

D'autre part, grâce à l'utilisation d'un proxy, il est possible d'assurer un suivi des connexions (en anglais logging ou tracking) via la constitution de journaux d'activité (logs) en enregistrant systématiquement les requêtes des utilisateurs lors de leurs demandes de connexion à Internet.

Il est ainsi possible de filtrer les connexions à internet en analysant d'une part les requêtes des clients, d'autre part les réponses des serveurs. Lorsque le filtrage est réalisé en comparant la requête du client à une liste de requêtes autorisées, on parle de liste blanche, lorsqu'il s'agit d'une liste de sites interdits on parle de liste noire. Enfin l'analyse des réponses des serveurs conformément à une liste de critères (mots-clés, ...) est appelé filtrage de contenu.

L'authentification

Dans la mesure où le proxy est l'intermédiaire indispensable des utilisateurs du réseau interne pour accéder à des ressources externes, il est parfois possible de l'utiliser pour authentifier les utilisateurs, c'est-à-dire de leur demander de s'identifier à l'aide d'un nom d'utilisateur et d'un mot de passe par exemple. Il est ainsi aisé de donner l'accès aux ressources externes aux seules personnes autorisées à le faire et de pouvoir enregistrer dans les fichiers journaux des accès identifiés.

Ce type de mécanisme lorsqu'il est mis en oeuvre pose bien évidemment de nombreux problèmes relatifs aux libertés individuelles et aux droits des personnes...

Les reverse-proxy

On appelle reverse-proxy (en français le terme de relais inverse est parfois employé) un serveur proxy-cache "monté à l'envers", c'est-à-dire un serveur proxy permettant non pas aux utilisateurs d'accéder au réseau internet, mais aux utilisateurs d'internet d'accéder indirectement à certains serveurs internes.

schéma de principe d'un relais inverse (reverse proxy)

Le reverse-proxy sert ainsi de relais pour les utilisateurs d'internet souhaitant accéder à un site web interne en lui transmettant indirectement les requêtes. Grâce au reverse-proxy, le serveur web est protégé des attaques directes de l'extérieur, ce qui renforce la sécurité du réseau interne. D'autre part, la fonction de cache du reverse-proxy peut permettre de soulager la charge du serveur pour lequel il est prévu, c'est la raison pour laquelle un tel serveur est parfois appelé "accélérateur" (server accelerator).

Enfin, grâce à des algorithmes perfectionnés, le reverse-proxy peut servir à répartir la charge en redirigeant les requêtes vers différents serveurs équivalents; on parle alors de "répartition de charge", ou en anglais "load balancing".

Mise en place d'un serveur proxy

Le proxy le plus répandu est sans nul doute Squid, un logiciel libre disponible sur de nombreuses plates-formes dont Windows et Linux.

Sous Windows il existe plusieurs logiciels permettant de réaliser un serveur proxy à moindre coût pour son réseau local :

  • Wingate est la solution la plus courante (mais non gratuite)
  • la configuration d'un proxy avec Jana server devient de plus en plus courante
  • Windows 2000 intègre Microsoft Proxy Server (MSP), complété par Microsoft Proxy Client, permettant de réaliser cette opération


Page précédente

Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.