Proxy

composant logiciel qui joue le rôle d'intermédiaire en se plaçant entre deux autres pour faciliter ou surveiller leurs échanges

Un proxy (litt. « mandataire ») est un composant logiciel informatique qui joue le rôle d'intermédiaire en se plaçant entre deux hôtes pour faciliter ou surveiller leurs échanges.

Représentation schématique d'un serveur proxy où l'ordinateur placé au milieu agit comme intermédiaire entre deux autres ordinateurs.

Dans le cadre plus précis des réseaux informatiques, un proxy est alors un programme servant d'intermédiaire pour accéder à un autre réseau, généralement Internet. Par extension, on appelle aussi « proxy » un matériel comme un serveur mis en place pour assurer le fonctionnement de tels services.

Attention : le proxy se situe au niveau de la couche application (HTTP, FTP, SSH, etc. de niveau 7 du modèle OSI). Une erreur commune est d'utiliser la commande traceroute (ou tracert sous Windows) pour tenter de voir le proxy. Il n'apparaît pas car cette commande utilise le protocole réseau IP de niveau 3 et ne peut donc pas connaître le proxy.

Patron de conception en programmation

modifier

Le concept de « proxy » (patron de conception) peut être utilisé dans n'importe quel programme informatique.

Si deux personnes qui ne parlent pas la même langue veulent communiquer, elles ont besoin d'un interprète. En informatique, deux entités utilisant des technologies différentes peuvent communiquer entre elles grâce à un intermédiaire qui interprète leurs échanges.

Proxy réseau

modifier
 
Principe du proxy réseau.

Dans l'environnement plus particulier des réseaux, un serveur proxy, serveur mandataire[1] ou mandataire[1], est une fonction informatique client-serveur qui a pour fonction de relayer des requêtes entre une fonction cliente et une fonction serveur (couches 5 à 7 du modèle OSI).

Les serveurs proxys sont notamment utilisés pour assurer les fonctions suivantes :

Accès Internet

modifier

Les fournisseurs d'accès à Internet (FAI) peuvent proposer des proxys pour la connexion de leurs abonnés. Il faut pour cela que l'abonné paramètre correctement son système (via un logiciel d'installation fourni par le FAI).

Mais il est également possible que le fournisseur d'accès utilise un proxy transparent (sans configuration par l'utilisateur). Ce proxy permet par exemple au fournisseur d'accès de connaître les habitudes de navigation de ses abonnés ou de réduire le nombre d'accès effectifs aux sites distants.

Dans le cadre de la sécurité

modifier

L'utilité des serveurs proxys est importante, notamment dans le cadre de la sécurisation des systèmes d'information.

Par exemple, il est presque systématique en entreprise ou dans les établissements scolaires que l'accès Internet se fasse à travers un serveur proxy. L'internaute ne voit pas la différence, sauf quand il tente de naviguer sur un site interdit, auquel cas il pourra recevoir un message d'erreur : un tel proxy est appelé proxy filtrant. Il se peut aussi qu'une boite de dialogue s'ouvre et demande un identifiant et un mot de passe avant de pouvoir surfer sur Internet.

