Threat Model

Risico's van openbare proxyservers en hoe ermee om te gaan

3 min read Published Updated 510 words

Behandel elke gratis proxy als een niet-vertrouwde infrastructuur, want dat is het ook. De beheerder is anoniem, het financieringsmodel is onduidelijk en dezelfde socket kan in één week rouleren door een botnet, een gecompromitteerde thuisrouter en een honeypot van een onderzoeker. Dat maakt gratis proxies niet onbruikbaar — het maakt een kleine set gewoontes niet-onderhandelbaar.

De veelvoorkomende aanvallen

De bedreigingen zijn niet dramatisch. Het zijn de saaie soort die slagen omdat de meeste gebruikers niet de moeite nemen zich ertegen te verdedigen.

Diefstal van inloggegevens via onversleuteld HTTP. Als je via http:// inlogt op iets via een onbekende proxy, ziet de beheerder het wachtwoord. Tunnel TLS altijd door CONNECT of gebruik SOCKS naar een bestemming die zelf HTTPS afdwingt. Moderne inlogstromen zijn op de grote sites HTTPS-only, maar legacy-intranetten, IoT-beheerpagina's en oude CMS-implementaties zijn dat niet.

Header- en contentinjectie. Een vijandige HTTP-proxy kan willekeurige delen van je verzoek herschrijven: cookies wijzigen, referrers omwisselen, trackingparameters injecteren of cache-headers verwijderen. Dezelfde proxy kan content in antwoorden injecteren — scripts in HTML, redirects in JSON, advertenties in statische pagina's. Als je server-side antwoorden via de proxy leest, behandel ze dan als gecompromitteerd totdat je de integriteit via een vertrouwd pad kunt verifiëren.

DNS-hijack via SOCKS5. SOCKS5 kan hostnamen bij de proxy oplossen. Als de proxy liegt over een DNS-record, maak je verbinding met een server die de beheerder beheert. Stel je client in om lokaal op te lossen waar mogelijk: curl --resolve example.com:443:93.184.216.34, of in code, geef een IP door in plaats van een hostnaam.

Verkeerslogging. Zelfs een goedbedoelende proxy kan elke URL die je opvraagt loggen. Voor dreigingsmodellen die 'welke URL's heeft deze persoon opgevraagd' omvatten, is elke openbare proxy het verkeerde hulpmiddel. Gebruik Tor of een betaalde VPN met een gepubliceerd no-logbeleid en een staat van dienst met betwiste dagvaardingen.

Uitputting van bronnen tegen de client. Sommige proxies vertragen verbindingen opzettelijk tot een slakkengang, retourneren zeer grote antwoorden of houden sockets open zonder gegevens te verzenden. Stel strikte limieten in voor de antwoordgrootte en time-outs voor verbindingen aan de clientzijde.

Verdedigingen, in volgorde van prioriteit

Stuur alles binnen TLS via CONNECT of naar een HTTPS-bestemming via SOCKS. Gebruik nooit inloggegevens achter een openbare proxy die je elders opnieuw zou gebruiken. Valideer certificaten strikt — het pinnen van de uitgever is overdreven voor incidenteel gebruik, maar elke keten accepteren is roekeloos. Stel korte time-outs in voor verbinding en lezen. Log proxy-antwoorden voor forensische analyse wanneer de workload ertoe doet. Wissel regelmatig; een proxy die vijf minuten geleden werkte, is niet noodzakelijk dezelfde proxy nu.

Waar gratis proxies eigenlijk goed voor zijn

Drie categorieën werk rechtvaardigen de ruis. Testen van geografische contentvariaties: serveert je CDN de juiste pagina vanuit Frankfurt versus São Paulo? Scrapen van openbare, niet-geauthenticeerde gegevens: zoekmachineresultaten, openbare API's zonder snelheidslimieten per IP, content die elders al is geïndexeerd. Verifiëren dat je applicatie zich correct gedraagt wanneer het uitgaande IP onbekend is voor de doelwit — nuttig voor QA op systemen met IP-gebaseerde fraudeheuristieken.

Gebruik ze daarvoor. Accepteer het uitvalpercentage. Zet er niets achter waarvan je het verlies niet zou willen dragen.