له درې انجینرانو وپوښته چې څنګه یوې داخلي خدمت ته ورسیږو، او درې بېلابېل ډیزاینونه به ترلاسه کړې: یو ویب پراکسي، یو SSH ټنل یا یو بشپړ VPN. درې واړه کولی شي یو لرې خدمت د لاسرسي وړ کړي، او درې واړه کولی شي ترافیک داسې ښکاره کړي لکه له بل ځایه راغلی. توپیرونه وروسته ښکاري، کله چې کارول شوی پروتوکول هغه نه وي چې ټاکل شوي وسیلې فرض کړی. هغه ډیزاین چې د براوزر ژر ازموینه بریالۍ کوي، معمولاً په هغه اپلیکیشن کې ناکام کیږي چې غوښتنه یې هڅولې وه.

له دوو حقایقو تصمیم ونیسه: کوم پروتوکولونه باید تیر شي، او څوک کولی شي په کې شامل نومونه حل کړي. نور هر څه غوره توب دی.

پراکسي یوازې هغه څه لېږدوي چې پوهیږي یې

ویب پراکسي هغه پروتوکول تحلیلوي چې د هغه لپاره جوړ شوی. کلاینټ هغې ته یوه غوښتنه ورکوي او هغه هغه غوښتنه بلې خوا ته لېږدوي، نو هغه اپلیکیشن چې د پراکسي تنظیم نلري هېڅکله برخه نه اخلي. د HTTPS لپاره کلاینټ یو ناڅرګند چینل ته اړتیا لري، چې پراکسي هغه د غوښتنې لوستلو پرځای د CONNECT له لارې برابروي.

د SSH متحرک فوروارډ یو محلي پورټ خلاصوي چې SOCKS وایي، او هغه پورټ یو TCP جریان هغې منزل ته لېږدوي چې کلاینټ یې نوموي. په TCP جوړ پروتوکولونه معمولاً د هغې له لارې کار کوي. UDP نه کوي، پرته له دې چې یوه وسیله په څرګنده توګه ملاتړ ورزیات کړي. محلي فوروارډ بیا لا تنګ دی: یو محلي پورټ یو ثابت هوسټ او پورټ ته نقشه شوی، چې یوازې یو پیژندل شوی خدمت او نور هېڅ نه خدمت کوي.

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

VPN پاکټونه لېږدوي. هر هغه څه چې کلاینټ ټنل ته رونټ کوي هغه تیریږي، په شمول UDP او ICMP، ځکه نو د شبکې اړتیا لپاره ځای لري نه د یوې اړیکې لپاره.

یو څوک باید نوم حل کړي

کله چې هدف نوم یوازې د لرې شبکې په DNS کې وي، هغه بکس چې پلټنه کوي باید هغه زون وویني. ویب پراکسي پلټنه پخپله کوي، نو داخلي نوم د هغې له لارې کار کوي حتی کله چې لپټاپ نوم هېڅ حل نه شي کولی. SOCKS همداسې رفتار کولی شي، خو یوازې هغه وخت چې کلاینټ نوم ولېږدوي، نه دا چې له مخکې حل شوې پتې سره وصل شي. دا انتخاب په کلاینټ کې دی، نه په سرور کې.

curl دا ویش روښانه ښیي: یوه نښه هوسټ نوم پراکسي ته ورکوي، بله یې لومړی په محلي ډول حل کوي. د محلي حل سره یوازې داخلي نوم د دې مخکې ناکام کیږي چې کوم ټنل ته لاس ووهل شي، او تېروتنه پراکسي تورنوي د هغه څه لپاره چې واقعاً د DNS پریکړه وه.

VPN دریمه لار غوره کوي: خصوصي حلکوونکی او د لټون ډومین د رونټونو ترڅنګ ځای پرځای کوي. دا اسانه دی، او یو پیژندل شوی توهم جوړوي: هغه رونټ چې شته خو حلکوونکی ځواب نه ورکوي، په بشپړه توګه د مړ ټنل په څېر ښکاري، که څه هم پاکټونه بلې خواته رسیږي.

کله چې شبکه یوازې یو وتل اجازه ورکوي

