Il-VPN jgħaqqad, u tliet għodod mhux marbuta jonqsu fi tliet modi differenti fl-istess waranofsinhar. mitmproxy jieqaf jara talbiet, Chrome jirrifjuta d-debugger, u Gradle jitfa' BindException waqt li jorbot socket lokali. Is-suspett komuni huwa li t-tunnel jimblokka localhost. Ma jistax: 127.0.0.1 jiġi ttrattat ġewwa l-kernel u qatt ma jasal għal adapter, aħseb u ara għal gateway.

Tliet saffi, tliet ħsarat differenti

Dak li nbidel mal-klijent mhuwiex ir-rotta lejn loopback. Hija proxy lokali, maħżen tal-fiduċja tal-magna u filtru tal-pakketti, u kull wieħed minnhom ikisser parti differenti mill-fluss tax-xogħol ta' żviluppatur. Li tqiegħed sintomu fil-linja t-tajba huwa l-biċċa l-kbira tad-dijanjosi:

SymptomLayerFirst check
Proxy sees no trafficLocal proxy or listenerss -lntp, or netstat -ano on Windows
TLS error in one tool onlyTrust storeWhich CA bundle does that runtime read?
Local bind or connect refusedPacket filter or port ownerWho holds the port, and what rule drops it?

Kważi kull rapport ta' dan it-tip jibda fl-aħħar linja u jimxi 'l fuq, li huwa bil-maqlub. It-tunnel huwa l-unika saff li b'mod ippruvat ma jistax jara traffiku loopback, għalhekk jistħoqqlu l-inqas suspett. Ibda b'dak li rabat il-proċess, imbagħad staqsi liema ċertifikati jafda, u biss wara ħares lejn il-politika fuq il-magna.

Ibda mil-listener, mhux mit-tunnel

Meta proxy fuq 127.0.0.1:8080 jieqaf jirċievi traffiku, ġara wieħed minn tliet affarijiet: qatt ma beda, rabat port ieħor, jew il-filtru waqqa' l-konnessjoni loopback. Li telenka s-sockets li qed jisimgħu jwieġeb għal dan b'kmand wieħed, u juri wkoll liema proċess għandu l-port meta żewġ għodod ma jaqblux min kien l-ewwel.

Indirizz lokali fi tfittxija tar-rotta jikkonferma l-istess ħaġa mid-direzzjoni opposta. ip route get lejn destinazzjoni loopback jirrapporta l-apparat loopback, qatt it-tunnel, li hija sentenza utli li jkollok lesta meta xi ħadd jipproponi bidla fir-routing bħala soluzzjoni.

Is-saff tal-proxy: l-ambjent mhuwiex konfigurazzjoni

Ħafna klijenti korporattivi jmexxu proxy HTTP u jistennew li l-applikazzjonijiet jużawh. Li tissettja HTTPS_PROXY f'shell isewwi l-għodod tal-linja tal-kmand li jirrispettawh, u ma jagħmel xejn għal għodda li taqra l-fajl tas-settings tagħha stess. Gradle, Selenium u gRPC kull wieħed jikkonsulta l-konfigurazzjoni tiegħu, u proxy esportat f'terminal wieħed huwa inviżibbli għal daemon li jibda l-IDE.

L-għodod tal-kontenituri huma l-post tas-soltu fejn dan isir viżibbli. Il-loopback ta' kontenitur huwa tiegħu stess, għalhekk 127.0.0.1 ġewwa l-kontenitur qatt ma jfisser il-proxy tal-host; hija meħtieġa l-indirizz tal-host jew setting tan-netwerk tal-host. Sewwija li taħdem fis-shell u tfalli fil-build normalment hija din il-linja, mhux it-tunnel.

Is-saff tal-fiduċja: l-għodda taqra maħżen ieħor

