Les reverse proxys, ou proxys inverses en français, sont utilisés comme composants réseau intermédiaires pour sécuriser les serveurs des services publics en ligne. Pour ce faire, ils reçoivent les requêtes des clients et les transmettent aux serveurs.

Comment fonctionne un reverse proxy ?

Fondamentalement, un serveur proxy fonctionne comme une interface de communication sur le réseau, qui reçoit les requêtes et les transmet à un serveur cible par procuration. Un reverse proxy est toujours placé entre les clients (par exemple, les navigateurs Web) et les serveurs dorsaux ou backend (par exemple, les serveurs Web, les serveurs de base de données ou les applications). Dès qu’une requête client est envoyée, il intervient et décide si elle doit être transmise et vers quel composant serveur interne. Voici les quatre étapes de base de ce processus :

  1. Réception de la requête du client : le reverse proxy accepte les requêtes HTTP, HTTPS, ou d’autres requêtes comme FTP ou WebSocket.
  2. Analyse de la requête : le proxy vérifie si la requête est valide, si elle présente des risques de sécurité et s’il existe une version mise en cache.
  3. Renvoi vers le serveur approprié : si la demande ne peut pas être satisfaite à partir du cache, le reverse proxy envoie la demande à l’un des serveurs internes.
  4. Réponse au client : le reverse proxy reçoit la réponse du serveur dorsal, la traite si nécessaire (par exemple avec un chiffrement) et la renvoie au client qui a fait la demande.
Image: Représentation schématique d’un reverse proxy
Le reverse proxy et le serveur Web se trouvent sur un réseau interne commun.
Note

Les reverse proxys sont généralement installés sur un réseau privé ou une zone démilitarisée (DMZ) et sécurisés par un pare-feu.

Quelle est la différence avec les forward proxys ?

Alors que les reverse proxys sont placés entre les clients et les serveurs backend, les forward proxys sont placés entre les clients et Internet.

Un forward proxy canalise toutes les requêtes des clients et les transmet avec sa propre adresse d’expéditeur aux serveurs cibles sur Internet. Les réponses des serveurs atteignent d’abord le proxy avant d’être distribuées aux appareils clients correspondants. Ceux-ci restent donc anonymes, à moins qu’il ne s’agisse d’un proxy transparent.

Alors qu’un forward proxy protège les clients sur le réseau interne contre les menaces externes, un reverse proxy sécurise les serveurs sur un réseau public et optimise leur accessibilité.

Les reverse proxys offrent ainsi des avantages évidents pour les structures de serveurs grâce à des fonctionnalités telles que le load balancing et diverses fonctions de sécurité, les forces des forward proxys résident dans la protection des clients.

Image: Représentation schématique d’un forward proxy
Contrairement au reverse proxy, le forward proxy se trouve sur un réseau interne partagé avec les clients.
Note

Les forward proxys sont souvent utilisés pour contrôler l’accès à Internet dans les réseaux d’entreprise. Ils sont également utilisés pour l’anonymisation dans les services VPN et pour contourner le géoblocking.

Domaines d’application d’un reverse proxy

Le regroupement des requêtes des clients permet un contrôle élevé du trafic entrant grâce aux reverse proxys. Cela permet notamment de mettre à disposition plusieurs serveurs sous la même URL, de répartir les requêtes de manière égale sur différents serveurs et d’accélérer la récupération des données grâce au caching. Les principaux domaines d’utilisation d’un serveur reverse proxy sont énumérés ci-dessous.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avantageux et cœurs dédiés performants
  • Sans engagement pour plus de flexibilité
  • Assistance par des experts 24h/24 et 7j/7 incluse

Load balancing (équilibrage de charge)

Grâce à un reverse proxy placé en amont, il est possible de lier une URL à divers serveurs sur le réseau privé. Cela permet de répartir les requêtes entrantes sur plusieurs serveurs. Ce load balancing prévient la surcharge de certains systèmes et sert de solution de secours en cas de panne. Si un serveur est inaccessible en raison d’une défaillance matérielle ou logicielle, le module de load balancing du proxy redistribue les requêtes entrantes sur les serveurs restants. La disponibilité des services du serveur continue ainsi d’être assurée même en cas de panne.

Caching (mise en cache)

Pour accélérer la vitesse des services de serveur, les reverse proxys peuvent offrir une fonction permettant de mettre en cache le contenu fréquemment consulté. Cela permet au serveur proxy de répondre lui-même aux requêtes répétitives, soit intégralement, soit partiellement. Les contenus statiques tels que les images ou les feuilles de style CSS sont conservés dans le cache du proxy. Ainsi, il n’y a pas ou beaucoup moins de données à récupérer auprès du serveur dorsal, ce qui accélère considérablement le taux d’accès aux services Web. Cependant, comme il n’est pas toujours possible de s’assurer que le cache du proxy contient la version la plus récente des contenus qui changent rapidement, il peut arriver que les clients reçoivent des informations obsolètes.

Mesures de protection et de sécurité

Un reverse proxy agit comme une sorte de bouclier pour les serveurs dorsaux et peut, dans ce rôle, offrir différentes fonctions de sécurité :

  • Protection contre les DDoS : les reverse proxys peuvent détecter et bloquer le trafic suspect ou anormalement élevé dans le cadre d’attaques DDoS avant qu’il n’atteigne les serveurs dorsaux.
  • Pare-feu applicatif Web (WAF) : de nombreux reverse proxys incluent un WAF qui peut filtrer les requêtes malveillantes telles que les injections SQL ou le cross-site scripting (XSS).
  • Liste blanche et liste noire d’adresses IP : le proxy peut, si nécessaire, bloquer certaines adresses IP ou n’autoriser que les connexions provenant de certains réseaux.
  • Masquage des serveurs backend : le proxy empêche que les adresses IP internes des serveurs backend soient publiquement visibles, ce qui rend les attaques plus difficiles.

Chiffrement

Afin de soulager les serveurs backend, les serveurs reverse proxy peuvent également être utilisés pour le chiffrement. Dans ce cas, ils déchiffrent la requête SSL/TLS du client (par exemple une connexion HTTPS), transmettent les données déchiffrée aux serveurs backend et renvoient la réponse au client sous forme chiffrée. La communication interne peut être chiffrée ou non.

Anonymisation

Un reverse proxy peut également être utilisé pour anonymiser le trafic en masquant les adresses IP originales des clients ou en les remplaçant par d’autres adresses IP. De cette manière, la vie privée des clients peut être protégée, puisque les adresses IP réelles ne sont alors pas visibles dans les journaux. De plus, cela permet le geo load balancing : les requêtes peuvent être redirigées vers le serveur le plus proche en fonction de l’emplacement géographique de l’utilisateur.

Compression

Avec un logiciel approprié, un reverse proxy peut être utilisé pour compresser les données entrantes et sortantes. Un logiciel populaire pour la compression de sites Web est gzip, souvent utilisé en combinaison avec les serveurs Web Apache ou NGINX.

Cet article vous a-t-il été utile ?
Aller au menu principal