Hvað getur vefgátt sem hefur verið brotist inn í enn náð?
Vefgátt takmarkar hvað gestur opnar, ekki hvað hýsill sem hefur verið brotist inn í getur tengst. Tvær úttektir, heimildatafla og skipanir til að mæla drægni.
Gerum ráð fyrir að hýsill gáttarinnar sé í hættu á meðan skírteini hans er enn gilt. Sérhver regla sem stýrði því hvaða síður gestur má biðja um helst í gildi, og engin þessara reglna takmarkar tenginguna sem árásarmaðurinn opnar nú frá þeim hýsli í átt að undirneti gagnagrunnsins. Þetta bil er ástæðan fyrir því að aðgangspunktur sem er aðeins vefur er ekki sama fullyrðing og skipt net. Fullyrðingarnar tvær þurfa aðskildar úttektir, frá mismunandi upphafspunktum, áður en hægt er að gera hvora um sig af heiðarleika.
Tvær fullyrðingar, og aðeins önnur þeirra byrjar hjá gestinum
Fyrri fullyrðingin snýst um einstakling: gestur með vafra og gilt setu getur opnað eitt forrit og ekkert annað. Aðgangspunktur sem er aðeins vefur svarar þeirri fullyrðingu vel, því gesturinn fær síðu en ekki leið. Það svar er þess virði að hafa, og það er líka eina fullyrðingin sem flest skýringarmyndir skrá.
Seinni fullyrðingin snýst um íhlut: gert er ráð fyrir að gáttin, eða forritsferlið fyrir aftan hana, sé undir stjórn einhvers annars. Frá þeirri forsendu breytist spurningin frá því hvaða URL eru leyfðar yfir í hvaða áfangastaði og auðkenni ferlið getur enn náð.
Fullyrðingarnar tvær hafa mismunandi eigendur, framleiða mismunandi sönnunargögn og bregðast óháð. Auðkennisteymi getur sýnt þá fyrri með setuprófi; sú seinni þarf netstefnu, endurskoðun þjónustureiknings og stýringar hýsilsins. Hönnun sem skráir aðeins helming gestarins virðist fullkomin á úttektarskífu og þunn á meðan atviki stendur, því stýringarnar sem skipta máli eftir innbrot hafa aldrei verið innan umfangs. Nefndu hvaða fullyrðingu hver stýring styður, annars verður ein gáttarregla lögð báðum til góða.
Útfærð útgjaldaljónusta, og tvær leiðir hennar til að tapa
Tökum útgjaldaljónustu: opinber gátt á 10.60.4.10 auðkennir starfsfólk og sendir samþykktar beiðnir til forritshlustara á porti 8443, og forritið nær einum PostgreSQL-hlustara á 10.60.4.20:5432 sem hlutverkið expenses_app. Starfsfólk á ekki að fá almenna innri aðgang. Í eðlilegri notkun veitir hönnunin sannarlega inngang sem er sérstakur fyrir forritið án þess að birta gagnagrunshlustarann hvar sem er. Aðsetrin skipta máli, því hver síðari prófun í þessari grein nefnir þau.
Fjarlægðu nú gáttina úr traustamenginu. Hvaða áfangastaði getur 10.60.4.10 náð þegar ferlið tilheyrir árásarmanni? URL-síurnar sem takmörkuðu gesti segja ekkert um tengingu sem hýsill gáttarinnar opnar í átt að undirneti gagnagrunnsins.
Fjarlægðu forritsferlið í staðinn, og heimildirnar breyta um lögun: hlutverkið expenses_app, þjónusturnar sem sá þjónn getur náð og skrárnar sem sá reikningur getur lesið. Í báðum tilvikum getur framdyrnar haldist aðeins vefur á meðan bakendamörkin vantar. Því er merkið á framdyrunum ekki svar við hvorri spurningunni.
Kortleggðu heimildirnar sem hver aðili hefur í raun
Sáttmáli sem er skrifaður sem fyrirhuguð leyfi hefur tilhneigingu til að endurtaka hönnunina fyrir þér. Skrifaðu hann sem haldna heimild, prófunina sem hrekur umframmagnið og eiganda þeirrar prófunar, og hver röð verður prófanleg. Þessi tafla er tillaga að dæminu hér að ofan, ekki vörufullyrðing:
| Component | Authority it actually holds | Check that proves the denial | Owner of the check |
|---|---|---|---|
| Identity provider | Issues assertions and session cookies, and holds no network path of its own | A request to the application URL without a session is redirected to the login page | Identity team |
| Public gateway host | TCP reachability to whatever its routing table and egress rules permit | An egress rule drops 10.60.4.20:5432 and the probe reports the port filtered | Network platform team |
| Application role | SQL privileges granted to expenses_app inside the expenses database | A privilege query shows no ownership or create right on any other schema | Application team |
| Database listener | Accepts connections only from the source ranges named in its host-based rules | A connection from an unlisted address is refused before authentication | Database administrator |
| Management path | Administrative access reserved for patching, monitoring and recovery | A staff workstation cannot reach the administrative port or jump through it | Platform owner |
Eignarhald fylgir heimildinni. Auðkennisteymið á fullyrðingarnar, netkerfisteymið á leiðirnar, forritsteymið á gagnagrunshlutverkið, gagnagrunnsstjórinn á hlustarann og reglur hans sem byggja á hýsli, og eigandi kerfis á stjórnunarplaninu. Synjun án eiganda er setning í skjali en ekki stýring.
Skiptingin kemur líka í veg fyrir tvöfalda talningu. Porrtakmörkun getur ekki tjáð töfluréttindi, og gagnagrunshlutverk getur ekki komið í veg fyrir að hýsill opni sökkul í ótengt undirnet.
Teldu upp hvað gáttin getur náð í stað þess að fullyrða það
Mörkfullyrðing er ekki betri en upptalningin fyrir aftan hana. Á hýsli gáttarinnar ná þrjár skipanir yfir leiðarval, lifandi prófun og útstefnu:
ip route get 10.60.4.20
nc -zv 10.60.4.20 5432
sudo nft list chain inet filter outputLestu úttakið í þeirri röð. Leiðin segir hvort 10.60.4.20 sé yfirleitt valin frá þeim hýsli; prófunin segir hvort hlustarinn svari; reglulistinn sýnir hvort stefnan stöðvi pakkann eða hvort ekkert hafi nokkurn tíma verið í leið hans.
Endurtaktu upptalninguna frá hýsli forritsins. Þaðan er gagnagrunnshliðin ein fyrirspurn sem keyrð er sem forritshlutverkið:
psql -h 10.60.4.20 -U expenses_app -d expenses -c 'select rolname, rolsuper, rolcreatedb from pg_roles'Árangursrík tenging undir hlutverki sem getur ekki lesið annað skema er önnur niðurstaða en árangursrík tenging undir eigandahlutverki. Aðeins sú seinni er fundur.
Skráðu synjanirnar og dagsettu þá úttektina
Samþykki er skrifað sem niðurstöður en ekki áform: seta starfsmanns getur ekki náð hlustaranum, hýsill gáttarinnar getur ekki náð ótengdu undirneti, og forritshlutverkið getur ekki búið til gagnagrunn. Hver er aðskilin prófun með nefndum eiganda og dagsetningu.
Haltu eftirliti, plástrun og endurheimt aðgengilegum um stjórnunarleiðina sem er hönnuð fyrir þau. Mörk sem loka líka á eiganda sinn verða bilun, og venjulega fyrsta viðbrögðin við þeirri bilun er að víkka regluna aftur. Jaðarleiðbeiningar CISA fara fram á að inn- og útgangur sé takmarkaður við réttmæt pört og samskiptareglur, þar á meðal umferð milli innri neta, sem er stefnan sem bakendi hefur frumkvæði að og flestar skýringarmyndir sleppa.
Dagsettu úttektina og nefndu eiganda hennar. Keyrðu upptalninguna og réttindafyrirspurnina aftur eftir hverja breytingu á mynd gáttarinnar, leiðartöflunni eða forritshlutverkinu.