Qu'est-ce qu'un proxy transparent ?

proxys, Jul-08-20215 minutes de lecture

Nous pouvons définir un proxy transparent comme un serveur qui agit comme un système intermédiaire interceptant la connexion entre un utilisateur final et un fournisseur de contenu. D'autres noms pour le proxy transparent sont proxy en ligne ou proxy forcé. Nous utilisons le terme "transparent" avec le proxy parce qu'il intercepte les demandes en interceptant les paquets dirigés vers la destination

Nous pouvons définir un proxy transparent comme un serveur qui agit comme un système intermédiaire interceptant la connexion entre un utilisateur final et un fournisseur de contenu. D'autres noms pour le proxy transparent sont proxy en ligne ou proxy forcé. Nous utilisons le terme "transparent" avec le proxy parce qu'il intercepte les demandes en interceptant les paquets dirigés vers la destination, ce qui donne l'impression que la destination elle-même traite la demande. Les proxys transparents sont mis en place par le site web ou l'opérateur du réseau et non par l'utilisateur final.

Parfois, nous utilisons également le terme "proxy forcé" pour désigner un proxy transparent. C'est parce qu'il peut être appliqué à la connexion d'un utilisateur sans modifier les paramètres de proxy de son ordinateur. Par conséquent, les proxys transparents peuvent être imposés aux utilisateurs sans leur consentement, mais ils savent qu'ils sont présents dans de nombreux cas. 

Exemples de transparence proxys

Un pare-feu est un exemple de proxy transparent qui autorise le trafic entre un réseau interne et l'internet, mais qui bloque le trafic s'il enfreint la table de règles du pare-feu.

Les réseaux de diffusion de contenu (CDN) sont d'autres exemples de proxys transparent. Ils assurent la redondance, la mise en cache et améliorent la vitesse sans modifier ou exposer le système source. L'utilisateur pense qu'il est directement connecté au fournisseur de services, mais en réalité, c'est le CDN qui traite toutes ses demandes. C'est ainsi que des entreprises technologiques comme Google, Twitter et Facebook gèrent des millions de requêtes avec un minimum de temps d'arrêt.

Paramètres courants du proxy transparent

Les paramètres suivants sont les paramètres standard du proxy transparent lorsque nous le configurons :

  • Authentification : Elle fournit au serveur les mêmes informations d'identification que les utilisateurs derrière le proxy.
  • Interception : Il définit la manière dont le proxy transparent intercepte le trafic au niveau du routeur ou du système d'exploitation.
  • Caching : spécifie si le serveur proxy doit ou non mettre le contenu en cache pour les utilisateurs qui reviennent.
  • Proxy inversé: Au lieu de configurer le proxy pour intercepter l'accès à distance, nous pouvons le placer devant un serveur web pour accélérer les performances de l'utilisateur. 
  • Flux de données, filtrage des chats : Nous pouvons configurer le proxy transparent de manière à ce que les utilisateurs ne soient pas autorisés à accéder à des ports ou protocoles spécifiques.

Utilisation d'un proxy transparent - côté client

Nous pouvons déployer un proxy transparent côté client, ce qui signifie que le proxy intercepte tout le trafic vers et depuis un point d'extrémité du client. Les utilisations de proxys transparent côté client sont les suivantes :

Mise en cache transparente

Lorsque plusieurs personnes accèdent au même contenu à partir de la même zone ou du même endroit - par exemple, lorsque plusieurs étudiants consultent le même site d'actualités via le réseau de leur université - il est plus efficace d'utiliser un proxy transparent pour mettre le contenu en cache dans un premier temps et le servir à partir du cache aux utilisateurs suivants.

Authentification

Les opérateurs d'Internet cellulaire et les points wifi publics utilisent parfois proxys pour obliger les utilisateurs à s'authentifier sur le réseau et à accepter leurs conditions de service. Ils ne sont autorisés à surfer que lorsque l'utilisateur s'authentifie et accepte les conditions générales. 

La plupart des utilisateurs ne savent pas que l'ensemble de la connexion peut être interceptée et surveillée par l'opérateur, même après l'écran d'authentification initial via un proxy transparent.

Surveillance du trafic

Lorsque nous exploitons un réseau, nous pouvons mettre en place un proxy transparent pour surveiller le trafic et le comportement des utilisateurs, mais la surveillance du trafic a également de nombreuses utilisations illégitimes. Par exemple, un opérateur de wifi public peu scrupuleux et indigne de confiance peut facilement surveiller les connexions des utilisateurs et voler des informations d'identification et des données.

Passerelle proxys

