Sziasztok!
Adott a következő szituáció:
A gépem egy olyan munkahelyi hálózatban van, ahol csak proxy-n keresztül működik a webezés. A proxy a 3128-as TCP porton hallgatózik, és csak felhasználónévvel és jelszóval történő authentikáció után enged internetezni. Ha a böngészőmben beállítom ezt a proxy-t SSL proxynak, és megnyitok egy HTTPS oldalt, akkor a böngészőm csatlakozik a proxyhoz, beküldi az általam begépelt nevet és jelszót, majd a HTTP protokoll CONNECT metódusa segítségével SSL kapcsolatot nyit a célszerver felé. A proxy nem nyitja fel ezt az SSL kapcsolatot man-in-the middle módszerrel, hanem simán átengedi magán.
Az interneten van egy általam üzemeltetett proxy, amely nem a 3128-as, hanem a 443-as porton hallgatózik, mégpedig nem HTTP, hanem HTTPS protokollal.
A munkaállomásom /etc/hosts fájljában a saját külső proxym nevéhez hozzárendelem a 127.0.0.1 IP-címet (ez tanúsítványellenőrzés miatt kell), majd elindítom a delegate démont a következő paraméterezéssel:
> delegated -f -P4443 \
ADMIN=john@doe.com \
SERVER=tcprelay://kulso.proxy.ipcime:443 \
FORWARD=ssltunnel://felhasznalonev:jelszo@sajat.proxy.ipcime:3128
A fenti parancssorban természetesen a belső, munkahelyi proxyhoz tartozó felhasználónevet és jelszót adom meg. Ezután elindítom a chrome-ot a következő paraméterezéssel:
google-chrome --proxy-server=https://kulso.proxy.dnsneve:4443
A chrome a delegated segítségével átjut a belső proxyn, HTTPS-sel csatlakozik a külső proxyhoz, kéri az ahhoz a proxyhoz tartozó nevet és jelszót, majd minden kiválóan működik, vagyis működik a webezés a két proxyn keresztül.
Mindössze annyi problémám van, hogy a delegatednek parancssorban kellett beadnom a jelszót, ráadásul minden HTTP tranzakciónál cleartext-ben logolja!
Nem tudjátok, hogy lehetne rávenni a delegatedet, hogy interaktívan kérje be a nevet és jelszót, aztán pedig ne írja be őket a logba?
Köszi!
Hozzászólások
RTFM? Esetleg ismertek valami könnyebb súlyú lakossági proxyt Windowsra?
Nagyon keveset használtam a delegated-et, de jobb híján, megkerülő megoldásként én konfigfájlba tenném az egész paraméterezést a jelszóval együtt.
Ugyanez, csak SSH-t visz át a helyi proxydon:
http://wiki.kartbuilding.net/index.php/Corkscrew_-_ssh_over_https
Majd ebben az SSH-ban aztán olyan port forwardingot csinálsz, amilyet akarsz a távoli proxydra.
Hát, kicsit bonyolultnak tűnik. Natív Windowson kellene futnia a cuccnak, rendkívül egyszerűen és biztonságosan kellene mennie. A biztonság alatt azt értem, hogy a jelszó legfeljebb a processz memóriájában legyen jelen. Se a parancssorban, se fájlban. És nincs sok időm a megoldás megtalálására.
Az, hogy Windowsról van szó, természetesen azt jelenti, hogy nem a /etc/hosts fájlt kell szerkeszteni, hanem a C:\Windows\System32\drivers\etc\hosts fájlt. Viszont a fájl szerkesztése helyett jobban tetszene egy olyan megfejtés, ahol parancssorból mondjuk valami net... paranccsal átmeneti hosztnév-ipcím összerendelést hozok létre, ami csak a memóriában van jelen, és újraindításkor törlődik. Nem ismertek ilyet, Windosws-guruk?