Proxy internet : fonctionnement, types et limites réelles
Un proxy internet est une machine intermédiaire qui reçoit vos requêtes, les rejoue vers la destination et vous renvoie la réponse, si bien que le serveur visité enregistre l'adresse IP du proxy et non la vôtre. Il relaie et filtre, il ne chiffre pas votre trafic par lui-même.
Ce qui se passe quand vous passez par un proxy
Vous demandez example.com et votre machine n'ouvre aucune connexion vers example.com. Elle parle à un intermédiaire, qui va chercher la ressource et vous la retourne. Le serveur d'en face inscrit dans ses journaux l'adresse IP du proxy, jamais la vôtre.
Un détail change tout par rapport à un routeur qui fait du NAT : le proxy termine votre connexion TCP et en ouvre une seconde, la sienne, vers la destination. Deux sessions distinctes, recollées au milieu. De là découlent toutes ses capacités, mettre une réponse en cache, refuser un domaine, réécrire un en-tête, journaliser une URL, compter les octets par utilisateur.
Un proxy relaie. Il ne chiffre rien de lui-même.
En entreprise, c'est d'ailleurs le filtrage et la traçabilité qui justifient le dispositif, pas l'anonymat. Squid, le logiciel libre historique dont la version 1.0 date de 1996, écoute par défaut sur le port 3128 et refuse une requête sur la base d'une liste de domaines, d'une plage horaire ou d'un groupe LDAP.
HTTP, CONNECT et SOCKS5
Un proxy HTTP lit vos requêtes en clair : la méthode, l'URL complète, les en-têtes, le User-Agent. Il filtre finement, et il enregistre tout aussi finement.
Dès que vous passez en HTTPS, il perd cette vue. Le navigateur envoie CONNECT hote:443, méthode décrite par la RFC 9110 section 9.3.6, le proxy ouvre un tunnel TCP brut et recopie des octets qu'il ne comprend pas. Il connaît le nom d'hôte, le port, l'horodatage et le volume, pas le chemin de l'URL ni le contenu. Sauf interception TLS avec une autorité de certification maison installée sur les postes, auquel cas le tunnel est ouvert, déchiffré, relu, puis rechiffré vers vous.
SOCKS joue un cran plus bas. La version 5, spécifiée par la RFC 1928, ignore le protocole transporté : elle relaie du TCP et de l'UDP, ce qui la rend utilisable pour SSH, un client mail, un jeu ou un client BitTorrent. L'authentification par identifiant et mot de passe fait l'objet d'une RFC séparée, la 1929, et elle circule sans chiffrement.
SOCKS4, que proposent encore de vieux outils, ne gère ni UDP ni IPv6.
| Type | Port courant | Trafic relayé | Ce que l'opérateur du proxy voit |
|---|---|---|---|
| Proxy HTTP | 3128 (défaut Squid), 8080 | HTTP en clair | URL complète, en-têtes, contenu |
| Proxy HTTP via CONNECT | 3128, 8080 | HTTPS tunnelé | Nom d'hôte, port, horaires, volume |
| SOCKS5 (RFC 1928) | 1080 (assigné socks par l'IANA) | TCP et UDP, tout protocole | Destination, port, volume |
| Reverse proxy | 80 et 443 | Trafic entrant vers vos serveurs | Tout, il détient le certificat |
Le brancher, et le débrancher quand il casse tout
Le test qui tranche tient en une ligne de commande.
La panne la plus fréquente ne vient pas du proxy mais de no_proxy. Un dépôt interne, un registre Docker, une API sur le réseau local : tout ce qui n'y figure pas part vers le relais, qui refuse, et vous récupérez un délai d'attente incompréhensible sur une machine qui joint pourtant sa cible en direct sans problème.
Deuxième piège, la casse des variables. curl n'honore http_proxy qu'en minuscules et ignore délibérément HTTP_PROXY, parce qu'en contexte CGI un en-tête Proxy: envoyé par un client se transforme en variable d'environnement du même nom et permettrait de détourner les connexions sortantes, la faille httpoxy révélée en 2016. Pour HTTPS_PROXY, les deux casses passent.
Si le relais réclame une authentification, il répond 407 Proxy Authentication Required avec un en-tête Proxy-Authenticate. Ne confondez pas avec un 401, qui vient du site visité.
- curl -x http://10.0.0.5:3128 https://ifconfig.me : si la réponse affiche l'IP du proxy et non la vôtre, le relais fonctionne
- export http_proxy=http://user:pass@10.0.0.5:3128, puis https_proxy et no_proxy=localhost,127.0.0.1,.interne.lan,169.254.169.254
- curl --proxy socks5h://127.0.0.1:1080 https://example.com : le h délègue la résolution DNS au proxy, sans lui votre résolveur habituel continue de voir chaque nom demandé
- Un fichier PAC distribué par WPAD centralise les règles, la fonction FindProxyForURL(url, host) renvoyant DIRECT ou PROXY 10.0.0.5:3128
Proxy, reverse proxy, VPN : trois choses différentes
La confusion la plus coûteuse concerne le reverse proxy. Un proxy classique, dit direct ou forward, se place du côté des clients et les représente vers l'extérieur. Un reverse proxy est planté devant des serveurs, reçoit le trafic public et le répartit en interne. Nginx, HAProxy, Traefik, un CDN : même mot, position inversée, bénéficiaire inversé. Le premier surveille ou protège l'utilisateur, le second protège et distribue le service.
Derrière un reverse proxy, l'IP réelle du demandeur se retrouve dans X-Forwarded-For, ou dans son équivalent normalisé Forwarded défini par la RFC 7239.
Le VPN ne se compare pas au proxy sur le même axe. Il monte un tunnel chiffré au niveau réseau et y engage tout ce que la table de routage lui confie, navigateur compris, mais aussi mises à jour système, client de messagerie et requêtes DNS. Un proxy se règle application par application, et un poste mal configuré continue d'envoyer en direct ce que vous croyiez relayé.
Ce que le proxy ne vous apporte pas
Masquer votre IP au site visité ne vous rend pas discret pour autant. L'opérateur du relais, lui, voit tout : en HTTP clair, le contenu intégral ; en HTTPS, le nom d'hôte, les horaires, la fréquence, les volumes. Vous avez déplacé la confiance, pas supprimé le besoin de confiance.
Sur un proxy public gratuit, cette question n'a aucune bonne réponse : vous ignorez qui l'exploite, ce qui est journalisé, et si un certificat d'interception a été glissé dans la chaîne. Je n'ai pas connaissance d'un recensement récent et méthodologiquement solide de la proportion de proxys publics hostiles, je ne vous en inventerai donc pas.
Le reste des fuites est documenté depuis longtemps. DNS résolu en local quand vous utilisez socks5 au lieu de socks5h, WebRTC qui expose l'IP locale et publique depuis le navigateur, cookies et empreinte du navigateur strictement intacts d'une IP à l'autre.
Pour contourner un filtrage réseau, un proxy fait le travail. Pour de la confidentialité, non.
Testez vos connaissances
Quel port est assigné à SOCKS par l'IANA ?
Score : 0 sur 3
Questions fréquentes
Un proxy cache-t-il mon adresse IP à mon fournisseur d’accès ?
Non. Votre FAI voit la connexion vers le proxy, son adresse IP, les horaires et les volumes échangés. En HTTPS il ne lit pas les URL, mais il sait parfaitement que votre ligne dialogue avec ce relais. Le proxy vous masque auprès du site visité, pas auprès de votre opérateur.
Proxy ou VPN, lequel choisir ?
Le proxy si vous voulez router une seule application, tester une IP sortante ou appliquer un filtrage de sortie en entreprise. Le VPN si vous voulez chiffrer et router l'ensemble du trafic de la machine, DNS inclus. Un proxy SOCKS5 sans TLS laisse le lien entre vous et le relais en clair.
Pourquoi mes requêtes reçoivent-elles un code 407 ?
Le proxy exige une authentification et l'annonce via l'en-tête Proxy-Authenticate. Renvoyez les identifiants dans Proxy-Authorization, ou intégrez-les à l'URL du proxy avec curl : -x http://utilisateur:motdepasse@10.0.0.5:3128. En environnement Windows d'entreprise, la négociation est souvent NTLM ou Kerberos, et beaucoup d'outils en ligne de commande la gèrent mal.
Un proxy ralentit-il la navigation ?
Il ajoute un saut : quelques millisecondes si le relais est dans le même datacenter, bien davantage s'il se trouve sur un autre continent. Un proxy cache peut aussi accélérer les ressources déjà stockées, Squid le signale alors par un en-tête X-Cache: HIT dans la réponse.
Comment savoir si mon employeur déchiffre mon HTTPS ?
Ouvrez le détail du certificat d'un site public dans le navigateur et remontez la chaîne. Si l'autorité racine porte un nom interne à l'entreprise au lieu d'une AC publique, l'interception TLS est active et le contenu de vos sessions est lisible côté passerelle.
À lire aussi
changer adresse ip · confidentialite en ligne · attaque man in the middle · codes statut http