Nous pouvons utiliser un proxy passerelle pour modifier ou bloquer le trafic réseau sur la base de règles. Un exemple de proxy passerelle est le proxy pare-feu transparent présenté dans l'exemple ci-dessus.

Filtrage du contenu

Nous pouvons également utiliser un proxy transparent pour filtrer les contenus inutiles et indésirables. Par exemple, le proxy peut s'abstenir de transmettre la requête au serveur web lorsqu'un site web spécifique est demandé. Au lieu de cela, il intercepte la connexion et affiche un avis ou un message d'erreur à l'utilisateur.

Utilisation du proxy transparent - côté serveur

Protection contre le déni de service (Dos)

Nous pouvons protéger un serveur contre une attaque par déni de service (DoS) de type SYN-flood en utilisant un type de proxy transparent, à savoir l'interception TCP. Il a pour fonction d'intercepter tout le trafic à destination d'un serveur web, d'accepter les requêtes des clients et d'effectuer une poignée de main à trois voies. En outre, si l'interception du trafic est réussie, il effectue une poignée de main à trois voies avec le serveur, joignant ainsi les deux demi-connexions entre le client et le serveur.

L'interception du protocole de contrôle de transmission vérifie les demandes TCP et attend généralement 30 secondes pour établir des connexions. Il passe en "mode agressif" lorsque le nombre de connexions inactives dépasse un certain seuil. Dans ce mode, chaque nouvelle connexion qui arrive entraîne la suppression de la connexion passive la plus ancienne.

Cependant, la technique décrite ci-dessus n'est plus efficace contre les attaques modernes de déni de service distribué (DDoS) à grande échelle. En effet, les attaquants contrôlent aujourd'hui des millions d'ordinateurs zombies et de serveurs surpuissants pour créer des flux SYN qui submergent un contrôleur d'interception TCP.

C'est pourquoi la plupart des organisations utilisent aujourd'hui des services en nuage tels que la protection DDoS d'Imperva. Ces services peuvent protéger contre les attaques DDoS de grande ampleur, et ils peuvent également s'étendre à la demande, ce qui permet de mieux gérer les attaques de grande ampleur. 

Par exemple, les services DDoS peuvent empêcher les attaques de la couche application et les attaques de protocole qui ne se produisent pas au niveau de la couche TCP.

CDN pour l'optimisation du front-end

Nous pouvons définir un réseau de diffusion de contenu (CDN) comme un réseau mondial distribué de serveurs proxy qui sert et met en cache le contenu pour les utilisateurs proches de leur emplacement géographique.

Un exemple de CDN est le Global Content Delivery Network d'Imperva, un proxy transparent fonctionnant côté serveur. Son objectif est d'optimiser l'interface utilisateur afin d'améliorer l'expérience de l'utilisateur final. Il intercepte le trafic vers un serveur web et propose le même contenu à partir du cache du serveur au lieu de laisser l'utilisateur accéder directement au serveur. Il en résulte une amélioration des performances de l'utilisateur et une réduction des ressources système requises sur le serveur.

Limites du proxy transparent

Bien que le proxy transparent présente un large éventail d'avantages, il peut générer certaines frustrations dans des environnements d'entreprise complexes.

Manque de robustesse : Si une connexion est établie entre un client et un cache et qu'un changement de routage survient, amenant le client à adopter un chemin qui ne passe plus par le dispositif de réseau "déviant", la session sera interrompue et l'utilisateur devra recharger la page.

D'autre part, si les routeurs sur l'internet sont irréguliers (un routeur annonce alternativement un réseau de destination dans une séquence rapide), les résultats seront encore plus imprévisibles.

Dépendance à l'égard du navigateur : La plupart des sites proxys transparents dépendent du navigateur qui fournit le nom d'hôte du serveur d'origine dans l'en-tête de la requête HTTP pour fonctionner correctement.

Elle est nécessaire car ces caches n'ont pas accès à l'adresse IP de destination du serveur d'origine à partir de l'adresse IP du paquet.

Par conséquent, lorsqu'une erreur de cache se produit, ils ne peuvent pas identifier l'adresse du serveur d'origine à laquelle envoyer la requête.

Conclusion

Nous avons vu que le trafic internet pouvait être contrôlé et filtré par l'utilisation d'un proxy transparent. Il façonne également la manière dont nous interagissons avec le web. Qu'il serve les données plus rapidement en filtrant les contenus indésirables, en les mettant en cache ou en donnant aux entreprises plus de contrôle sur leurs réseaux, le proxy transparent ajoute des fonctionnalités à l'internet sans ajouter d'inconvénients.