Un serveur proxy, c’est quoi ?

Un proxy (de l’anglais proxy, procuration) est un composant matériel informatique qui joue le rôle d’intermédiaire dans l’échange entre deux hôtes. L’objectif de base d’un serveur proxy est de prendre les requête du client à la place d’un serveur et de les transférer avec sa propre adresse IP à l’hôte cible. Pour cela, il n’existe pas de connexion directe entre l’émetteur et le destinataire. Parfois, le système qui reçoit la requête et l’hôte cible de savent pas qu’ils ont affaire à un proxy. Ces serveurs vont dans deux directions. Le proxy http sert de protection d’un réseau de client face aux activités provenant du Web. Si le système cible (un serveur Web par exemple) est protégé par un serveur proxy, on parle alors de proxy inverse (reverse en anglais).

  • Proxy (protection du client) : un serveur proxy, installé en tant qu’intermédiaire entre un réseau privé (LAN) et le Web, permet de protéger efficacement les ordinateurs locaux des influences du réseau public. Les requêtes provenant du LAN sont interceptées par le proxy et transmis avec son adresse IP en tant qu’émetteur à l’hôte cible. Les paquets de réponses provenant du Web ne sont pas adressés au client dans le LAN mais passent par le serveur proxy avant d’être transférés à leur cible véritable. En général, le serveur proxy sert d’instance de contrôle. Les systèmes de sécurité correspondants ne doivent pas être installés sur chaque client du réseau mais sur un nombre gérable de serveurs proxy.
  • Proxy inverse (protection du serveur) : un serveur proxy peut également protéger les serveurs Web face aux accès provenant du réseau public.  Les clients Internet ne sont pas directement en contact avec l’hôte cible. Au lieu de quoi, les requêtes sont reçues par le proxy qui vérifie si elles sont conformes aux règles de sécurité de configuration. En cas de doute, ces dernières sont transmises au serveur en arrière-plan.

Un serveur proxy en application

On peut implémenter un serveur proxy pour plusieurs raisons. En tant que lien entre deux éléments, ce composant de réseau permet un échange de données entre deux systèmes lorsqu’une relation directe se révèle impossible pour des raisons d’adresses IP incompatibles, comme par exemple, à cause d’un composant utilisant IPv4 alors que les autres ont recours au standard IPv6. Les données qui passent par un proxy sont également filtrées, sauvegardées temporairement et distribuées vers divers hôtes cibles dans le cadre d’un répartiteur de charge. Par ailleurs, un proxy est un composant central du pare-feu qui protège les systèmes informatiques des attaques provenant du réseau public.

  • Le proxy cache : une des fonctions standard d’un serveur proxy est le cache. Pour pouvoir répondre rapidement à des demandes récurrentes provenant d’un réseau local, un serveur proxy configuré sauvegardera de manière temporaire dans le cache une copie des données qu’il reçoit de la part serveurs. Il n’est pas nécessaire que les contenus demandés soient chargés à chaque fois, ces derniers peuvent directement être livrés. Cela économise du temps mais aussi de la bande passante.
  • Proxy filtre : un serveur proxy installé en tant qu’intermédiaire entre deux systèmes informatiques est utilisé en tant que filtre pour, d’un côté, bloquer certains contenus du Web destinés à des clients ou, de l’autre, pour rejeter automatiquement des demandes douteuses provenant de serveurs. 
  • Contrôle de la bande passante et répartition des charges : si un serveur proxy est utilisé pour contrôler la bande passante, celui-ci attribue aux clients d’un réseau les ressources définies en amont en fonction de leur charge. Ainsi, on peut garantir un bon fonctionnement de la bande passante, sans que des applications ne la bloquent. En tant qu’interface centrale, un serveur proxy permet également de mutualiser sur différents systèmes des requêtes des clients qui exigent beaucoup de ressources ou alors des réponses du serveur. Ainsi, les charges sont uniformément réparties au sein d’un réseau informatique.
  • Proxy anonyme : Etant donné que les serveurs proxy empêchent les connexions directes entre les émetteurs et les récepteurs, il est possible de cacher l’adresse IP d’un client dernière l’interface de communication. Cela permet un certain anonymat car les utilisateurs agissent en fonction de de leurs adresse IP et de la localisation de leur proxy. En ce qui concerne les pays où la censure sur Internet est assez intense ou où l’accès y est limité, les serveurs proxy sont parfois utilisés à l’étranger afin de contourner le géoblocage.

Sortes et caractéristiques des serveurs proxy

Le proxy peut être défini de manière générale mais il est important de noter certaines caractéristiques qui font référence à la réalisation technique de ces composants de réseau ainsi que sur les différences liées à leur application. Les classifications suivantes sont courantes : proxy de niveau circuit, de niveau application et serveur proxy dédiés et générique.

Niveau application et niveau circuit

Certains serveurs proxy sont réalisés de telle manière qu’ils sont en mesure d’analyser des paquets de données qui sont transmis. A l’inverse, il existe des proxys qui n’ont pas accès aux paquets de données. Les fonctions de filtre peuvent être mises en œuvre dans ce cas sur la base de l’IP de l’émetteur et du port cible.

  • Proxy de niveau application (Application-Level-Proxy) : Un proxy de niveau application se trouve sur la couche d’application (couche 7) du modèle de référence OSI. Ainsi, ce type de serveur proxy dispose de fonctions dont le but est d’analyser des paquets de données et de bloquer, de modifier et de transmettre en fonction des règles préconfigurées. Un proxy de niveau application est également appelé filtre d’application.
  • Proxy de niveau circuit (Circuit-Level-Proxy) : le proxy de niveau circuitfonctionne sur la couche de transport (niveau 4) du modèle de référence OSI et ne peut pas analyser des paquets de données. Ce genre de proxy est en général utilisé comme un module de filtre et de pare-feu et il permet de filtrer des paquets de données via des ports et des adresses IP. A l’inverse du proxy de niveau application, le proxy de niveau circuit ne peut pas influencer la communication. Au lieu de cela, le filtrage se base sur le principe du tout ou rien. Les paquets de données sont soit transmis soit bloqués.

Serveur proxy dédié ou générique

La classification basée sur les proxys dédiés et générique fait référence à la question de savoir si un serveur est responsable uniquement du protocole de communication (proxy dédié) ou si les interfaces de réseaux servent de contact pour tous les protocoles de communication (proxy générique).

  • Proxy dédié : un serveur proxy dédié définit un protocole de communication particulier. En général, ces serveurs proxy fonctionnent parallèlement aux protocoles tels que HTTP, FTP ou SMTP.
  • Proxy générique : à l’inverse des proxys dédiés, un serveur proxy générique n’est pas spécialisé et est utilisé pour plusieurs protocoles de communication.

Dans la pratique, un proxy de niveau application est un serveur proxy dédié. Les serveurs proxy génériques sont eux utilisés au niveau circuit. Ces deux notions sont parfois utilisées comme synonymes.