L-interċettazzjoni hija t-tieni bidla, u tipproduċi l-aktar żbalji qarrieqa. Il-klijent jippreżenta ċ-ċertifikat tiegħu għall-konnessjonijiet spezzjonati, għalhekk browser li jafda l-għerq korporattiv jirnexxi filwaqt li għodda b'maħżen CA inkorporat tfalli. requests ta' Python permezz ta' certifi huwa l-każ klassiku: il-maħżen tas-sistema operattiva jista' jkun korrett u t-talba xorta tfalli, għax dak ir-runtime qatt ma jaqrah. It-test tal-iżball rari jsemmi l-interċettazzjoni, u għalhekk din il-linja tiġi djanjostikata ħażin bħala endpoint miksur.

Qabbel dak li l-endpoint fil-fatt jippreżenta ma' dak li l-għodda vvalidat. openssl s_client juri l-katina li bagħat is-server; l-output tal-validazzjoni tal-għodda stess juri x'iddeċidiet. Meta ma jaqblux, REQUESTS_CA_BUNDLE jew SSL_CERT_FILE hija l-lieva għal dak ir-runtime, u l-għerq korporattiv jappartjeni fil-maħżen li dak ir-runtime jaqra, mhux f'post globali li jirrispettaw biss xi għodod.

Bidla fil-verżjoni li ssewwi żball SSL hija evidenza dwar il-politika tal-fiduċja u ċ-ċifrar, mhux dwar il-VPN. Tnaqqis tal-verżjoni ta' Python li għamel klijent SOAP jaħdem bidel il-maħżen CA inkorporat u s-settings TLS awtomatiċi; it-triq tan-netwerk ma mxietx.

Is-saff tal-filtru: jista' jwaqqa' wkoll il-loopback

It-tielet bidla hija filtru tal-pakketti, u xi prodotti jinstallaw regoli li jwaqqgħu traffiku li ma jidħolx fit-tunnel. Jistgħu jiġu inklużi listeners lokali. Dan ibiddel socket li jaħdem f'konnessjoni miċħuda jew skaduta, u l-iżball li jirriżulta jidher bħala bug fl-applikazzjoni, mhux bħala politika fuq il-magna.

Is-sjieda tal-port hija n-nofs l-ieħor ta' dan is-saff. BindException ifisser li s-socket ma setax jinfetaħ, li hija falliment differenti minn konnessjoni miċħuda. Iċċekkja jekk proċess ieħor diġà għandux il-port qabel ma tagħti t-tort lill-filtru, imbagħad fittex regola li twaqqa' traffiku lokali u żid l-aktar permess dejjaq li jappoġġa l-prodott. Żewġ għodod li qed jikkompetu għall-istess port tad-debug jipproduċu eżattament l-istess messaġġ bħal blokk tal-politika, u waħda biss minnhom tissewwa b'bidla fil-firewall.

Il-port tad-debug ta' Chrome ifalli fl-istess familja. Il-browser jibda, ix-xufier ma jistax jilħaq l-endpoint ta' DevTools, u l-messaġġ isemmi DevTools minflok in-netwerk. Flags tal-bidu addizzjonali u manager tax-xufiera żejjed ibiddlu liema proċess għandu l-port, u għalhekk it-tneħħija tagħhom xi drabi tidher li ssewwi l-VPN.

Sewwi s-saff li falla

Sewwi s-saff li falla, mhux it-tunnel. Listener loopback li ma jistax jiġi milħuq jeħtieġ li jiġi korrett il-listener jew il-port tiegħu. Ċertifikat mhux affidabbli jeħtieġ l-għerq korporattiv installat fejn iħares dak ir-runtime speċifiku, bl-eċċezzjoni miżmuma dejqa. Filtru li jwaqqa' traffiku lokali jeħtieġ regola ta' permess speċifika minflok filtru diżattivat, għax id-diżattivazzjoni terġa' tiftaħ ukoll kull ħaġa oħra li kien qed jipproteġi.

Li terġa' tqabbad il-VPN ma tittestja l-ebda wieħed minn dawn is-saffi. Hija biss terġa' tmexxi l-bidla li kissritthom, u għalhekk l-istess tliet fallimenti jerġgħu lura wara kull qbil mill-ġdid u jisparixxu wara kull restart li jħalli l-klijent inattiv.

Artikli relatati