Tanungin ang tatlong inhinyero kung paano maabot ang isang panloob na serbisyo at makakakuha ka ng tatlong disenyo: isang web proxy, isang SSH tunnel o isang buong VPN. Ang tatlo ay makakapaglagay ng malayong serbisyo sa abot, at ang tatlo ay makakagawa ng trapik na parang galing sa ibang lugar. Lumilitaw ang mga pagkakaiba mamaya, kapag ang protocol na ginagamit ay hindi ang inaasahan ng napiling tool. Ang disenyong pumasa sa mabilis na pagsusuri sa browser ay madalas na bigo sa application na nagtulak sa kahilingan.

Magpasya mula sa dalawang katotohanan: aling mga protocol ang dapat tumawid, at sino ang makakaresolba ng mga kasangkot na pangalan. Ang lahat ng iba ay kagustuhan.

Gumagalaw lamang ang proxy sa naiintindihan nito

Sinusuri ng web proxy ang protocol na ginawa para dito. Ibinibigay ng kliyente ang isang kahilingan at ipinapasa ito, kaya ang application na walang proxy setting ay hindi kailanman kasali. Para sa HTTPS kailangan ng kliyente ng opaque na channel, na ibinibigay ng proxy sa pamamagitan ng CONNECT sa halip na basahin ang kahilingan.

Ang dynamic na forward ng SSH ay nagbubukas ng lokal na port na nagsasalita ng SOCKS, at ipinapasa ng port na iyon ang TCP stream sa anumang destinasyon na pinangalanan ng kliyente. Ang mga protocol na nakabatay sa TCP ay karaniwang gumagana dito. Ang UDP ay hindi, maliban kung ang isang tool ay tahasang nagdagdag ng suporta. Ang lokal na forward ay mas makitid pa: isang lokal na port na naka-map sa isang fixed host at port, na nagsisilbi sa isang kilalang serbisyo at wala nang iba.

ssh -D 1080 user@bastion
ssh -L 8443:fileserver.internal:443 user@bastion

Gumagalaw ang VPN ng mga packet. Lahat ng iruruta ng kliyente papasok sa tunnel ay tumatawid dito, kasama ang UDP at ICMP, kaya bagay ito sa pangangailangan ng network kaysa sa isang koneksyon.

May dapat magresolba ng pangalan

Kapag ang target na pangalan ay umiiral lamang sa DNS ng malayong network, ang kahon na gumagawa ng paghahanap ay dapat makita ang zone na iyon. Ang web proxy ay gumagawa ng paghahanap mismo, kaya gumagana ang panloob na pangalan sa pamamagitan nito kahit hindi ito maresolba ng laptop. Ang SOCKS ay maaaring gumawi nang pareho, ngunit kung ipinapasa ng kliyente ang pangalan sa halip na kumonekta sa isang address na naresolba na nito. Ang pagpipiliang iyon ay nasa kliyente, hindi sa server.

Malinaw na ipinapakita ng curl ang paghahati: ipinapasa ng isang flag ang hostname sa proxy, isa pa ang nagreresolba nito nang lokal. Sa lokal na resolusyon, ang panloob na pangalan ay bigo bago pa man mapindot ang anumang tunnel, at sinisisi ng error ang proxy sa bagay na talagang desisyon ng DNS.

Ang VPN ay tumatagal ng ikatlong ruta sa pamamagitan ng pag-install ng pribadong resolver at search domain sa tabi ng mga ruta. Ito ay maginhawa, at lumilikha ito ng pamilyar na ilusyon: ang rutang umiiral na may resolver na hindi sumasagot ay mukhang patay na tunnel, kahit na umaabot ang mga packet sa kabilang panig.

Kapag isang labasan lamang ang pinapayagan ng network

Maraming corporate network ang pumapayag sa papalabas na koneksyon sa pamamagitan lamang ng authenticated na web proxy. OpenVPN at SSH ay parehong mapapagana doon, ang una sa pamamagitan ng pag-tunnel ng sarili nitong transportasyon sa proxy at ang pangalawa sa pamamagitan ng proxy command na nagpapatakbo ng maliit na CONNECT helper.

Ang mga tunnel na nakabatay sa TCP ay nakakaligtas sa hadlang iyon, at ang VPN na nakabatay sa UDP ay hindi, na nagpapaliwanag sa napakaraming configuration na gumagana sa bahay at bigo sa opisina. Ang pangalawang gastos ay madaling makaligtaan: ang TCP tunnel na dinadala sa loob ng proxied TCP connection ay may dalawang layer na nagsasagawa muli, at sa ilalim ng pagkawala ay natigil ang pares na iyon sa paraang walang layer na nagagawa nang mag-isa.

Ang pagkakadena ng mga tagapamagitan ay ibang tanong sa pagpili ng layer. Ang pagdaragdag ng pangalawang proxy o Tor ay nagbabago kung sino ang nagmamasid sa ano, at ang posisyon sa kadena ang nagpapasya kung aling hop ang nakakakita ng ciphertext.

Mas mahalaga ang pagkakasunod-sunod kaysa bilang ng mga hop. Ang panlabas na hop ay nanonood ng naka-encrypt na stream habang ang panloob ay nakakakita ng plaintext na dinadala nito, kaya ang kadena ay kasing-pribado ng pinaka-walang-ingat na kawing nito. Ang paghahalo ng mga protocol sa mga hop ay hindi awtomatikong nagpapabuti niyon. Karamihan ay pinapahirap nitong isipin ang mga paraan ng pagkasira.

Ang pekeng address ay hindi isa sa mga pagpipilian

Ang paggawa ng mga packet gamit ang source address ng iba ay walang naidudulot na kapaki-pakinabang: ang mga tugon ay pumupunta sa tunay na may-ari, at itinatapon ng karamihan ng network ang trapik. Kailangan ang tagapamagitan dahil mismo hindi kayang imbentuhin ang pinagmulan, at iyon ang tapat na katwiran ng lahat ng tatlong disenyo.

Nililimitahan din nito ang maaaring iangkin ng alinman sa kanila. Ang magmukhang nagmumula sa isang partikular na address ay tanong tungkol sa kung saan legal na inilalaan ang address na iyon at sino ang maaaring mag-ruta nito, hindi tungkol sa kung aling tool ang makakagawa ng pekeng header. Kung ipinapalagay ng isang disenyo ang kabaligtaran, nabigo ang palagay sa unang provider na nag-filter nito. Isulat ang palagay upang makilala ang kabiguan kapag dumating ito.

Magpasya sa pamamagitan ng protocol at pangalan

Gumamit ng proxy kapag ang isang web client ay nangangailangan ng isang web service at may proxy setting. Gumamit ng SSH tunnel kapag sapat ang ilang kilalang TCP service at mayroon nang SSH access. Gumamit ng VPN kapag bahagi ng pangangailangan ang maraming application, trapik na hindi TCP, pribadong DNS o magagamit muli na landas.

Pagkatapos ay i-verify gamit ang tunay na kliyente at tunay na pangalan. Ang pag-load ng pahina sa proxy ay walang itinuturo sa iyo tungkol sa UDP, at ang pagpapagana ng isang tool sa SOCKS ay walang itinuturo tungkol sa system resolver. Basahin kung aling lokal na address ang ikinabit ng proseso at aling resolver ang sumagot. Iyon ang pagkakaiba ng landas na gumagana at ng isang basta nagkataong gumana minsan.

Kaugnay na mga artikulo