À l'inverse, un proxy peut aussi servir à contourner les filtrages. Supposons le cas d'un pays qui bloque l'accès à certains sites considérés comme « subversifs », mais qui effectue ce filtrage uniquement en se basant sur l'adresse du site que l'on souhaite visiter. Dans ce cas, en utilisant un proxy comme intermédiaire (situé dans un autre pays donc non affecté par le filtrage), on peut s'affranchir du filtrage (sauf bien sûr si l'adresse du proxy est elle-même interdite).

Le principe fonctionne également dans l'autre sens. Supposons qu'un site web n'accepte que les internautes d'un certain pays (exemple concret : un site de campagne présidentielle américain qui n'accepte que les connexions venant des États-Unis). Dans ce cas, en passant par un proxy situé aux États-Unis, un internaute français pourra visiter le site.

Un troisième rôle du proxy est de compliquer la remontée vers l'internaute (anonymisation). Dans l'exemple précédent, on a trompé le site américain qui n'était pas capable de remonter jusqu'à l'internaute à travers le proxy. Certaines techniques avancées permettent de remonter à travers le proxy. Dans ce cas, un internaute pourra utiliser de nombreux proxys en chaîne comme le réseau Tor et stopper la connexion avant que ceux qui le traquent ne soient remontés jusqu'à lui.

Proxy web

modifier
 
Exemple de proxy web.

Normalement, l'utilisation d'un proxy complet se fait en configurant son navigateur ou son ordinateur. Mais il existe une catégorie de proxy beaucoup plus simple d'utilisation : les proxys web. Il s'agit d'un simple site web dont la page offre un champ permettant de taper l'adresse du site que l'on souhaite visiter. Une fois saisie, la page demandée est affichée à l'intérieur de la première page. Mais l'adresse qui apparaît dans la barre d'adresse est toujours celle du proxy.

Ce type de proxy est moins puissant qu'un proxy normal. En effet, les pages utilisant des techniques avancées pour se mettre à jour elles-mêmes (AJAX) ne « savent » pas qu'elles passent par un proxy, et donc tentent d'atteindre leurs serveurs directement. Si ce serveur était interdit, alors la requête échoue. Par exemple, le proxy web Glype ne permet pas de consulter des sites comme Facebook ou YouTube. La plupart des proxys web ne permettent pas non plus d'utiliser des sites sécurisés utilisant HTTPS, comme les banques par exemple.

De nombreux proxys web sont disponibles gratuitement sur Internet, principalement pour permettre à des internautes de contourner les protections de leurs lieux de surf (entreprise, école, comme expliqué précédemment). La plupart se financent en affichant de la publicité en plus de la page demandée. Mais certains peuvent aussi essayer de capturer les mots de passe ou toute autre information sensible (numéro de carte bancaire) ou même rediriger l'internaute vers un faux site. Il faut donc être extrêmement prudent avant d'utiliser un proxy gratuit sur Internet.

Le principe des proxys web est utilisé par les bibliothèques universitaires pour permettre à leurs usagers d'accéder à des ressources en ligne pour lesquelles elles disposent d'un abonnement. L'adresse IP du serveur proxy est déclarée auprès du prestataire qui donne accès au contenu aux usagers passant à travers le proxy et se présentant donc avec l'adresse IP autorisée. Le système le plus utilisé pour cet usage est EZproxy.

Quelques serveurs proxy logiciels

modifier
Pour HTTP

Programmés en PHP :

Pour SSH
Pour IMAP
Pour SMTP
  • SMAP : serveur proxy pour le protocole SMTP.
Multi-protocoles
Proxy résidentiel

Un proxy résidentiel est un intermédiaire qui utilise une adresse IP réelle fournie par un Fournisseur d'accès à Internet (FAI) avec des appareils physiques tels que les mobiles et les ordinateurs des utilisateurs finaux. Au lieu de se connecter directement à un serveur, les utilisateurs proxy résidentiels se connectent à la cible via des adresses IP résidentielles. La cible les identifie alors comme des internautes organiques. Il ne laisse aucun outil de suivi identifier la réaffectation de l'utilisateur. Tout proxy résidentiel peut envoyer n'importe quel nombre de demandes simultanées et les adresses IP sont directement liées à une région spécifique[4]. Contrairement aux proxys résidentiels classiques, qui cachent la véritable adresse IP de l'utilisateur derrière une autre adresse IP, les proxys résidentiels tournants, également appelés proxys de backconnect, cachent la véritable adresse IP de l'utilisateur derrière un pool de proxys. Ces procurations basculent entre elles à chaque session ou à intervalles réguliers.[réf. souhaitée]

Historique

modifier

Historiquement, la première référence au concept de proxy remonte à Marc Shapiro, à l'International Conference on Distributed Computing Systems (en) (ICDCS) de 1986[5].

Notes et références

modifier
  1. a et b « serveur mandataire », Grand Dictionnaire terminologique, Office québécois de la langue française (consulté le )
  2. (en) PHProxy - SourceForge.net
  3. (en) Glype - Site officiel
  4. (en) Vincent Smith, Go Web Scraping Quick Start Guide: Implement the power of Go to scrape and crawl data from the web, Packt Publishing, (ISBN 978-1-78961-294-3, lire en ligne)
  5. (en) Marc Shapiro, Structure and Encapsulation in Distributed Systems: the Proxy Principle, ICDCS, Cambridge, États-Unis, 1986, pp. 198-204 [lire en ligne] [PDF]

Annexes

modifier

Articles connexes

modifier