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

دوه ادعاوې، او یوازې یوه یې له لیدونکي پیلېږي

لومړۍ ادعا د یو کس په اړه ده: لیدونکی چې براوزر او معتبره ناسته لري کولی شي یو اپلیکیشن پرانیزي او نور هېڅ نه. یوازې ویب ته د ننوتلو نقطه دغې ادعا ته ښه ځواب ورکوي، ځکه لیدونکی پاڼه ترلاسه کوي نه لار. هغه ځواب د ساتلو وړ دی، او دا یوازینې ادعا هم ده چې ډېری ډیاګرامونه ثبتوي.

دویمه ادعا د یوې برخې په اړه ده: انګېرل کېږي چې دروازه، یا تر شا یې د اپلیکیشن بهیر، د بل چا تر کنټرول لاندې دی. له دې انګېرنې پوښتنه له دې چې کوم URLونه اجازه لري، هغې ته اوړي چې بهیر لا هم کومو منزلونو او هویتونو ته رسېدلی شي.

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

یوه کار شوې لګښت خدمت، او هغه دوه لارې چې پرې بایلېږي

یو لګښت خدمت واخلئ: په 10.60.4.10 کې عامه دروازه کارکوونکي تصدیقوي او منل شوې غوښتنې پورت 8443 کې د اپلیکیشن اورېدونکي ته لېږي، او هغه اپلیکیشن د expenses_app رول په توګه 10.60.4.20:5432 کې یو PostgreSQL اورېدونکي ته رسېږي. کارکوونکي باید عمومي داخلي لاسرسی ونه لري. په عادي کار کې ډیزاین واقعاً د معلوماتو زېرمې اورېدونکی چېرې هم نه خپرولو سره د اپلیکیشن ځانګړی ننوتل برابروي. پتې مهمې دي، ځکه په دې مقاله کې هر وروستی تفتیش هغوی ته نوم اخلي.

اوس دروازه له باوري ټولګې څخه وباسئ. 10.60.4.10 به د بریدګر شي وروسته کومو منزلونو ته رسېدلی شي؟ هغه URL فلټر چې لیدونکي یې محدودول، د دروازې کوربه لخوا د معلوماتو زېرمې فرعي شبکې ته د پرانیستل شوې اړیکې په اړه هېڅ نه وایي.

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

هر اړخ چې واقعاً کوم واک لري هغه نقشه کړئ

هغه تړون چې د پلان شوو اجازو په توګه لیکل شوی، ډېری وخت ډیزاین تاسو ته تکراروي. هغه د لرل شوي واک، د زیاتوالي ردولو تفتیش او د هغه تفتیش د مالک په توګه ولیکئ، نو هره کرښه د ازموینې وړ کېږي. دا جدول پورتني مثال لپاره وړاندیز دی، د محصول ادعا نه ده:

ComponentAuthority it actually holdsCheck that proves the denialOwner of the check
Identity providerIssues assertions and session cookies, and holds no network path of its ownA request to the application URL without a session is redirected to the login pageIdentity team
Public gateway hostTCP reachability to whatever its routing table and egress rules permitAn egress rule drops 10.60.4.20:5432 and the probe reports the port filteredNetwork platform team
Application roleSQL privileges granted to expenses_app inside the expenses databaseA privilege query shows no ownership or create right on any other schemaApplication team
Database listenerAccepts connections only from the source ranges named in its host-based rulesA connection from an unlisted address is refused before authenticationDatabase administrator
Management pathAdministrative access reserved for patching, monitoring and recoveryA staff workstation cannot reach the administrative port or jump through itPlatform owner

مالکیت واک تعقیبوي. د هویت ټیم ادعاوې لري، د شبکې پلیټفارم ټیم لارې لري، د اپلیکیشن ټیم د معلوماتو زېرمې رول لري، د معلوماتو زېرمې مدیر اورېدونکی او د هغه کوربه بنسټیز قواعد لري، او د پلیټفارم مالک د مدیریت سطحه لري. پرته له مالکه انکار په سند کې یوه جمله ده، کنټرول نه.

دا وېش دوه ځله شمېرنه هم بندوي. د پورت محدودیت د جدول امتیاز څرګندولی نه شي، او د معلوماتو زېرمې رول نه شي کولی کوربه له بې اړیکې فرعي شبکې ته د ساکټ پرانیستلو څخه ونیسي.

د دې پرځای چې ادعا وکړئ، هغه څه وشمېرئ چې دروازه ورته رسېدلی شي

د پولې ادعا یوازې د هغې تر شا د شمېرنې هومره ښه ده. د دروازې کوربه کې درې حکمونه د لارې ټاکنه، ژوندی تفتیش او د وتلو تګلاره پوښي:

ip route get 10.60.4.20
nc -zv 10.60.4.20 5432
sudo nft list chain inet filter output

پایلې په همدې ترتیب ولولئ. لاره وایي چې 10.60.4.20 له هغه کوربه څخه اصلاً ټاکل کېږي که نه؛ تفتیش وایي چې اورېدونکی ځواب ورکوي که نه؛ د قاعدو لړلیک ښیي چې تګلاره کڅوړه بندوي که په لاره کې یې هېڅکله څه نه وو.

له اپلیکیشن کوربه څخه شمېرنه تکرار کړئ. له هلته د معلوماتو زېرمې خوا د اپلیکیشن رول په توګه چلول شوې یوه پوښتنه ده:

psql -h 10.60.4.20 -U expenses_app -d expenses -c 'select rolname, rolsuper, rolcreatedb from pg_roles'

په داسې رول لاندې بریالۍ اړیکه چې بل سکیمه نه شي لوستلی، د مالک رول لاندې بریالۍ اړیکې څخه بېله پایله ده. یوازې دویمه یې یوه موندنه ده.

انکارونه ثبت کړئ، بیا بیاکتنې ته نېټه ورکړئ

مننه د ارادو پرځای د پایلو په توګه لیکل کېږي: د کارکوونکي ناسته اورېدونکي ته نه رسېږي، د دروازې کوربه بې اړیکې فرعي شبکې ته نه رسېږي، او د اپلیکیشن رول نه شي کولی معلومات زېرمه جوړه کړي. هر یو د نومول شوي مالک او نېټې سره جلا تفتیش دی.

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

بیاکتنې ته نېټه ورکړئ او د هغې مالک ونومئ. د دروازې انځور، د لارښوونې جدول یا د اپلیکیشن رول په هر بدلون وروسته شمېرنه او د امتیاز پوښتنه بیا چل کړئ.

اړوندې مقالې