Door Anoniem: Door Erik van Straten: Door Anoniem: Als ik gebruik maak van een https proxy om example.com te bezoeken is mijn http request onderweg natuurlijk versleuteld.
Ik weet niet wat je precies bedoelt met een "https proxy".
Bij TLS v1.2 en ouder zal, i.v.m. SNI, sowieso de gewenste domeinnaam uit het request zichtbaar zijn.
Als die proxy server ook http (default destination port 80) ondersteunt, en ofwel jij tikt in de URL-balk:
1)
http://example.com2)
example.com en jouw browser maakt daar "onder water" geen
https://example.com van (omdat die site HSTS ondersteunt en je deze recentelijk hebt bezocht met die browser, en/of omdat je een recente browser gebruikt die sowieso eerst https probeert als je geen protocol specificeert):
dan zal die proxy server dat request en een eventueel antwoord daarop in
plain text zien.
Als jouw browser een verbinding op probeert te zetten met
https://example.com via de proxy server, hangt het van het type proxy server af wat er gebeurt. Als deze TLS-inspectie uitvoert (gebruikelijk is dan dat er daarvoor op jouw PC een speciaal root-certificaat is geïnstalleerd), is die proxy een MitM waarop ontsleuteld verkeer zichtbaar is (voorbeeld: mitmproxy).
Duidelijk en compleet verhaal.
Met https proxy bedoel ik een HTTPS proxy server. Zoals er naast HTTPS proxy servers ook HTTP-, SOCKS4- en SOCKS5- proxyservers bestaan.
Ben je niet in de war met een reverse proxy ?
Een gewone proxy server zet geen HTTP om naar HTTPS .
Als je een proxy server gebruikt die ook HTTPS ondersteund, stuurt je browser een CONNECT request met de gevraagde bestemming naar de proxy .
Alle verkeer van je browser naar de proxy, en naar de bestemming, is HTTPS verkeer .
Het zijn alleen twee TCP sessies - en sessie naar de proxy, en een sessie van de proxy naar de bestemming .
De proxy kopieert het data verkeer heen en weer tussen beide sessies.
n principe zou dat ook ander verkeer kunnen zijn - veel SSH clients hebben de optie om 'via' een proxy te werken - ze sturen de connect request en de proxy kan evengoed SSH verkeer heen en weer kopieren .
Alleen als de proxy expliciet kijkt of het format SSL/TLS is werkt dat niet.
De URL die je in je browser intikt is dus ook HTTPS://bestemming /
Een _reverse_ proxy, ook wel een 'SSL offload engine' , zit aan de bestemmingskant . Dat is een server, of een appliance zoals een loadbalancer, met als taak het ontvangen en uitpakken van alle SSL sessies . Het HTTP verkeer daarin wordt daarna doorgezet naar de achterliggende set van webservers .
Achter die reverse proxy is het verkeer dus wel weer leesbaar .