Verboden voor proxy’s
Ik was laatst wat aan het surfen toen ik eens terecht kwam op een website met de tekst: “you are using a proxy!” En dat klopte, maar ik was in de veronderstelling dat dit niet zichtbaar was voor de buitenwereld. Zoals wel vaker het geval kon ik de verleiding niet weerstaan om even uit te zoeken hoe de vork in de steel zat. Gewapend met mijn favoriete packet sniffer tshark ging ik op onderzoek uit.
Gedurende mijn studententijd is ooit de behoefte ontstaan om websites te kunnen blokkeren op basis van een URL in plaats van het IP-adres. Er zijn vele redenen te verzinnen om dit te willen doen, maar laten we het er maar op houden dat ik het gewoon leuk vond vind om de machtige admin uit te hangen. :-)
Sindsdien maak ik voor mijn thuisnetwerk gebruik van de proxyserver Squid. Deze is geconfigureerd als een zogenaamde transparent proxy. Dit omdat ik dan op pc’s in mijn netwerk niks hoef te configureren. De gebruiker merkt er niks van en dat is lekker makkelijk.
Dan nu even terug naar het probleem; blijkbaar kunnen webservers zien dat ik een proxyserver gebruik en op basis daarvan andere resultaten teruggeven. Dat is dan weer een neveneffecten waar ik niet zo blij mee ben. Eerst maar even testen wat er gebeurt als ik mijn proxyserver uitzet. En inderdaad, zonder gebruik van de proxyserver kom ik probleemloos op de desbetreffende website, maar met Squid ingeschakeld krijg ik alleen de tekst “you are using a proxy!” te zien. Al snel had ik zo’n vermoeden dat het iets in mijn HTTP request moest zijn, op basis waarvan ‘men’ kon zien dat ik gebruik maakte van een proxyserver. En er is maar één manier om daarachter te komen.
Door tshark als volgt te starten, vang ik alle uitgaande pakketjes op mijn internet interface geadresseerd aan poort 80 op in het bestand “output”:
tshark -i eth1 -x tcp dst port http -w output
Met de proxyserver ingeschakeld zie ik een aantal velden in de HTTP header van het uitgaande HTTP request staan die er niet zijn wanneer de proxyserver uit staat. Het betreft de volgende velden:
Via: 1.1 proxy.traxotic.net:3128 (squid/2.6.STABLE5)
X-Forwarded-For: 192.168.1.3
De eerste regel geeft de geconfigureerde hostname, het luisterende poortnummer (alleen op de interne interface, dus don’t bother trying) , en de versie van mijn proxyserver weer. De tweede regel geeft het interne ipadres van de pc waarmee ik de desbetreffende website bezoek. Deze regels worden dus door Squid toegevoegd aan alle (!) uitgaande HTTP headers. Ik denk dat Google inmiddels wel weet hoeveel systemen er in mijn interne netwerk hangen. Anyway, zo’n 10 minuten later was mijn squid.conf voorzien van de volgende configuratieparameters:
header_access Via deny all
header_access X-Forwarded-For deny all
En hiermee was het hele probleem opgelost, omdat Squid de betreffende velden dan niet meer toevoegt aan de uitgaande HTTP headers. Geen “you are using a proxy!” melding meer met de proxyserver ingeschakeld. En dat was precies wat ik wilde, met als toetje dat ik mijn privacy weer een klein beetje meer geborgd heb.
Afbeelding van Ark-Library.
Plaats een Reactie
Meepraten?Draag gerust bij!