Lorsque vous envoyez une requête via un proxy, la requête qui parvient au serveur cible n'est plus celle que vous avez envoyée. Le proxy s'interpose, modifie certains en-têtes et, la plupart du temps, ajoute de nouveaux en-têtes. Ces en-têtes ajoutés révèlent clairement que vous utilisez un proxy — et parfois votre véritable adresse IP.
C'est exactement là le fondement technique de la notion de niveau d'anonymat. Dans cet article, nous examinons quels en-têtes sont ajoutés, ce qu'ils signifient et comment vérifier votre propre connexion.
Les trois en-têtes principaux
Si cet en-tête est présent et contient votre véritable IP, le proxy appartient à la catégorie « transparent » et n'assure aucun anonymat.
| En-tête | Standard ? | Ce qu'il transporte | Effet sur l'anonymat |
|---|---|---|---|
X-Forwarded-For | Standard de fait | Chaîne d'IP clientes | Peut divulguer la véritable IP |
Forwarded | RFC 7239 | for, by, proto, host | Transporte la même information de façon structurée |
Via | RFC 9110 | Nom et version des intermédiaires | Ne donne pas d'IP mais révèle la présence d'un proxy |
X-Real-IP | Usage répandu | Une seule IP cliente | Peut divulguer la véritable IP |
X-Proxy-ID / Proxy-Connection | Non standard | Traces du logiciel proxy | Révèle la présence d'un proxy |
Les niveaux d'anonymat découlent de ces en-têtes
Les trois niveaux utilisés dans le secteur se définissent directement selon la présence de ces en-têtes :
Le niveau elite ne signifie pas « indétectable » ; il signifie uniquement qu'aucune trace n'est laissée au niveau des en-têtes . D'autres signaux, comme la réputation de l'IP et l'empreinte TLS, restent présents.
Notre article sur les niveaux d'anonymat des proxys , qui traite les niveaux dans un cadre plus large, explique quel niveau convient à quel usage. Pour tester le niveau de votre propre connexion, notre outil de test d'anonymat est à votre disposition.
D'où viennent ces en-têtes ?
Ce n'est pas toujours le proxy que vous utilisez qui ajoute ces en-têtes. La chaîne peut comporter plusieurs intermédiaires :
Chaque intermédiaire peut ajouter sa propre trace. La liste d'en-têtes qui parvient à la couche applicative de la cible est la somme de toute cette chaîne.
Si vous travaillez notamment sur un réseau d'entreprise, un intermédiaire échappant à votre contrôle peut X-Forwarded-For être en train d'en ajouter. Dans ce cas, même si le proxy que vous avez acheté est elite, l'intermédiaire situé en tête de chaîne dévoile votre identité.
Comment vérifier votre propre connexion ?
La méthode de vérification consiste à utiliser un endpoint qui reflète exactement l'apparence de votre requête côté distant. Dans le secteur, ce type d'endpoint s'appelle un proxy judge ; il renvoie en texte brut tous les en-têtes qu'il reçoit.
Placez les deux sorties côte à côte. Chaque en-tête supplémentaire visible dans la requête passée par le proxy est la trace que vous laissez.
Si vous ne souhaitez pas le faire manuellement, notre page de test d'anonymat effectue cette comparaison pour vous et rapporte le niveau. Pour voir uniquement l'IP de sortie et sa localisation, Mon adresse IP suffit.
En HTTPS, la situation change
Un détail important : en trafic HTTPS, le proxy ne peut toucher ni au corps ni aux en-têtes. Dans le tunnel établi par la méthode CONNECT, le proxy ne transporte que des octets chiffrés ; X-Forwarded-For il ne peut rien ajouter, car il ne voit même pas la requête.
C'est pourquoi, sur les sites HTTPS, la crainte qu'« un proxy transparent divulgue mon IP » est largement infondée — alors qu'elle est tout à fait fondée sur les sites en HTTP simple.
Même si le proxy ne peut pas toucher aux en-têtes, CONNECT il voit le nom de domaine figurant dans cette ligne ainsi que le champ SNI de la poignée de main TLS. Autrement dit, le site auquel vous accédez reste connu du proxy, y compris en HTTPS. Ce qui est chiffré, c'est ce que vous faites, où vous allez et non.
Lecture correcte côté serveur
L'autre face de la médaille : si vous tentez de lire la véritable IP du visiteur sur votre propre serveur, ces en-têtes sont d'une importance vitale — mais ils ne sont pas fiables. X-Forwarded-For peut être falsifié par le client.
- Ne croyez que la valeur provenant de l'intermédiaire auquel vous faites confiance. Si c'est votre reverse proxy qui l'écrit lui-même, la valeur de droite est fiable.
- Lisez la chaîne de droite à gauche. L'élément le plus à droite est l'intermédiaire le plus proche de vous et le plus fiable.
- Définissez une liste de proxys de confiance. Sous Nginx,
set_real_ip_from, et dans les frameworks applicatifs le paramètre « trusted proxies », servent précisément à cela. - Ne fondez pas vos décisions de limitation de débit et de blocage sur l'en-tête brut; un attaquant peut y écrire ce qu'il veut.
Nettoyage des en-têtes et empreinte
Se débarrasser des en-têtes de proxy ne suffit pas à soi seul. Les sites cibles s'appuient sur d'autres signaux pour classer les requêtes :
| Signal | Ce que cela révèle | Comment le gérer |
|---|---|---|
| Ordre des en-têtes | Signature de la bibliothèque (requests, curl) | Imitez l'ordre des en-têtes d'un navigateur |
| Incohérence du User-Agent | Version obsolète ou valeur factice | Utilisez une valeur réelle et à jour |
| Accept-Language | Incohérence avec le pays de l'IP | Envoyez une langue cohérente avec le pays de sortie |
| Empreinte TLS (JA3) | Bibliothèque cliente | Moteur de navigateur ou client compatible |
| Réputation de l'IP / ASN | Origine centre de données | Pool residential ou ISP |
Autrement dit, un proxy elite qui sort d'un ASN de centre de données reste facilement classifiable. À ce sujet, nos pages residential proxy et ISP proxy expliquent pourquoi l'origine de l'ASN est déterminante.
Résumé
X-Forwarded-For, Via et les en-têtes similaires sont les traces les plus visibles laissées par le proxy et constituent la définition technique du niveau d'anonymat. En trafic HTTP simple, ils peuvent dévoiler votre véritable IP ; en HTTPS, en revanche, le proxy ne peut pas toucher à ces en-têtes. Pour connaître votre propre situation, le test d'anonymat lancez, vérifiez votre IP de sortie avec Mon adresse IP et contrôlez si vous laissez ou non une trace côté DNS test de fuite DNS .