ډیرې کارپوریټ شبکې بهرنۍ اړیکې یوازې د تصدیق شوي ویب پراکسي له لارې اجازه ورکوي. OpenVPN او SSH دواړه هلته کار کولی شي، لومړی خپل ټرانسپورټ د پراکسي له لارې ټنل کوي او دویم د پراکسي کمان له لارې چې یو کوچنی CONNECT مرستندوی چلوي.

په TCP جوړ شوي ټنلونه هغه محدودیت ژغوري، او په UDP ولاړ VPN نه، چې ډیرې هغه ترتیبات تشریح کوي چې کور کې کار کوي او دفتر کې ناکام کیږي. دویم لګښت په اسانۍ له پامه غورځیږي: په پراکسي شوې TCP اړیکه کې لېږل شوی TCP ټنل اوس دوه طبقې لري چې بیا بیا لېږي، او د زیان په حالت کې دا جوړه داسې بنده شي چې هېڅ طبقه یې یوازې نه جوړوي.

د منځګړو زنځیر کول له طبقې ټاکلو څخه بېله پوښتنه ده. دویم پراکسي یا Tor ورزیاتول بدلوي چې څوک څه ګوري، او په زنځیر کې ځای ټاکي چې کوم پړاو کوډ شوی متن ویني.

ترتیب د پړاوونو له شمېر څخه ډیر اهمیت لري. بهرنی پړاو یو کوډ شوی جریان ګوري پداسې حال کې چې داخلي پړاو هغه روښانه متن ویني چې لېږدوي یې، نو زنځیر یوازې هومره خصوصي دی څومره چې ترټولو بې احتیاطه کړۍ یې. په پړاوونو کې پروتوکولونه ګډول دا په اتوماتيک ډول نه ښه کوي. ډیر ځله یوازې د ناکامۍ حالتونو په اړه فکر کول سختوي.

جعل شوې پته یو له انتخابونو څخه نه ده

د بل چا د سرچینې پتې سره پاکټونه جوړول هېڅ ګټور نه ترلاسه کوي: ځوابونه ریښتیني مالک ته ځي، او ډیرې شبکې ترافیک په بشپړه توګه غورځوي. منځګړی په دې خاطر اړین دی چې سرچینه نشي جوړولی، او دا د درېواړو ډیزاینونو رښتینی توجیه ده.

دا هم محدودوي چې هره یوه یې څه ادعا کولی شي. د یوې ځانګړې پتې څخه د سرچینې ښکارېدل د دې پوښتنه ده چې هغه پته په قانوني ډول چېرته ورکړل شوې او څوک یې رونټ کولی شي، نه د دې چې کومه وسیله سرلیک جعلي کولی شي. که یو ډیزاین بل ډول فرض کوي، هغه فرض په لومړني هغه چمتوکوونکي کې ناکام کیږي چې فلټر یې کوي. فرض ولیکه ترڅو ناکامي د راتلو په وخت پیژندل شي.

د پروتوکولونو او نومونو له مخې پریکړه وکړه

پراکسي ته مخه کړه کله چې یو ویب کلاینټ یو ویب خدمت ته اړتیا لري او د پراکسي تنظیمات لري. SSH ټنل ته مخه کړه کله چې څو پیژندل شوي TCP خدمتونه کافي وي او SSH لاسرسی مخکې شته. VPN ته مخه کړه کله چې څو اپلیکیشنونه، غیر TCP ترافیک، خصوصي DNS یا بیا کارېدونکې لاره د اړتیا برخه وي.

بیا د ریښتیني کلاینټ او ریښتیني نوم سره ازمویه. د پراکسي له لارې پاڼه لوستل تاته د UDP په اړه هېڅ نه ښیي، او یوه وسیله د SOCKS له لارې چلول تاته د سیسټم حلکوونکي په اړه هېڅ نه ښیي. ولوله چې پروسه کومه محلي پته وتړله او کوم حلکوونکي ځواب ورکړ. دا هغه توپیر دی چې د یوې کار کوونکې لارې او هغې لارې ترمنځ دی چې یوازې یو ځل په تصادف کار وکړ.

اړوندې مقالې