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, ...).
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.
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 œuvre 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.
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
(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
Dernière modification le lundi 20 octobre 2008 à 11:14:57.